~dangarner/xibo/client-132

« back to all changes in this revision

Viewing changes to server/lib/pages/user.class.php

MergedĀ ~dangarner/xibo/server-layout-media-permissions

Show diffs side-by-side

added added

removed removed

Lines of Context:
316
316
                                        <tr>
317
317
                                                <th>Name</th>
318
318
                                                <th>Homepage</th>
319
 
                                                <th>Layout</th>
320
319
                                                <th>Email</th>
321
320
                                                <th>Action</th>
322
321
                                        </tr>
344
343
                                $loggedin="<img src=\"img/disact.gif\">";
345
344
                        }
346
345
                        
347
 
                        //parse the homepage name, split into & seperated bits.
348
 
                        $homepageArray = explode('&', $homepage);
349
 
                        
350
 
                        if (count($homepageArray) > 1)
351
 
                        {
352
 
                                list($temp, $layoutid) = explode('=', $homepageArray[1]);
353
 
                        
354
 
                                //Look up the layout name
355
 
                                $SQL = "SELECT layout FROM layout WHERE layoutID = $layoutid ";
356
 
                                if (!$result = $db->query($SQL))
357
 
                                {
358
 
                                        trigger_error("Incorrect home page setting, please contact your system admin.", E_USER_ERROR);
359
 
                                }
360
 
                                
361
 
                                $row = $db->get_row($result);
362
 
                                
363
 
                                $layout = $row[0];
364
 
                        }
365
 
                        else
366
 
                        {
367
 
                                $layout = "";
368
 
                        }
369
346
 
370
 
                        if($_SESSION['usertype'] == 1 ||($userID == $_SESSION['userid'])) 
 
347
                        if($this->user->usertypeid == 1)
371
348
                        {
372
349
                                $table .= '<tr ondblclick="XiboFormRender(\'index.php?p=user&q=DisplayForm&userID=' . $userID . '\')">';
373
350
                        }
376
353
                                $table .= "<tr>";
377
354
                        }
378
355
                        $table .= "<td>" . $userName . "</td>";
379
 
                        $table .= "<td>" . $homepageArray[0] . "</td>";
380
 
                        $table .= "<td>" . $layout . "</td>";
 
356
                        $table .= "<td>" . $homepage . "</td>";
381
357
                        $table .= "<td>" . $email . "</td>";
382
358
                        $table .= "<td>";
383
359
                        
384
 
                        if($_SESSION['usertype'] == 1 ||($userID == $_SESSION['userid'])) 
 
360
                        if($this->user->usertypeid == 1)
385
361
                        {
386
362
                            $msgPageSec = __('Page Security');
387
363
                            $msgMenuSec = __('Menu Security');
388
364
                            $msgApps    = __('Applications');
 
365
                            $msgHomepage        = __('Set Homepage');
389
366
 
390
367
                            $table .= '<button class="XiboFormButton" href="index.php?p=user&q=DisplayForm&userID=' . $userID . '"><span>Edit</span></button>';
391
368
                            $table .= '<button class="XiboFormButton" href="index.php?p=user&q=DeleteForm&userID=' . $userID . '" ><span>Delete</span></button>';
392
369
                            $table .= '<button class="XiboFormButton" href="index.php?p=group&q=PageSecurityForm&groupid=' . $groupid . '"><span>' . $msgPageSec . '</span></button>';
393
370
                            $table .= '<button class="XiboFormButton" href="index.php?p=group&q=MenuItemSecurityForm&groupid=' . $groupid . '"><span>' . $msgMenuSec . '</span></button>';
394
371
                            $table .= '<button class="XiboFormButton" href="index.php?p=oauth&q=UserTokens&userID=' . $userID. '"><span>' . $msgApps . '</span></button>';
 
372
                            $table .= '<button class="XiboFormButton" href="index.php?p=user&q=SetUserHomePageForm&userid=' . $userID. '"><span>' . $msgHomepage . '</span></button>';
395
373
                        }
396
374
                        $table .= "</td>";
397
375
                        $table .= "</tr>";
586
564
                                    <td><label for="email">Email Address<span class="required email">*</span></label></td>
587
565
                                    <td>$emailHelp <input type="text" id="email" name="email" value="$email" class="required" /></td>
588
566
                            </tr>
589
 
                            <!-- $homepageOption -->
 
567
                            $homepageOption
590
568
                            $usertypeOption
591
569
                    </table>
592
570
            </form>
628
606
                $response->Respond();
629
607
        }
630
608
        
631
 
        /**
632
 
         * Sets the users home page
633
 
         * @return 
634
 
         */
635
 
        function SetUserHomepageForm()
636
 
        {
637
 
                $db             =& $this->db;
638
 
                $response       = new ResponseManager();
639
 
                $layoutid       = Kit::GetParam('layoutid', _REQUEST, _INT, 0);
640
 
                $regionid       = Kit::GetParam('regionid', _REQUEST, _STRING);
641
 
                
642
 
                //Homepages are for layouts / region combinations
643
 
                //The user doesnt have to have access to the layout.
644
 
                
645
 
                //There should be a list of users on this form - that list should change according to permissions
646
 
                //Permissions being related to the logged in user (can they change the users records)
647
 
                //                                                              the layout they are on (does the user have permission for it)
648
 
                
649
 
                //Get the layout owner and permissions
650
 
                $SQL = "SELECT userID, permissionID FROM layout WHERE layoutID = $layoutid ";
651
 
                if (!$result = $db->query($SQL)) 
652
 
                {
653
 
                        trigger_error($db->error());
654
 
                        trigger_error("Cant get this regions permissions details.", E_USER_ERROR);                      
655
 
                }
656
 
                
657
 
                $row = $db->get_row($result);
658
 
                
659
 
                $layoutOwnerID          = $row[0];
660
 
                $layoutPermissionID = $row[1];
661
 
                
662
 
                //Query for the user list
663
 
                $SQL = " SELECT userID, username, $layoutPermissionID, $layoutOwnerID ";
664
 
                $SQL .= " FROM  user  ";                
665
 
                if ($_SESSION['usertype'] != "1") //if we arnt an admin then only show us.
666
 
                {
667
 
                        $SQL .= " WHERE userID = " . $_SESSION['userid'];
668
 
                }
669
 
                $SQL .= " ORDER BY username  ";
670
 
                
671
 
                $user_list = dropdownlist($SQL, "userid", '', '', false, true, "", "edit", true);
672
 
                
673
 
                $form = <<<END
674
 
                <form class="XiboForm" action="index.php?p=user&q=SetUserHomepage" method="post">
675
 
                        <input type="hidden" name="layoutid" value="$layoutid" />
676
 
                        <input type="hidden" name="regionid" value="$regionid" />
677
 
                        Set this region to be the homepage for: <br /><br /> $user_list 
678
 
                        <input type="submit" value="Yes" />
679
 
                        <input type="submit" value="No" onclick="$('#div_dialog').dialog('close');return false; ">
680
 
                </form>
 
609
    /**
 
610
     * Sets the users home page
 
611
     * @return
 
612
     */
 
613
    function SetUserHomepageForm()
 
614
    {
 
615
        $db =& $this->db;
 
616
        $response = new ResponseManager();
 
617
        $userid = Kit::GetParam('userid', _GET, _INT);
 
618
 
 
619
        $listValues = array(array('homepage' => 'dashboard'), array('homepage' => 'mediamanager'));
 
620
 
 
621
        $msgHomePage = __('Homepage');
 
622
        $homePageList = Kit::SelectList('homepage', $listValues, 'homepage', 'homepage', $this->user->GetHomePage($userid));
 
623
 
 
624
        $form = <<<END
 
625
        <form id="SetUserHomePageForm" class="XiboForm" action="index.php?p=user&q=SetUserHomepage" method="post">
 
626
        <input type="hidden" name="userid" value="$userid" />
 
627
        <table>
 
628
            <tr>
 
629
                <td><label for="homepage">$msgHomePage</label></td>
 
630
                <td>$homePageList</td>
 
631
            </tr>
 
632
        </table>
 
633
        </form>
681
634
END;
682
 
                
683
 
                $response->SetFormRequestResponse($form, 'Set as the home page for a User?', '350px', '150px');
684
 
                $response->Respond();
685
 
        }
686
 
        
687
 
        /**
688
 
         * Sets the users homepage
689
 
         * @return 
690
 
         */
691
 
        function SetUserHomepage()
692
 
        {
693
 
                $db             =& $this->db;
694
 
                $response       = new ResponseManager();
695
 
 
696
 
                $userid         = Kit::GetParam('userid', _POST, _INT, 0);
697
 
                $layoutid       = Kit::GetParam('layoutid', _POST, _INT, 0);
698
 
                $regionid       = Kit::GetParam('regionid', _POST, _STRING);
699
 
                
700
 
                $homepage       = "mediamanager&layoutid=$layoutid&regionid=$regionid";
701
 
                
702
 
                $SQL = sprintf("UPDATE user SET homepage = '%s' WHERE userID = $userid ", $homepage);
703
 
                
704
 
                if (!$db->query($SQL)) 
705
 
                {
706
 
                        trigger_error($db->error());
707
 
                        $response->SetError('Unknown error setting this users homepage.');
708
 
                        $response->Respond();
709
 
                }
710
 
                
711
 
                $response->SetFormSubmitResponse('Homepage has been set.');
712
 
                $response->Respond();
713
 
        }
 
635
 
 
636
        $response->SetFormRequestResponse($form, __('Set the homepage for this user'), '350px', '150px');
 
637
        $response->AddButton(__('Cancel'), 'XiboDialogClose()');
 
638
        $response->AddButton(__('Save'), '$("#SetUserHomePageForm").submit()');
 
639
        $response->Respond();
 
640
    }
 
641
 
 
642
    /**
 
643
     * Sets the users homepage
 
644
     * @return
 
645
     */
 
646
    function SetUserHomepage()
 
647
    {
 
648
        $db =& $this->db;
 
649
        $response = new ResponseManager();
 
650
 
 
651
        if (!$this->user->usertypeid == 1)
 
652
            trigger_error(__('You do not have permission to change this users homepage'));
 
653
 
 
654
        $userid = Kit::GetParam('userid', _POST, _INT, 0);
 
655
        $homepage = Kit::GetParam('homepage', _POST, _WORD);
 
656
 
 
657
        $SQL = sprintf("UPDATE user SET homepage = '%s' WHERE userID = %d", $homepage, $userid);
 
658
 
 
659
        if (!$db->query($SQL))
 
660
        {
 
661
            trigger_error($db->error());
 
662
            $response->SetError(__('Unknown error setting this users homepage'));
 
663
            $response->Respond();
 
664
        }
 
665
 
 
666
        $response->SetFormSubmitResponse(__('Homepage has been set'));
 
667
        $response->Respond();
 
668
    }
714
669
 
715
670
    /**
716
671
     * Shows the Authorised applications this user has
733
688
            trigger_error(__('Error listing Log.'), E_USER_ERROR);
734
689
        }
735
690
 
736
 
        $output .= '<div class="info_table">';
 
691
        $output  = '<div class="info_table">';
737
692
        $output .= '    <table style="width:100%">';
738
693
        $output .= '        <thead>';
739
694
        $output .= sprintf('    <th>%s</th>', __('Application'));