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())); }
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)); }
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')); }