Example #1
0
 function __construct($getCurrentValues = true)
 {
     parent::__construct();
     $userPreferences = UserPreferences::instance();
     $this->setModuleName('contacts');
     $roleCollection = new RoleCollection();
     $sh = new SearchHandler($roleCollection, false);
     $sh->AddConstraint(new Constraint('usercompanyid', '=', EGS_COMPANY_ID));
     $sh->setOrderby('name');
     $roleCollection->load($sh);
     $roles = array();
     foreach ($roleCollection->getContents() as $role) {
         $roles[$role->id] = array('value' => $role->id, 'label' => $role->name);
         if ($getCurrentValues) {
             if (in_array($role->id, $userPreferences->getPreferenceValue('default-read-roles', 'contacts'))) {
                 $roles[$role->id]['selected'] = true;
             }
         }
     }
     $this->registerPreference(array('name' => 'default-read-roles', 'display_name' => 'Default Read Access', 'type' => 'select_multiple', 'data' => $roles, 'default' => array()));
     foreach ($roleCollection->getContents() as $role) {
         $roles[$role->id] = array('value' => $role->id, 'label' => $role->name);
         if ($getCurrentValues) {
             if (in_array($role->id, $userPreferences->getPreferenceValue('default-write-roles', 'contacts'))) {
                 $roles[$role->id]['selected'] = true;
             }
         }
     }
     $this->registerPreference(array('name' => 'default-write-roles', 'display_name' => 'Default Write Access', 'type' => 'select_multiple', 'data' => $roles, 'default' => array()));
 }
Example #2
0
 function __construct($getCurrentValues = true, $model = 'UserPreferences', $username = EGS_USERNAME)
 {
     parent::__construct();
     $userPreferences = $model::instance($username);
     $this->setModuleName('shared');
     // items-per-page
     if ($getCurrentValues) {
         $num_items = $userPreferences->getPreferenceValue('items-per-page', 'shared');
     } else {
         $num_items = 10;
     }
     $this->registerPreference(array('name' => 'items-per-page', 'display_name' => 'Items to display per page', 'type' => 'select', 'value' => $num_items, 'data' => array(array('label' => 5, 'value' => 5), array('label' => 10, 'value' => 10), array('label' => 15, 'value' => 15), array('label' => 20, 'value' => 20), array('label' => 25, 'value' => 25), array('label' => 30, 'value' => 30), array('label' => 35, 'value' => 35), array('label' => 40, 'value' => 40), array('label' => 45, 'value' => 45), array('label' => 50, 'value' => 50)), 'default' => '10', 'position' => 1));
     // default_printer
     $printerlist = array();
     foreach (printController::selectPrinters() as $key => $printer) {
         $printerlist[] = array('label' => $printer, 'value' => $key);
     }
     if ($getCurrentValues) {
         $current_printer = $userPreferences->getPreferenceValue('default_printer', 'shared');
     } else {
         $current_printer = '';
     }
     $this->registerPreference(array('name' => 'default_printer', 'display_name' => 'Default Printer', 'type' => 'select', 'value' => $current_printer, 'data' => $printerlist, 'default' => '', 'position' => 2));
     // password change
     if ($username == EGS_USERNAME) {
         $this->registerField(array('name' => 'current_password', 'display_name' => 'Current Password', 'type' => 'password', 'value' => '', 'position' => 3));
         $this->registerHandledPreference(array('name' => 'new_password', 'display_name' => 'New Password', 'type' => 'password', 'value' => '', 'position' => 4, 'callback' => 'changePassword'));
         $this->registerField(array('name' => 'confirm_password', 'display_name' => 'Confirm Password', 'type' => 'password', 'value' => '', 'position' => 5));
     }
     // pdf-preview/pdf-browser-printing
     if ($getCurrentValues) {
         $pdf_preview = $userPreferences->getPreferenceValue('pdf-preview', 'shared');
         $pdf_browser_printing = $userPreferences->getPreferenceValue('pdf-browser-printing', 'shared');
     } else {
         $pdf_preview = 'off';
         $pdf_browser_printing = 'off';
     }
     $this->registerPreference(array('name' => 'pdf-preview', 'display_name' => 'Enable PDF Preview', 'type' => 'checkbox', 'status' => empty($pdf_preview) || $pdf_preview == 'off' ? 'off' : 'on', 'default' => 'off', 'position' => 6));
     $this->registerPreference(array('name' => 'pdf-browser-printing', 'display_name' => 'Enable browser PDF printing', 'type' => 'checkbox', 'status' => empty($pdf_browser_printing) || $pdf_browser_printing == 'off' ? 'off' : 'on', 'default' => 'off', 'position' => 7));
     // default_page
     $modulelist = array();
     // Get modules user has access to
     $ao = AccessObject::instance();
     $per = DataObjectFactory::Factory('Permission');
     $permissions = $ao->getUserModules($username);
     if (!empty($permissions)) {
         foreach ($permissions as $permission) {
             $modulelist[] = array('label' => $permission['title'], 'value' => strtolower($per->getEnum('type', $permission['type'])) . ',' . $permission['permission']);
         }
     }
     if ($getCurrentValues) {
         $default_page = $userPreferences->getPreferenceValue('default_page', 'shared');
     } else {
         $default_page = '';
     }
     $this->registerPreference(array('name' => 'default_page', 'display_name' => 'Home page', 'type' => 'select', 'value' => $default_page, 'data' => $modulelist, 'default' => '', 'position' => 8));
 }
Example #3
0
 function __construct($getCurrentValues = true)
 {
     parent::__construct();
     $userPreferences = UserPreferences::instance();
     $this->setModuleName('calendar');
     $view = 'day';
     if ($getCurrentValues) {
         $view = $userPreferences->getPreferenceValue('default-calendar-view', 'calendar');
     }
     $this->registerPreference(array('name' => 'default-calendar-view', 'display_name' => 'Default View', 'type' => 'select', 'value' => $view, 'data' => array(array('label' => 'Day', 'value' => 'day'), array('label' => 'Week', 'value' => 'week'), array('label' => 'Month', 'value' => 'month')), 'default' => 'week'));
 }