public function index()
 {
     $post = array('alert' => '');
     // Model::load('admincp/setting');
     if ($match = Uri::match('\\/setting\\/(\\w+)')) {
         if (method_exists("controlSetting", $match[1])) {
             $method = $match[1];
             $this->{$method}();
             die;
         }
     }
     if (Request::has('btnSave')) {
         System::saveSetting(Request::get('general'));
     }
     $data = array();
     if (!($data = Cache::loadKey('systemSetting', -1))) {
         $data = System::makeSetting();
     } else {
         $data = unserialize($data);
     }
     $post = $data;
     $post['usergroups'] = UserGroups::get();
     System::setTitle('Setting System - ' . ADMINCP_TITLE);
     View::make('admincp/head');
     self::makeContents('settingGeneral', $post);
     View::make('admincp/footer');
 }
Example #2
0
 public function test_get_all()
 {
     $groups_before = UserGroups::get_all();
     UserGroup::create(array('name' => 'testcasegroup'));
     $groups_after = UserGroups::get_all();
     $this->assert_not_equal(count($groups_before), count($groups_after));
     $this->assert_not_identical($groups_before, $groups_after);
     UserGroup::get('testcasegroup')->delete();
 }
 /**
  * Simple plugin configuration
  * @return FormUI The configuration form
  **/
 public function configure()
 {
     $form = new FormUI('loginredirectgroup');
     $groups = array();
     foreach (UserGroups::get_all() as $group) {
         $groups[$group->id] = $group->name;
     }
     $form->append(new FormControlCheckboxes('group', 'lrg__group', _t("If you're any of these groups:"), $groups));
     $form->append(new FormControlText('url', 'lrg__url', _t('Redirect to this URL after login:'******'save', _t('Save')));
     return $form;
 }
 public function configure()
 {
     $form = new FormUI(strtolower(get_class($this)));
     $form->append('checkbox', 'standalone', 'register__standalone', sprintf(_t('Show standalone <a href="%s">registration form</a>', __CLASS__), URL::get('register_page')));
     $groups = UserGroups::get_all();
     $options = array();
     foreach ($groups as $group) {
         $options[$group->id] = $group->name;
     }
     $form->append('select', 'group', strtolower(get_class($this)) . '__group', _t('Default group:', __CLASS__), $options);
     $form->append('submit', 'save', _t('Save'));
     $form->out();
 }
function insertProcess()
{
    $send = Request::get('send');
    $valid = Validator::make(array('send.group_title' => 'min:1|slashes', 'send.groupdata' => 'min:1|slashes'));
    if (!$valid) {
        throw new Exception("Error Processing Request");
    }
    $title = trim(Request::get('send.group_title'));
    $loadData = UserGroups::get(array('where' => "where group_title='{$title}'"));
    if (isset($loadData[0]['groupdata'])) {
        throw new Exception("This group have been exists.");
    }
    $content = trim(Request::get('send.groupdata'));
    $insertData = array('group_title' => $title, 'groupdata' => $content);
    UserGroups::insert($insertData);
}
Example #6
0
 public function action_form_publish_proposal($form, $post)
 {
     $users = Users::get_all();
     $client_options = array();
     foreach ($users as $user) {
         if ($user->client) {
             $client_options[$user->id] = $user->client->title . ' : ' . $user->displayname;
         }
     }
     $form->insert('content', new FormControlSelect('client_contact', $post, 'Client Contact', $client_options, 'admincontrol_select'));
     $group = UserGroups::get(array('id' => Options::get('staff__group'), 'fetch_fn' => 'get_row'));
     $user_options = array();
     foreach ($group->users as $user) {
         $user_options[$user->id] = $user->displayname;
     }
     $form->insert('content', new FormControlSelect('staff', $post, 'Staff', $user_options, 'admincontrol_select'));
 }
 public function edit()
 {
     if (!($match = Uri::match('\\/edit\\/(\\d+)'))) {
         Redirect::to(ADMINCP_URL . 'usergroups/');
     }
     $groupid = $match[1];
     $post = array('alert' => '');
     if (Request::has('btnSave')) {
         try {
             updateProcess($groupid);
             $post['alert'] = '<div class="alert alert-success">Save changes success.</div>';
         } catch (Exception $e) {
             $post['alert'] = '<div class="alert alert-warning">' . $e->getMessage() . '</div>';
         }
     }
     $loadData = UserGroups::get(array('where' => "where groupid='{$groupid}'"));
     $post['edit'] = $loadData[0];
     System::setTitle('Edit group - ' . ADMINCP_TITLE);
     View::make('admincp/head');
     self::makeContents('usergroupsEdit', $post);
     View::make('admincp/footer');
 }
 public function index()
 {
     $controlName = 'admincp/controlDashboard';
     if (Cookie::has('userid')) {
         $valid = UserGroups::getPermission(Users::getCookieGroupId(), 'can_view_admincp');
         if ($valid != 'yes') {
             Alert::make('You not have permission to view this page');
         }
         $controlName = 'admincp/controlDashboard';
         $default_adminpage_method = trim(System::getSetting('default_adminpage_method', 'none'));
         if ($default_adminpage_method == 'url') {
             $default_adminpage = trim(System::getSetting('default_adminpage_url', 'admincp/'));
             if ($default_adminpage != 'admincp/' && System::getUri() == 'admincp/') {
                 $beginUri = 'admincp';
                 if ($default_adminpage[0] != '/') {
                     $beginUri .= '/';
                 }
                 System::setUri($beginUri . $default_adminpage);
             }
         }
         if ($match = Uri::match('^admincp\\/(\\w+)')) {
             $controlName = 'admincp/control' . ucfirst($match[1]);
         }
     } else {
         $controlName = 'admincp/controlLogin';
         if ($match = Uri::match('^admincp\\/forgotpass')) {
             $controlName = 'admincp/controlForgotpass';
         }
     }
     $codeHead = Plugins::load('admincp_header');
     $codeHead = is_array($codeHead) ? '' : $codeHead;
     $codeFooter = Plugins::load('admincp_footer');
     $codeFooter = is_array($codeFooter) ? '' : $codeFooter;
     // print_r($codeHead);die();
     System::defineGlobalVar('admincp_header', $codeHead);
     System::defineGlobalVar('admincp_footer', $codeFooter);
     Controller::load($controlName);
 }
 public function action_plugin_ui_configure()
 {
     // get the groups list for the drop-down
     $ugs = UserGroups::get_all();
     $groups = array();
     foreach ($ugs as $group) {
         $groups[$group->name] = $group->name;
     }
     // remove anonymous - that would be pointless
     unset($groups['anonymous']);
     $ui = new FormUI('plugin_directory');
     $ui->append('text', 'passwdfile', 'passwdlogins__file', _t('Passwd File', 'passwdlogins'));
     $ui->append('checkbox', 'createusers', 'passwdlogins__create', _t('Create users on successful login', 'passwdlogins'));
     $select = $ui->append('select', 'defaultgroup', 'passwdlogins__group', _t('Group to create new users in', 'passwdlogins'));
     $select->default = 'authenticated';
     // emulate $default until it actually works
     if ($select->value == null) {
         $select->value = $select->default;
     }
     $select->options = $groups;
     $ui->append('submit', 'save', _t('Save'));
     $ui->out();
 }
 /**
  * Регистрация специфичных сервисов для модуля
  * @param DiInterface $di
  */
 public function registerServices(DiInterface $di)
 {
     // Регистрация диспетчера
     $di->set('dispatcher', function () use($di) {
         // Создаем менеджер событий
         $eventsManager = new EventsManager();
         // Прикрепляем слушателя
         $eventsManager->attach("dispatch:afterDispatch", function ($event, $dispatcher) use($di) {
             $session = $di->get('session');
             if ($session->has("user")) {
                 $user = $session->get('user');
                 $group = \UserGroups::findFirst("user_id = \"" . $user->id . "\"");
                 if ($group->group_id == "4") {
                     //Т.е. если это методист
                     return true;
                 } else {
                     //throw new \Exception('<B>Restricted access!</B>',100);
                     return false;
                 }
             } else {
                 //throw new \Exception('<B>Not logged in!</B>',100);
                 if ($dispatcher->getActionName() != "page404") {
                     $dispatcher->forward(array('controller' => 'index', 'action' => 'page404'));
                     return false;
                 } else {
                     return true;
                 }
             }
             //if ($user->)
         });
         /*$eventsManager->attach('dispatch:beforeException', function ($event, $dispatcher, $exception) use (&$di) {
                         //debug($dispatcher);
                         if ($exception->getCode()==1) {
                             debug($dispatcher->getModuleName ());
                             $dispatcher->forward(array(
                                                      'controller'=>'index',
                                                      'action'    =>'page404' //show404
                                                  ));
                             return false;
                         } else {
                             $dispatcher->setModuleName("frontend");
                             //debug($dispatcher->getModuleName());
                             //Handle 404 exceptions
                             $dispatcher->forward(array(
                                                      'controller'=>'index',
                                                      'action'    =>'page404' //show404
                                                  ));
         
                             return false;
                         }
                     });*/
         //$security=new Security($di);
         // We listen for events in the dispatcher using the Security plugin
         //$eventsManager->attach('dispatch', $security);
         $dispatcher = new Dispatcher();
         //Прикрепляем менеджер событий к диспетчеру
         $dispatcher->setDefaultNamespace("Multiple\\Methodist\\Controllers");
         $dispatcher->setEventsManager($eventsManager);
         return $dispatcher;
     });
     $view = $di->get("view");
     $view->setViewsDir(__DIR__ . "/views/");
 }
Example #11
0
 /**
  * The on_success handler of the Apply button on the user profile editing page
  * @param FormUI $form
  */
 public function edit_user_apply(FormUI $form)
 {
     $edit_user = User::get_by_id($form->edit_user->value);
     $edit_user_info = $edit_user->info;
     $update = false;
     // Change username
     if (isset($form->username) && $edit_user->username != $form->username->value) {
         Session::notice(_t('%1$s has been renamed to %2$s.', array($edit_user->username, $form->username->value)));
         $edit_user->username = $form->username->value;
         $update = true;
     }
     // Change email
     if (isset($form->email) && $edit_user->email != $form->email->value) {
         $edit_user->email = $form->email->value;
         $update = true;
     }
     // Change password
     if (isset($form->password1) && !Utils::crypt($form->password1->value, $edit_user->password) && $form->password1->value != '') {
         Session::notice(_t('Password changed.'));
         $edit_user->password = Utils::crypt($form->password1->value);
         $edit_user->update();
     }
     // Change group membership
     if (User::identify()->can('manage_groups')) {
         $allgroups = UserGroups::get_all();
         $new_groups = $form->user_group_membership->value;
         foreach ($allgroups as $group) {
             if (!$edit_user->in_group($group) && in_array($group->id, $new_groups)) {
                 $edit_user->add_to_group($group);
             }
             if ($edit_user->in_group($group) && !in_array($group->id, $new_groups)) {
                 $edit_user->remove_from_group($group);
             }
         }
     }
     // Set various info fields
     $info_fields = array('displayname', 'imageurl', 'locale_tz', 'locale_lang', 'locale_date_format', 'locale_time_format', 'dashboard_hide_spam_count');
     // let plugins easily specify other user info fields to pick
     $info_fields = Plugins::filter('adminhandler_post_user_fields', $info_fields);
     foreach ($info_fields as $info_field) {
         if (isset($form->{$info_field}) && $edit_user_info->{$info_field} != $form->{$info_field}->value && !empty($form->{$info_field}->value)) {
             $edit_user_info->{$info_field} = $form->{$info_field}->value;
             $update = true;
         } else {
             if (isset($edit_user_info->{$info_field}) && empty($form->{$info_field}->value)) {
                 unset($edit_user_info->{$info_field});
                 $update = true;
             }
         }
     }
     // Let plugins tell us to update
     $update = Plugins::filter('form_user_update', $update, $form, $edit_user);
     $form->save();
     if ($update) {
         $edit_user->update();
         Session::notice(_t('User updated.'));
     }
     Utils::redirect(URL::get('user_profile', array('user' => $edit_user->username)));
 }
 function reDirect($getArr, $object = null)
 {
     $form_creator = new FormCreator($getArr);
     switch ($getArr['uniqcode']) {
         case 'BNK':
             $form_creator->formPath = '/templates/eimadmin/bankinformation.php';
             $bankinfo = new BankInfo();
             if ($getArr['capturemode'] == 'addmode') {
                 $form_creator->popArr['newID'] = $bankinfo->getLastRecord();
             } elseif ($getArr['capturemode'] == 'updatemode') {
                 $form_creator->popArr['editArr'] = $bankinfo->filterBankInfo($getArr['id']);
             }
             break;
         case 'BCH':
             $form_creator->formPath = '/templates/eimadmin/branches.php';
             $brch = new Branches();
             $bank = new BankInfo();
             if ($getArr['capturemode'] == 'addmode') {
                 $form_creator->popArr['newID'] = $brch->getLastRecord();
                 $form_creator->popArr['bankcode'] = $bank->getBankCodes();
             } elseif ($getArr['captuIMPremode'] == 'updatemode') {
                 $form_creator->popArr['editArr'] = $brch->filterBranches($getArr['id']);
                 $form_creator->popArr['bankcode'] = $bank->getBankCodes();
             }
             break;
         case 'TAX':
             $form_creator->formPath = '/templates/eimadmin/taxinformation.php';
             $taxinfo = new TaxInfo();
             if ($getArr['capturemode'] == 'addmode') {
                 $form_creator->popArr['newID'] = $taxinfo->getLastRecord();
             } elseif ($getArr['capturemode'] == 'updatemode') {
                 $form_creator->popArr['editArr'] = $taxinfo->filterTaxInfo($getArr['id']);
             }
             break;
         case 'CCB':
             $form_creator->formPath = '/templates/eimadmin/cashben.php';
             $cashben = new CashBen();
             if ($getArr['capturemode'] == 'addmode') {
                 $form_creator->popArr['newID'] = $cashben->getLastRecord();
             } elseif ($getArr['capturemode'] == 'updatemode') {
                 $form_creator->popArr['editArr'] = $cashben->filterCashBenefits($getArr['id']);
             }
             break;
         case 'BBS':
             $form_creator->formPath = '/templates/eimadmin/cashbensal.php';
             $salgrd = new SalaryGrades();
             $cashbensal = new CashBenSalary();
             $cashben = new CashBen();
             $form_creator->popArr['salDet'] = $salgrd->filterSalaryGrades($getArr['id']);
             $form_creator->popArr['benListAll'] = $cashben->getAllCashBenefits();
             if (isset($getArr['editID'])) {
                 $arr[0] = $getArr['editID'];
                 $arr[1] = $getArr['id'];
                 $form_creator->popArr['editArr'] = $cashbensal->filterCashBenefits($arr);
             } else {
                 $form_creator->popArr['benListUnAss'] = $cashben->getCashBenCodes($getArr['id']);
             }
             $form_creator->popArr['benListAss'] = $cashbensal->getAssCashBenefits($getArr['id']);
             break;
         case 'COS':
             $form_creator->formPath = '/templates/eimadmin/costcenters.php';
             $cost = new CostCenter();
             if ($getArr['capturemode'] == 'addmode') {
                 $form_creator->popArr['newID'] = $cost->getLastRecord();
             } elseif ($getArr['capturemode'] == 'updatemode') {
                 $form_creator->popArr['editArr'] = $cost->filterCostCenter($getArr['id']);
             }
             break;
         case 'COU':
             $form_creator->formPath = '/templates/eimadmin/countryinformation.php';
             $country = new CountryInfo();
             if ($getArr['capturemode'] == 'updatemode') {
                 $form_creator->popArr['editArr'] = $country->filterCountryInfo($getArr['id']);
             }
             break;
         case 'CUR':
             $form_creator->formPath = '/templates/eimadmin/currencytypes.php';
             $currency = new CurrencyTypes();
             if ($getArr['capturemode'] == 'updatemode') {
                 $form_creator->popArr['editArr'] = $currency->filterCurrencyTypes($getArr['id']);
             }
             break;
         case 'DWT':
             $form_creator->formPath = '/templates/eimadmin/dwellinginformation.php';
             $dwinfo = new DwellingType();
             if ($getArr['capturemode'] == 'addmode') {
                 $form_creator->popArr['newID'] = $dwinfo->getLastRecord();
             } elseif ($getArr['capturemode'] == 'updatemode') {
                 $form_creator->popArr['editArr'] = $dwinfo->filterDwellingType($getArr['id']);
             }
             break;
         case 'ELE':
             $form_creator->formPath = '/templates/eimadmin/electorateinformation.php';
             $eleinfo = new ElectorateInfo();
             if ($getArr['capturemode'] == 'addmode') {
                 $form_creator->popArr['newID'] = $eleinfo->getLastRecord();
             } elseif ($getArr['capturemode'] == 'updatemode') {
                 $form_creator->popArr['editArr'] = $eleinfo->filterElectorateInfo($getArr['id']);
             }
             break;
         case 'EMC':
             $form_creator->formPath = '/templates/eimadmin/empcatinfo.php';
             $empcatinfo = new EmployeeCat();
             if ($getArr['capturemode'] == 'addmode') {
                 $form_creator->popArr['newID'] = $empcatinfo->getLastRecord();
             } elseif ($getArr['capturemode'] == 'updatemode') {
                 $form_creator->popArr['editArr'] = $empcatinfo->filterEmployeeCat($getArr['id']);
             }
             break;
         case 'EMG':
             $form_creator->formPath = '/templates/eimadmin/employeegroups.php';
             $empgrpinfo = new EmployeeGroup();
             if ($getArr['capturemode'] == 'addmode') {
                 $form_creator->popArr['newID'] = $empgrpinfo->getLastRecord();
             } elseif ($getArr['capturemode'] == 'updatemode') {
                 $form_creator->popArr['editArr'] = $empgrpinfo->filterEmployeeGroup($getArr['id']);
             }
             break;
         case 'ETY':
             $form_creator->formPath = '/templates/eimadmin/emptypes.php';
             $emptype = new EmployeeType();
             if ($getArr['capturemode'] == 'addmode') {
                 $form_creator->popArr['newID'] = $emptype->getLastRecord();
             } elseif ($getArr['capturemIMPode'] == 'updatemode') {
                 $form_creator->popArr['editArr'] = $emptype->filterEmployeeType($getArr['id']);
             }
             break;
         case 'EXC':
             $form_creator->formPath = '/templates/eimadmin/extracurractcat.php';
             $exccat = new ExtraCurrActCat();
             if ($getArr['capturemode'] == 'addmode') {
                 $form_creator->popArr['newID'] = $exccat->getLastRecord();
             } elseif ($getArr['capturemode'] == 'updatemode') {
                 $form_creator->popArr['editArr'] = $exccat->filterExtraCurrActCat($getArr['id']);
             }
             break;
         case 'DEF':
             $form_creator->formPath = '/templates/eimadmin/hierarchydef.php';
             $hidef = new HierarchyDefInfo();
             if ($getArr['capturemode'] == 'addmode') {
                 $form_creator->popArr['newID'] = $hidef->getLastRecord();
             } elseif ($getArr['capturemode'] == 'updatemode') {
                 $form_creator->popArr['editArr'] = $hidef->filterHierarchyDefInfo($getArr['id']);
             }
             break;
         case 'CHI':
             $form_creator->formPath = '/templates/eimadmin/comphier.php';
             $cmphier = new CompHierachy();
             $hidef = new HierarchyDefInfo();
             $loc = new models_eimadmin_Location();
             $empinfo = new EmpInfo();
             if ($getArr['capturemode'] == 'addmode') {
                 $form_creator->popArr['newID'] = $cmphier->getLastRecord();
                 $form_creator->popArr['hiercodes'] = $hidef->getHierachyCodes();
                 $form_creator->popArr['empcodes'] = $empinfo->getEmpCodes();
                 $form_creator->popArr['deflev'] = $cmphier->getHierachyDef();
                 $form_creator->popArr['loccodes'] = $loc->getLocCodes();
             } elseif ($getArr['capturemode'] == 'updatemode') {
                 $form_creator->popArr['editArr'] = $cmphier->filterCompHierachy($getArr['id']);
                 $form_creator->popArr['hiercodes'] = $cmphier->getHierachyCodes();
                 $form_creator->popArr['empcodes'] = $empinfo->getEmpCodes();
                 $form_creator->popArr['deflev'] = $cmphier->getHierachyDef();
                 $form_creator->popArr['loccodes'] = $loc->getLocCodes();
             }
             break;
         case 'LOC':
             $form_creator->formPath = '/templates/eimadmin/locations.php';
             $loc = new models_eimadmin_Location();
             $country = new CountryInfo();
             $form_creator->popArr['cntlist'] = $country->getCountryCodes();
             if ($getArr['capturemode'] == 'updatemode') {
                 $province = new ProvinceInfo();
                 $district = new DistrictInfo();
                 $form_creator->popArr['editArr'] = $edit = $loc->filterLocation($getArr['id']);
                 $form_creator->popArr['provlist'] = $province->getProvinceCodes($edit[0][2]);
                 $form_creator->popArr['districtlist'] = $district->getDistrictCodes($edit[0][3]);
             }
             break;
         case 'JDC':
             $form_creator->formPath = '/templates/eimadmin/jdcategory.php';
             $jdcat = new JDCategory();
             if ($getArr['capturemode'] == 'addmode') {
                 $form_creator->popArr['newID'] = $jdcat->getLastRecord();
             } elseif ($getArr['capturemode'] == 'updatemode') {
                 $form_creator->popArr['editArr'] = $jdcat->filterJDCategory($getArr['id']);
             }
             break;
         case 'MEM':
             $form_creator->formPath = '/templates/eimadmin/membershiptypes.php';
             $memtype = new MembershipType();
             if ($getArr['capturemode'] == 'updatemode') {
                 $form_creator->popArr['editArr'] = $memtype->filterMembershipType($getArr['id']);
             }
             break;
         case 'EMX':
             $form_creator->formPath = '/templates/eimadmin/emailConfiguration.php';
             $emailConfigObj = new EmailConfiguration();
             $form_creator->popArr['editArr'] = $emailConfigObj;
             break;
         case 'CSE':
             $form_creator->formPath = '/templates/eimadmin/dataExport.php';
             $csvExport = new CSVExport();
             $form_creator->popArr['exportTypes'] = $csvExport->getDefinedExportTypes();
             break;
         case 'IMP':
             if (isset($getArr['upload']) && $getArr['upload'] == 1) {
                 $form_creator->formPath = '/templates/eimadmin/dataUploadStatus.php';
                 $form_creator->popArr['uploadStatus'] = $object;
                 $form_creator->popArr['recordLimit'] = CSVSplitter::getRecordLimit();
                 $form_creator->popArr['delimiterLevels'] = AjaxCalls::getDelimiterLevelsArray(3);
             } else {
                 $form_creator->formPath = '/templates/eimadmin/dataImport.php';
                 $csvImport = new CSVImport();
                 $form_creator->popArr['importTypes'] = $csvImport->getDefinedImportTypes();
             }
             break;
         case 'ENS':
             $form_creator->formPath = '/templates/eimadmin/emailNotificationConfiguration.php';
             $emailNotificationConfObj = new EmailNotificationConfiguration($_SESSION['user']);
             $form_creator->popArr['editArr'] = $emailNotificationConfObj->fetchNotifcationStatus();
             break;
         case 'NAT':
             $form_creator->formPath = '/templates/eimadmin/nationalityinformation.php';
             $natinfo = new NationalityInfo();
             if ($getArr['capturemode'] == 'updatemode') {
                 $form_creator->popArr['editArr'] = $natinfo->filterNationalityInfo($getArr['id']);
             }
             break;
         case 'NCB':
             $form_creator->formPath = '/templates/eimadmin/noncashben.php';
             $noncashben = new NonCashBen();
             if ($getArr['capturemode'] == 'addmode') {
                 $form_creator->popArr['newID'] = $noncashben->getLastRecord();
             } elseif ($getArr['capturemode'] == 'updatemode') {
                 $form_creator->popArr['editArr'] = $noncashben->filterNonCashBenefits($getArr['id']);
             }
             break;
         case 'QLF':
             $form_creator->formPath = '/templates/eimadmin/qualificationtypes.php';
             $qualtype = new QualificationType();
             if ($getArr['capturemode'] == 'addmode') {
                 $form_creator->popArr['newID'] = $qualtype->getLastRecord();
             } elseif ($getArr['capturemode'] == 'updatemode') {
                 $form_creator->popArr['editArr'] = $qualtype->filterQualificationType($getArr['id']);
             }
             break;
         case 'RTM':
             $form_creator->formPath = '/templates/eimadmin/ratingmethods.php';
             $rattype = new RatingTypes();
             if ($getArr['capturemode'] == 'addmode') {
                 $form_creator->popArr['newID'] = $rattype->getLastRecord();
             } elseif ($getArr['capturemode'] == 'updatemode') {
                 $form_creator->popArr['editArr'] = $rattype->filterRatingTypes($getArr['id']);
             }
             break;
         case 'RTE':
             $form_creator->formPath = '/templates/eimadmin/routeinformation.php';
             $rouinfo = new RouteInfo();
             if ($getArr['capturemode'] == 'addmode') {
                 $form_creator->popArr['newID'] = $rouinfo->getLastRecord();
             } elseif ($getArr['capturemode'] == 'updatemode') {
                 $form_creator->popArr['editArr'] = $rouinfo->filterRouteInfo($getArr['id']);
             }
             break;
         case 'SGR':
             $form_creator->formPath = '/templates/eimadmin/salarygrades.php';
             $salgrade = new SalaryGrades();
             $salcurdet = new SalCurDet();
             if ($getArr['capturemode'] == 'updatemode') {
                 $form_creator->popArr['editArr'] = $salgrade->filterSalaryGrades($getArr['id']);
                 $form_creator->popArr['assCurrency'] = $salcurdet->getAssSalCurDet($getArr['id']);
                 if (!isset($getArr['editID'])) {
                     $form_creator->popArr['unAssCurrency'] = $salcurdet->getUnAssSalCurDet($getArr['id']);
                 } else {
                     $arr[0] = $getArr['id'];
                     $arr[1] = $getArr['editID'];
                     $form_creator->popArr['editAssCurrency'] = $salcurdet->filterSalCurDet($arr);
                 }
             }
             break;
         case 'SKI':
             $form_creator->formPath = '/templates/eimadmin/skills.php';
             $skill = new Skills();
             if ($getArr['capturemode'] == 'updatemode') {
                 $form_creator->popArr['editArr'] = $skill->filterSkills($getArr['id']);
             }
             break;
         case 'ETH':
             $form_creator->formPath = '/templates/eimadmin/ethnicrace.php';
             $ethnicrace = new EthnicRace();
             if ($getArr['capturemode'] == 'updatemode') {
                 $form_creator->popArr['editArr'] = $ethnicrace->filterEthnicRace($getArr['id']);
             }
             break;
         case 'EXA':
             $form_creator->formPath = '/templates/eimadmin/extracurractinfo.php';
             $extcainfo = new ExtraCurActInfo();
             $excurac = new ExtraCurrActCat();
             if ($getArr['capturemode'] == 'addmode') {
                 $form_creator->popArr['newID'] = $extcainfo->getLastRecord();
                 $form_creator->popArr['getResultSet'] = $extcainfo->getExtraCatCodes();
             } elseif ($getArr['capturemode'] == 'updatemode') {
                 $form_creator->popArr['editArr'] = $extcainfo->filterExtraCurActInfo($getArr['id']);
                 $form_creator->popArr['getResultSet'] = $excurac->getExtraCatCodes();
             }
             break;
         case 'MME':
             $form_creator->formPath = '/templates/eimadmin/membershipinformation.php';
             $meminfo = new MembershipInfo();
             $memtype = new MembershipType();
             if ($getArr['capturemode'] == 'addmode') {
                 $form_creator->popArr['getResultSet'] = $memtype->getMembershipTypeCodes();
             } elseif ($getArr['capturemode'] == 'updatemode') {
                 $form_creator->popArr['editArr'] = $meminfo->filterMembershipInfo($getArr['id']);
                 $form_creator->popArr['getResultSet'] = $memtype->getMembershipTypeCodes();
             }
             break;
         case 'JDK':
             $form_creator->formPath = '/templates/eimadmin/jdkra.php';
             $jdkr = new JDKra();
             $skill = new Skills();
             $jdtyp = new JDType();
             if ($getArr['capturemode'] == 'addmode') {
                 $form_creator->popArr['newID'] = $jdkr->getLastRecord();
                 $form_creator->popArr['jdktyplist'] = $jdtyp->getJDTypeCodes();
                 $form_creator->popArr['sktyplist'] = $skill->getSkillCodes();
             } elseif ($getArr['capturemode'] == 'updatemode') {
                 $form_creator->popArr['editArr'] = $jdkr->filterJDKra($getArr['id']);
                 $form_creator->popArr['jdktyplist'] = $jdtyp->getJDTypeCodes();
                 $form_creator->popArr['sktyplist'] = $skill->getSkillCodes();
             }
             break;
         case 'LAN':
             $form_creator->formPath = '/templates/eimadmin/languageinformation.php';
             $laninfo = new LanguageInfo();
             if ($getArr['capturemode'] == 'updatemode') {
                 $form_creator->popArr['editArr'] = $laninfo->filterLanguageInfo($getArr['id']);
             }
             break;
         case 'RLG':
             $form_creator->formPath = '/templates/eimadmin/religioninformation.php';
             $relinfo = new ReligionInfo();
             if ($getArr['capturemode'] == 'addmode') {
                 $form_creator->popArr['newID'] = $relinfo->getLastRecord();
             } elseif ($getArr['capturemode'] == 'updatemode') {
                 $form_creator->popArr['editArr'] = $relinfo->filterReligionInfo($getArr['id']);
             }
             break;
         case 'SAT':
             $form_creator->formPath = '/templates/eimadmin/satutoryinfo.php';
             $satinfo = new SatutoryInfo();
             if ($getArr['capturemode'] == 'addmode') {
                 $form_creator->popArr['newID'] = $satinfo->getLastRecord();
             } elseif ($getArr['capturemode'] == 'updatemode') {
                 $form_creator->popArr['editArr'] = $satinfo->filterSatutoryInfo($getArr['id']);
             }
             break;
         case 'UNI':
             $form_creator->formPath = '/templates/eimadmin/uniformtypes.php';
             $unitype = new UniformType();
             if ($getArr['capturemode'] == 'addmode') {
                 $form_creator->popArr['newID'] = $unitype->getLastRecord();
             } elseif ($getArr['capturemode'] == 'updatemode') {
                 $form_creator->popArr['editArr'] = $unitype->filterUniformType($getArr['id']);
             }
             break;
         case 'EXA':
             $form_creator->formPath = '/templates/eimadmin/extracurractinfo.php';
             $excurac = new ExtraCurActInfo();
             if ($getArr['capturemode'] == 'addmode') {
                 $form_creator->popArr['newID'] = $excurac->getLastRecord();
                 $form_creator->popArr['getResultSet'] = $excurac->getExtraCatCodes();
             } elseif ($getArr['capturemode'] == 'updatemode') {
                 $form_creator->popArr['editArr'] = $excurac->filterExtraCurActInfo($getArr['id']);
                 $form_creator->popArr['getResultSet'] = $excurac->getExtraCatCodes();
             }
             break;
         case 'EDU':
             $form_creator->formPath = '/templates/eimadmin/qualifications.php';
             $edu = new Education();
             if ($getArr['capturemode'] == 'updatemode') {
                 $form_creator->popArr['editArr'] = $edu->filterEducation($getArr['id']);
             }
             break;
         case 'JDT':
             $form_creator->formPath = '/templates/eimadmin/jdtypes.php';
             $jdtyp = new JDType();
             if ($getArr['capturemode'] == 'addmode') {
                 $form_creator->popArr['newID'] = $jdtyp->getLastRecord();
                 $form_creator->popArr['jdcatcodes'] = $jdtyp->getJDTypeCodes();
             } elseif ($getArr['capturemode'] == 'updatemode') {
                 $form_creator->popArr['editArr'] = $jdtyp->filterJDType($getArr['id']);
                 $form_creator->popArr['jdcatcodes'] = $jdtyp->getJDTypeCodes();
             }
             break;
         case 'SBJ':
             $form_creator->formPath = '/templates/eimadmin/subjectinformation.php';
             $subin = new SubjectInfo();
             $qualifi = new Qualifications();
             if ($getArr['capturemode'] == 'addmode') {
                 $form_creator->popArr['newID'] = $subin->getLastRecord();
                 $form_creator->popArr['getResultSet'] = $qualifi->getQualifiCodes();
             } elseif ($getArr['capturemode'] == 'updatemode') {
                 $form_creator->popArr['editArr'] = $subin->filterSubjectInfo($getArr['id']);
                 $form_creator->popArr['getResultSet'] = $qualifi->getQualifiCodes();
             }
             break;
         case 'SSK':
             $form_creator->formPath = '/templates/eimadmin/subskillinformation.php';
             $subsk = new SubSkillInfo();
             $skill = new Skills();
             if ($getArr['capturemode'] == 'addmode') {
                 $form_creator->popArr['newID'] = $subsk->getLastRecord();
                 $form_creator->popArr['getResultSet'] = $skill->getSkillCodes();
             } elseif ($getArr['capturemode'] == 'updatemode') {
                 $form_creator->popArr['editArr'] = $subsk->filterSubSkillInfo($getArr['id']);
                 $form_creator->popArr['getResultSet'] = $skill->getSkillCodes();
             }
             break;
         case 'CTT':
             $form_creator->formPath = '/templates/eimadmin/corptit.php';
             $corptit = new CorpTitle();
             $salgrd = new SalaryGrades();
             if ($getArr['capturemode'] == 'addmode') {
                 $form_creator->popArr['newID'] = $corptit->getLastRecord();
                 $form_creator->popArr['corptitles'] = $corptit->getCorpTitles();
                 $form_creator->popArr['salgrds'] = $corptit->getSalGrades();
             } elseif ($getArr['capturemode'] == 'updatemode') {
                 $form_creator->popArr['editArr'] = $corptit->filterCorpTitles($getArr['id']);
                 $form_creator->popArr['corptitles'] = $corptit->getCorpTitles();
                 $form_creator->popArr['salgrds'] = $salgrd->getSalGrades();
             }
             break;
         case 'DSG':
             $form_creator->formPath = '/templates/eimadmin/designations.php';
             $desig = new Designations();
             $corptit = new CorpTitle();
             if ($getArr['capturemode'] == 'addmode') {
                 $form_creator->popArr['newID'] = $desig->getLastRecord();
                 $form_creator->popArr['corptitles'] = $corptit->getCorpTitles();
                 $form_creator->popArr['des'] = $desig->getDes();
             } elseif ($getArr['capturemode'] == 'updatemode') {
                 $form_creator->popArr['editArr'] = $desig->filterDesignations($getArr['id']);
                 $form_creator->popArr['corptitles'] = $corptit->getCorpTitles();
                 $form_creator->popArr['des'] = $desig->getDes();
             }
             break;
         case 'DIS':
             $form_creator->formPath = '/templates/eimadmin/districtinformation.php';
             $disinfo = new DistrictInfo();
             $prov = new ProvinceInfo();
             $country = new CountryInfo();
             $form_creator->popArr['countrylist'] = $country->getCountryCodes();
             if ($getArr['capturemode'] == 'addmode') {
                 if ($object != null) {
                     $form_creator->popArr['txtDistrictDesc'] = $object->txtDistrictDesc;
                     $form_creator->popArr['cmbCountry'] = $object->cmbCountry;
                     $form_creator->popArr['selProvince'] = $object->selProvince;
                     $form_creator->popArr['provlist'] = $prov->getProvinceCodes($object->cmbCountry);
                 }
             } elseif ($getArr['capturemode'] == 'updatemode') {
                 $form_creator->popArr['editArr'] = $editArr = $disinfo->filterDistrictInfo($getArr['id']);
                 if ($object != null) {
                     $form_creator->popArr['txtDistrictDesc'] = $object->txtDistrictDesc;
                     $form_creator->popArr['cmbCountry'] = $object->cmbCountry;
                     $form_creator->popArr['selProvince'] = $object->selProvince;
                     $form_creator->popArr['provlist'] = $prov->getProvinceCodes($object->cmbCountry);
                 } else {
                     $temp = $prov->filterGetProvinceCodeInfo($editArr[0][2]);
                     $form_creator->popArr['selcountry'] = $temp[0][2];
                     $form_creator->popArr['provlist'] = $prov->getProvinceCodes($temp[0][2]);
                 }
             }
             break;
         case 'NBS':
             $form_creator->formPath = '/templates/eimadmin/noncashbensal.php';
             $salgrd = new SalaryGrades();
             $noncashbensal = new NonCashBenSalary();
             $noncashben = new NonCashBen();
             $form_creator->popArr['salDet'] = $salgrd->filterSalaryGrades($getArr['id']);
             $form_creator->popArr['benListAll'] = $noncashben->getAllNonCashBenefits();
             if (isset($getArr['editID'])) {
                 $arr[0] = $getArr['editID'];
                 $arr[1] = $getArr['id'];
                 $form_creator->popArr['editArr'] = $noncashben->filterNonCashBenefits($arr);
             } else {
                 $form_creator->popArr['benListUnAss'] = $noncashben->getNonCashBenCodes($getArr['id']);
             }
             $form_creator->popArr['benListAss'] = $noncashbensal->getAssCashBenefits($getArr['id']);
             break;
         case 'DDI':
             $form_creator->formPath = '/templates/eimadmin/desdis.php';
             $desig = new Designations();
             $desdis = new DesDescription();
             $form_creator->popArr['desDet'] = $desig->getDes();
             $form_creator->popArr['desDisAss'] = $desdis->getAssigned($getArr['id']);
             if (isset($getArr['editID'])) {
                 $arr[1] = $getArr['id'];
                 $arr[0] = $getArr['editID'];
                 $form_creator->popArr['editArr'] = $desdis->filterJDKPI($arr);
             }
             if (isset($getArr['addForm']) && $getArr['addForm'] == 'ADD') {
                 $form_creator->popArr['desDisUnAss'] = $desdis->getGrouping($getArr['id']);
             }
             break;
         case 'DQA':
             $form_creator->formPath = '/templates/eimadmin/desqua.php';
             $desig = new Designations();
             $desqual = new DesQualification();
             $form_creator->popArr['desDet'] = $desig->getDes();
             $form_creator->popArr['qualListAll'] = $desqual->getAllQualifications();
             if (isset($getArr['editID'])) {
                 $arr[0] = $getArr['id'];
                 $arr[1] = $getArr['editID'];
                 $form_creator->popArr['editArr'] = $desqual->filterJDQual($arr);
             } else {
                 $form_creator->popArr['qualListUnAss'] = $desqual->getQual($getArr['id']);
             }
             $form_creator->popArr['qualListAss'] = $desqual->getAssJDQual($getArr['id']);
             break;
         case 'DQS':
             $form_creator->formPath = '/templates/eimadmin/desquasub.php';
             $desig = new Designations();
             $desqualsub = new DesQualSubject();
             $qualifi = new Qualifications();
             $form_creator->popArr['desDet'] = $desig->filterDesignations($getArr['id']);
             $form_creator->popArr['qualDet'] = $qualifi->getQualCodes();
             $form_creator->popArr['gradlist'] = $desqualsub->getRatGrds($getArr['QUA']);
             $form_creator->popArr['subDet'] = $desqualsub->getSubjectCodes();
             if (isset($getArr['editID'])) {
                 $arr[0] = $getArr['id'];
                 $arr[1] = $getArr['editID'];
                 $arr[2] = $getArr['QUA'];
                 $form_creator->popArr['editArr'] = $desqualsub->filterQuaSub($arr);
             } else {
                 $form_creator->popArr['sublist'] = $desqualsub->getSubjects($getArr['id'], $getArr['QUA']);
             }
             $form_creator->popArr['rset'] = $desqualsub->getAssQuaSub($getArr['id']);
             break;
         case 'RTG':
             $form_creator->formPath = '/templates/eimadmin/ratinggrade.php';
             $rattyp = new RatingTypes();
             $form_creator->popArr['ratDet'] = $rattyp->filterRatingTypes($getArr['id']);
             $ratgrd = new RatingGrade();
             if (isset($getArr['editID'])) {
                 $arr[0] = $getArr['editID'];
                 $arr[1] = $getArr['id'];
                 $form_creator->popArr['editArr'] = $ratgrd->filterRatGrd($arr);
             } else {
                 $form_creator->popArr['newID'] = $ratgrd->getLastRecord();
             }
             $form_creator->popArr['ratGrdAss'] = $ratgrd->getAssRatGrd($getArr['id']);
             break;
         case 'EEC':
             $form_creator->formPath = '/templates/eimadmin/eeojobcat.php';
             $eeojobcat = new EEOJobCat();
             if ($getArr['capturemode'] == 'updatemode') {
                 $form_creator->popArr['editArr'] = $eeojobcat->filterEEOJobCat($getArr['id']);
             }
             break;
         case 'LIC':
             $form_creator->formPath = '/templates/eimadmin/licenses.php';
             $licenses = new Licenses();
             if ($getArr['capturemode'] == 'updatemode') {
                 $form_creator->popArr['editArr'] = $licenses->filterLicenses($getArr['id']);
             }
             break;
         case 'CST':
             $form_creator->formPath = '/templates/eimadmin/compstruct.php';
             /*
             $hierachinfo = new HierarchyDefInfo();
             $comphier = new CompHierachy();
             $compstruct = new CompStruct();
             
             $form_creator->popArr['hierlist'] = $hierachinfo -> getHierarchyDef();
             $form_creator->popArr['compstruct'] = $comphier ->getAssCompHier(1,'');
             $form_creator->popArr['unAssCompStruct'] = $compstruct->getUnAssCompStruct('',1);
             */
             $locations = new models_eimadmin_Location();
             $countries = new CountryInfo();
             $form_creator->popArr['locations'] = $locations->getLocCodes();
             $form_creator->popArr['countries'] = $countries->getCountryCodes();
             break;
         case 'TCP':
             $form_creator->formPath = '/templates/eimadmin/companyProperty.php';
             $authorizeObj = new authorize($_SESSION['empID'], $_SESSION['isAdmin']);
             if (!isset($_GET['action'])) {
                 $empInfo = new EmpInfo();
                 if ($authorizeObj->isAdmin()) {
                     $form_creator->popArr['emplist'] = $empInfo->getListofEmployee();
                 } else {
                     $empReportTo = new EmpRepTo();
                     $form_creator->popArr['emplist'] = $empReportTo->getEmpSubDetails($_SESSION['empID']);
                     /* An element of the value from $empInfo->getListofEmployee() will contain
                      * an array with 6 elements. Values from $empReportTo->getEmpSubDetails() will
                      * only contain 3 elements. But there won't be a problem because only first 3 values
                      * will be used in the template
                      */
                 }
             }
             $compProp = new CompProperty();
             $propertyCount = count($compProp->getPropertyList());
             $pageNo = 1;
             if (isset($_REQUEST['pageNo'])) {
                 $pageNo = $_REQUEST['pageNo'];
             } else {
                 $pageNo = ceil($propertyCount / 10);
             }
             if ($authorizeObj->isAdmin()) {
                 $form_creator->popArr['properties'] = $compProp->getPropertyList($pageNo);
             } else {
                 $subordinateList = array();
                 foreach ($form_creator->popArr['emplist'] as $subordinate) {
                     $subordinateList[] = $subordinate[0];
                 }
                 $form_creator->popArr['properties'] = $compProp->getPropertyList($pageNo, $subordinateList, true);
             }
             $form_creator->popArr['allProperties'] = $compProp->getPropertyList();
             $form_creator->popArr['pageNo'] = $pageNo;
             $form_creator->popArr['recordCount'] = $propertyCount;
             $form_creator->popArr['authObj'] = $authorizeObj;
             break;
         case 'JOB':
             $form_creator->formPath = '/templates/eimadmin/jobtitle.php';
             $jobtitle = new JobTitle();
             $paygrade = new SalaryGrades();
             $jobtit_empstat = new JobTitEmpStat();
             $form_creator->popArr['paygrade'] = $paygrade->getSalGrades(true);
             $form_creator->popArr['jobSpecList'] = JobSpec::getAll();
             if ($getArr['capturemode'] == 'updatemode') {
                 $form_creator->popArr['editArr'] = $jobtitle->filterJobTitles($getArr['id']);
                 $form_creator->popArr['assEmploymentStat'] = $jobtit_empstat->getAssEmpStat($getArr['id']);
                 $form_creator->popArr['unAssEmploymentStat'] = $jobtit_empstat->getUnAssEmpStat($getArr['id']);
             }
             break;
         case 'SPC':
             $form_creator->formPath = '/templates/eimadmin/jobSpec.php';
             // Here we fetch all job specs for easier validation of duplicate names
             // Assuming it's unlikely that very large number of job specs will be defined.
             $form_creator->popArr['jobSpecList'] = JobSpec::getAll();
             if ($getArr['capturemode'] == 'updatemode') {
                 $form_creator->popArr['jobSpec'] = JobSpec::getJobSpec($getArr['id']);
             } else {
                 $form_creator->popArr['jobSpec'] = new JobSpec();
             }
             break;
         case 'EST':
             $form_creator->formPath = '/templates/eimadmin/empstat.php';
             $empstat = new EmploymentStatus();
             if ($getArr['capturemode'] == 'updatemode') {
                 $form_creator->popArr['editArr'] = $empstat->filterEmpStat($getArr['id']);
             }
             break;
         case 'GEN':
             $form_creator->formPath = '/templates/eimadmin/geninfo.php';
             $geninfo = new GenInfo();
             $country = new CountryInfo();
             $province = new ProvinceInfo();
             $district = new DistrictInfo();
             $tabArr = $geninfo->filterGenInfo();
             $genInfoKeys = explode('|', $tabArr[0][0]);
             $genInfoValues = explode('|', $tabArr[0][1]);
             for ($c = 0; $genInfoKeys && count($genInfoKeys) > $c; $c++) {
                 $editArr[$genInfoKeys[$c]] = $genInfoValues[$c];
             }
             $form_creator->popArr['editArr'] = $editArr;
             $form_creator->popArr['cntlist'] = $country->getCountryCodes();
             if (isset($editArr['COUNTRY'])) {
                 $form_creator->popArr['provlist'] = $province->getProvinceCodes($editArr['COUNTRY']);
             }
             if (isset($editArr['STATE'])) {
                 $form_creator->popArr['districtlist'] = $district->getDistrictCodes($editArr['STATE']);
             }
             //Finding the numer of  employees
             $empInfo = new EmpInfo();
             $form_creator->popArr['empcount'] = $empInfo->countEmployee();
             break;
         case 'CUS':
             $form_creator->formPath = '/templates/eimadmin/customer.php';
             $customer = new Customer();
             if ($getArr['capturemode'] == 'updatemode') {
                 $form_creator->popArr['editArr'] = $customer->fetchCustomer($getArr['id']);
             } else {
                 $form_creator->popArr['editArr'] = new Customer();
             }
             break;
         case 'CTM':
             $form_creator->formPath = '/templates/eimadmin/customFields.php';
             $form_creator->popArr['available'] = CustomFields::getAvailableFieldNumbers();
             if ($getArr['capturemode'] == 'updatemode') {
                 $form_creator->popArr['editArr'] = CustomFields::getCustomField($getArr['id']);
             } else {
                 $form_creator->popArr['editArr'] = new CustomFields();
             }
             break;
         case 'CEX':
             $form_creator->formPath = '/templates/eimadmin/customExportDefine.php';
             $form_creator->popArr['customExportList'] = CustomExport::getCustomExportList();
             if ($getArr['capturemode'] == 'updatemode') {
                 $customExport = CustomExport::getCustomExport($getArr['id']);
                 $form_creator->popArr['headings'] = $customExport->getHeadings();
                 $form_creator->popArr['available'] = $customExport->getAvailableFields();
                 $form_creator->popArr['assigned'] = $customExport->getAssignedFields();
                 $form_creator->popArr['exportName'] = $customExport->getName();
                 $form_creator->popArr['id'] = $customExport->getId();
             } else {
                 $form_creator->popArr['headings'] = array();
                 $form_creator->popArr['available'] = CustomExport::getAllFields();
                 $form_creator->popArr['assigned'] = array();
                 $form_creator->popArr['exportName'] = null;
                 $form_creator->popArr['id'] = null;
             }
             break;
         case 'CIM':
             $form_creator->formPath = '/templates/eimadmin/customImportDefine.php';
             $form_creator->popArr['customImportList'] = CustomImport::getCustomImportList();
             if ($getArr['capturemode'] == 'updatemode') {
                 $customImport = CustomImport::getCustomImport($getArr['id']);
                 $form_creator->popArr['has_heading'] = $customImport->getContainsHeader();
                 $form_creator->popArr['available'] = $customImport->getAvailableFields();
                 $form_creator->popArr['assigned'] = $customImport->getAssignedFields();
                 $form_creator->popArr['importName'] = $customImport->getName();
                 $form_creator->popArr['id'] = $customImport->getId();
                 $form_creator->popArr['compulsary_fields'] = CustomImport::getCompulsaryFields();
             } else {
                 $customImport = new CustomImport();
                 // Assign compulsary fields
                 $compulsary = CustomImport::getCompulsaryFields();
                 $customImport->setAssignedFields($compulsary);
                 $form_creator->popArr['has_heading'] = true;
                 $form_creator->popArr['available'] = $customImport->getAvailableFields();
                 $form_creator->popArr['assigned'] = $compulsary;
                 $form_creator->popArr['importName'] = null;
                 $form_creator->popArr['id'] = null;
                 $form_creator->popArr['compulsary_fields'] = $compulsary;
             }
             break;
         case 'CHD':
             $form_creator->formPath = '/templates/eimadmin/customExportHeadingDefine.php';
             $customExport = CustomExport::getCustomExport($getArr['id']);
             $headings = $customExport->getHeadings();
             $form_creator->popArr['headings'] = empty($headings) ? $customExport->getAssignedFields() : $headings;
             $form_creator->popArr['assigned'] = $customExport->getAssignedFields();
             $form_creator->popArr['exportName'] = $customExport->getName();
             $form_creator->popArr['id'] = $customExport->getId();
             break;
         case 'PAD':
             // Project Admin. Fall through to PRJ case below.
             $form_creator->getArr['uniqcode'] = "PRJ";
         case 'PRJ':
             $form_creator->formPath = '/templates/eimadmin/project.php';
             $project = new Projects();
             $customer = new Customer();
             $form_creator->popArr['cusid'] = $customer->fetchCustomers();
             $form_creator->popArr['employeeList'] = EmpInfo::getEmployeeMainDetails();
             if ($getArr['capturemode'] == 'updatemode') {
                 $form_creator->popArr['editArr'] = $project->fetchProject($getArr['id']);
                 $gw = new ProjectAdminGateway();
                 $form_creator->popArr['admins'] = $gw->getAdmins($getArr['id']);
             }
             break;
         case 'PAC':
             $form_creator->formPath = '/templates/eimadmin/projectActivity.php';
             /* If a HR admin, show all projects. Otherwise only show projects for which
              * user is an admin
              */
             $authorizeObj = new authorize($_SESSION['empID'], $_SESSION['isAdmin']);
             if ($authorizeObj->isAdmin()) {
                 $projects = new Projects();
                 /* Filter only not deleted projects */
                 $projects->setDeleted(Projects::PROJECT_NOT_DELETED);
                 $projectList = $projects->fetchProjects();
             } else {
                 if ($authorizeObj->isProjectAdmin()) {
                     $gw = new ProjectAdminGateway();
                     $projectList = $gw->getProjectsForAdmin($_SESSION['empID']);
                 }
             }
             /* If projectId given, get activities for that project else load first
              * project in list
              */
             $projectId = null;
             $activities = array();
             if (!empty($projectList)) {
                 if (isset($getArr['projectId']) && ($authorizeObj->isAdmin() || $authorizeObj->isProjectAdminOf($getArr['projectId']))) {
                     $projectId = $getArr['projectId'];
                 } else {
                     $projectId = $projectList[0]->getProjectId();
                 }
                 $activities = ProjectActivity::getActivityList($projectId);
             }
             $form_creator->popArr['projects'] = $projectList;
             $form_creator->popArr['projectId'] = $projectId;
             $form_creator->popArr['activities'] = $activities;
             break;
         case 'USR':
             $form_creator->formPath = '/templates/maintenance/users.php';
             $user = new Users();
             if ($getArr['capturemode'] == 'addmode') {
                 $form_creator->popArr['emplist'] = $user->getEmployeeCodes();
                 $form_creator->popArr['uglist'] = $user->getUserGroupCodes();
             } elseif ($getArr['capturemode'] == 'updatemode') {
                 $form_creator->popArr['editArr'] = $user->filterUsers($getArr['id']);
                 $form_creator->popArr['emplist'] = $user->getEmployeeCodes();
                 $form_creator->popArr['uglist'] = $user->getUserGroupCodes();
                 //$form_creator ->popArr['editArr'] = $user->filterChangeUsers($getArr['id']);
             }
             $form_creator->popArr['employeeSearchList'] = EmpInfo::getEmployeeSearchList();
             break;
         case 'USG':
             $form_creator->formPath = '/templates/maintenance/usergroups.php';
             $usrgrp = new UserGroups();
             if ($getArr['capturemode'] == 'updatemode') {
                 $form_creator->popArr['editArr'] = $usrgrp->filterUserGroups($getArr['id']);
             }
             break;
         case 'UGR':
             $form_creator->formPath = '/templates/maintenance/AdminMenu.php';
             $urights = new Rights();
             $usergroup = new UserGroups();
             $form_creator->popArr['ugDet'] = $usergroup->filterUserGroups($getArr['id']);
             $form_creator->popArr['modlist'] = $urights->getAllModules();
             if (isset($getArr['editID'])) {
                 $arr[0] = $getArr['id'];
                 $arr[1] = $getArr['editID'];
                 $form_creator->popArr['editArr'] = $urights->filterRights($arr);
             } else {
                 $form_creator->popArr['modlistUnAss'] = $urights->getModuleCodes($getArr['id']);
             }
             $form_creator->popArr['modlistAss'] = $urights->getAssRights($getArr['id']);
             break;
         case 'LDAP':
             if ($_SESSION['ldap'] == "enabled") {
                 $form_creator->formPath = '/templates/eimadmin/ldapConfiguration.php';
                 $ldapConfigObj = new LdapDetails();
                 $form_creator->popArr['editArr'] = $ldapConfigObj->retrieveLdapDetails();
             }
             break;
     }
     $form_creator->display();
 }
Example #13
0
 public static function changeGroup($userid, $groupid)
 {
     $getData = UserGroups::get(array('where' => "where groupid='{$groupid}'"));
     if (!isset($getData[0]['groupid'])) {
         return false;
     }
     self::update($userid, array('groupid' => $groupid));
     return true;
 }
Example #14
0
 /**
  * Handles form submission from a user's page.
  */
 public function form_user_success($form)
 {
     $edit_user = User::get_by_id($form->edit_user->value);
     $current_user = User::identify();
     $permission = false;
     // Check if the user is editing their own profile
     if ($edit_user->id == $current_user->id) {
         if ($edit_user->can('manage_self') || $edit_user->can('manage_users')) {
             $permission = true;
         }
     } else {
         if ($current_user->can('manage_users')) {
             $permission = true;
         }
     }
     if (!$permission) {
         Session::error(_t('Access to that page has been denied by the administrator.'));
         $this->get_blank();
         return;
     }
     // Let's check for deletion
     if (Controller::get_var('delete') != null) {
         if ($current_user->id != $edit_user->id) {
             // We're going to delete the user before we need it, so store the username
             $username = $edit_user->username;
             $posts = Posts::get(array('user_id' => $edit_user->id, 'nolimit' => true));
             if (Controller::get_var('reassign') != null && Controller::get_var('reassign') != 0 && Controller::get_var('reassign') != $edit_user->id) {
                 // we're going to re-assign all of this user's posts
                 $newauthor = Controller::get_var('reassign');
                 Posts::reassign($newauthor, $posts);
                 $edit_user->delete();
             } else {
                 // delete user, then delete posts
                 $edit_user->delete();
                 // delete posts
                 foreach ($posts as $post) {
                     $post->delete();
                 }
             }
             Session::notice(_t('%s has been deleted', array($username)));
             Utils::redirect(URL::get('admin', array('page' => 'users')));
         } else {
             Session::notice(_t('You cannot delete yourself.'));
         }
     }
     $update = false;
     // Change username
     if (isset($form->username) && $edit_user->username != $form->username->value) {
         Session::notice(_t('%1$s has been renamed to %2$s.', array($edit_user->username, $form->username->value)));
         $edit_user->username = $form->username->value;
         $update = true;
     }
     // Change email
     if (isset($form->email) && $edit_user->email != $form->email->value) {
         $edit_user->email = $form->email->value;
         $update = true;
     }
     // Change password
     if (isset($form->password1) && !Utils::crypt($form->password1->value, $edit_user->password) && $form->password1->value != '') {
         Session::notice(_t('Password changed.'));
         $edit_user->password = Utils::crypt($form->password1->value);
         $edit_user->update();
     }
     // Change group membership
     if (User::identify()->can('manage_groups')) {
         $allgroups = UserGroups::get_all();
         $new_groups = $form->user_group_membership->value;
         foreach ($allgroups as $group) {
             if (!$edit_user->in_group($group) && in_array($group->id, $new_groups)) {
                 $edit_user->add_to_group($group);
             }
             if ($edit_user->in_group($group) && !in_array($group->id, $new_groups)) {
                 $edit_user->remove_from_group($group);
             }
         }
     }
     // Set various info fields
     $info_fields = array('displayname', 'imageurl', 'locale_tz', 'locale_date_format', 'locale_time_format', 'dashboard_hide_spam_count');
     // let plugins easily specify other user info fields to pick
     $info_fields = Plugins::filter('adminhandler_post_user_fields', $info_fields);
     foreach ($info_fields as $info_field) {
         if (isset($form->{$info_field}) && $edit_user->info->{$info_field} != $form->{$info_field}->value && !empty($form->{$info_field}->value)) {
             $edit_user->info->{$info_field} = $form->{$info_field}->value;
             $update = true;
         } else {
             if (isset($edit_user->info->{$info_field}) && empty($form->{$info_field}->value)) {
                 unset($edit_user->info->{$info_field});
                 $update = true;
             }
         }
     }
     // Let plugins tell us to update
     $update = Plugins::filter('form_user_update', $update, $form, $edit_user);
     $form->save();
     if ($update) {
         $edit_user->update();
         Session::notice(_t('User updated.'));
     }
     Utils::redirect(URL::get('admin', array('page' => 'user', 'user' => $edit_user->username)));
 }
 function reDirect($getArr, $object = null)
 {
     $form_creator = new FormCreator($getArr);
     switch ($getArr['mtcode']) {
         case 'BUG':
             $form_creator->formPath = '/templates/maintenance/bugs.php';
             $bug = new Bugs();
             $form_creator->popArr['module'] = $bug->getAlias('module');
             break;
         case 'DVR':
             $form_creator->formPath = '/templates/maintenance/dbversions.php';
             $dbvers = new DbVersions();
             if ($getArr['capturemode'] == 'addmode') {
                 $form_creator->popArr['newID'] = $dbvers->getLastRecord();
             } elseif ($getArr['capturemode'] == 'updatemode') {
                 $form_creator->popArr['editArr'] = $dbvers->filterdbVersions($getArr['id']);
             }
             break;
         case 'MOD':
             $form_creator->formPath = '/templates/maintenance/modules.php';
             $modls = new Modules();
             if ($getArr['capturemode'] == 'addmode') {
                 $form_creator->popArr['version'] = $modls->getVersionList();
             } elseif ($getArr['capturemode'] == 'updatemode') {
                 $form_creator->popArr['editArr'] = $modls->filterModules($getArr['id']);
                 $form_creator->popArr['version'] = $modls->getVersionList();
             }
             break;
         case 'USG':
             $form_creator->formPath = '/templates/maintenance/usergroups.php';
             $usrgrp = new UserGroups();
             if ($getArr['capturemode'] == 'updatemode') {
                 $form_creator->popArr['editArr'] = $usrgrp->filterUserGroups($getArr['id']);
             }
             break;
         case 'VER':
             $form_creator->formPath = '/templates/maintenance/versions.php';
             $vers = new Versions();
             //$form_creator ->popArr['date'] = $vers->getDate();
             if ($getArr['capturemode'] == 'addmode') {
                 $form_creator->popArr['newID'] = $vers->getLastRecord();
                 $form_creator->popArr['db'] = $vers->getdbVersionList();
                 $form_creator->popArr['file'] = $vers->getFileVersionList();
             } elseif ($getArr['capturemode'] == 'updatemode') {
                 $form_creator->popArr['editArr'] = $vers->filterVersions($getArr['id']);
                 $form_creator->popArr['db'] = $vers->getdbVersionList();
                 $form_creator->popArr['file'] = $vers->getFileVersionList();
             }
             break;
         case 'FVR':
             $form_creator->formPath = '/templates/maintenance/fileversions.php';
             $filever = new fileVersions();
             if ($getArr['capturemode'] == 'addmode') {
                 $form_creator->popArr['newID'] = $filever->getLastRecord();
                 $form_creator->popArr['modlist'] = $filever->getModuleList();
             } elseif ($getArr['capturemode'] == 'updatemode') {
                 $form_creator->popArr['editArr'] = $filever->filterfileVersions($getArr['id']);
                 $form_creator->popArr['modlist'] = $filever->getModuleList();
             }
             break;
         case 'USR':
             $form_creator->formPath = '/templates/maintenance/users.php';
             $user = new Users();
             if ($getArr['capturemode'] == 'addmode') {
                 $form_creator->popArr['emplist'] = $user->getEmployeeCodes();
                 $form_creator->popArr['uglist'] = $user->getUserGroupCodes();
             } elseif ($getArr['capturemode'] == 'updatemode') {
                 $form_creator->popArr['editArr'] = $user->filterUsers($getArr['id']);
                 $form_creator->popArr['emplist'] = $user->getEmployeeCodes();
                 $form_creator->popArr['uglist'] = $user->getUserGroupCodes();
                 //$form_creator ->popArr['editArr'] = $user->filterChangeUsers($getArr['id']);
             }
             break;
         case 'CPW':
             $form_creator->formPath = '/templates/maintenance/changeusers.php';
             $chuser = new Users();
             if ($getArr['capturemode'] == 'updatemode') {
                 $form_creator->popArr['emplist'] = $chuser->getEmployeeCodes();
                 //$form_creator ->popArr['uglist'] = $chuser->getUserGroupCodes();
                 $form_creator->popArr['editArr'] = $chuser->filterChangeUsers($getArr['id']);
             }
             break;
         case 'UGR':
             $form_creator->formPath = '/templates/maintenance/AdminMenu.php';
             $urights = new Rights();
             $usergroup = new UserGroups();
             $form_creator->popArr['ugDet'] = $usergroup->filterUserGroups($getArr['id']);
             $form_creator->popArr['modlist'] = $urights->getAllModules();
             if (isset($getArr['editID'])) {
                 $arr[0] = $getArr['id'];
                 $arr[1] = $getArr['editID'];
                 $form_creator->popArr['editArr'] = $urights->filterRights($arr);
             } else {
                 $form_creator->popArr['modlistUnAss'] = $urights->getModuleCodes($getArr['id']);
             }
             $form_creator->popArr['modlistAss'] = $urights->getAssRights($getArr['id']);
             break;
     }
     $form_creator->display();
 }
Example #16
0
 private function upgrade_db_post_4770()
 {
     // Add CRUD access tokens for other users' unpublished posts
     ACL::create_token('post_unpublished', _t("Permissions to other users' unpublished posts"), _t('Content'), true);
     // If a group doesn't have super_user permission, deny access to post_unpublished
     $groups = UserGroups::get_all();
     foreach ($groups as $group) {
         if (!ACL::group_can($group->id, 'super_user', 'read')) {
             $group->deny('post_unpublished');
         }
     }
 }
 public static function getPermission($groupid, $keyName = '')
 {
     $prefix = '';
     $prefixall = Database::isPrefixAll();
     if ($prefixall != false || $prefixall == 'no') {
         $prefix = Database::getPrefix();
     }
     $loadData = array();
     if (!isset(self::$groupData['groupdata'])) {
         if (!($loadData = Cache::loadKey($prefix . 'userGroup_' . $groupid, -1))) {
             $loadData = self::get(array('cache' => 'no', 'where' => "where groupid='{$groupid}'"));
             if (!isset($loadData[0]['groupid'])) {
                 return false;
             }
             $loadData[0]['groupdata'] = unserialize(self::lineToArray($loadData[0]['groupdata']));
             $loadData = $loadData[0];
         } else {
             $loadData = unserialize($loadData);
             $loadData['groupdata'] = unserialize($loadData['groupdata']);
         }
         self::$groupData = $loadData;
         $groupData = $loadData['groupdata'];
     } else {
         $groupData = self::$groupData['groupdata'];
         if ((int) $groupid != (int) self::$groupData['groupid']) {
             $loadData = self::get(array('cache' => 'no', 'where' => "where groupid='{$groupid}'"));
             if (!isset($loadData[0]['groupid'])) {
                 return false;
             }
             $loadData[0]['groupdata'] = unserialize(self::lineToArray($loadData[0]['groupdata']));
             $groupData = $loadData[0]['groupdata'];
         }
     }
     $value = isset($groupData[$keyName]) ? $groupData[$keyName] : false;
     return $value;
 }
Example #18
0
 /**
  * Plugin UI - Displays the 'configure' config option.
  *
  * @access public
  * @return void
  */
 public function action_plugin_ui_configure()
 {
     $ui = new FormUI(strtolower(__CLASS__));
     $post_fieldset = $ui->append('fieldset', 'post_settings', _t('Autopost Updates from Habari', 'twitter'));
     $twitter_post = $post_fieldset->append('checkbox', 'post_status', 'twitter__post_status', _t('Autopost to Twitter:', 'twitter'));
     $twitter_post_nonanon = $post_fieldset->append('checkbox', 'post_nonanon', 'twitter__post_nonanon', _t("When autoposting, include posts that anonymous users can't read:", 'twitter'));
     $twitter_post = $post_fieldset->append('text', 'prepend', 'twitter__prepend', _t('Prepend to Autopost:', 'twitter'));
     $tweet_fieldset = $ui->append('fieldset', 'tweet_settings', _t('Displaying Status Updates', 'twitter'));
     $twitter_limit = $tweet_fieldset->append('select', 'limit', 'twitter__limit', _t('Number of updates to show', 'twitter'));
     $twitter_limit->options = array_combine(range(1, 20), range(1, 20));
     $twitter_show = $tweet_fieldset->append('checkbox', 'hide_replies', 'twitter__hide_replies', _t('Do not show @replies', 'twitter'));
     $twitter_show = $tweet_fieldset->append('checkbox', 'linkify_urls', 'twitter__linkify_urls', _t('Linkify URLs'));
     $twitter_hashtags = $tweet_fieldset->append('text', 'hashtags_query', 'twitter__hashtags_query', _t('#hashtags query link:', 'twitter'));
     $twitter_cache_time = $tweet_fieldset->append('text', 'cache', 'twitter__cache', _t('Cache expiry in seconds:', 'twitter'));
     $tweet_logins = $ui->append('fieldset', 'tweet_logins', _t('Logging In Using Twitter', 'twitter'));
     $twitterlogin = $tweet_logins->append('checkbox', 'twitterlogin', 'twitter__login', _t('Show button to log in with Twitter', 'twitter'));
     $twitterlogin = $tweet_logins->append('checkbox', 'twitterlogincreate', 'twitter__logincreate', _t('Create new users for unknown Twitter logins', 'twitter'));
     $raw_groups = UserGroups::get_all();
     $groups = array();
     foreach ($raw_groups as $group) {
         $groups[$group->id] = $group->name;
     }
     $twittergroup = $tweet_logins->append('select', 'twitterlogingroup', 'twitter__logingroup', _t('When a new user is created for a Twitter account, add it to this group:', 'twitter'), $groups);
     $ui->on_success(array($this, 'updated_config'));
     $ui->append('submit', 'save', _t('Save', 'twitter'));
     $ui->out();
 }
if (isset($_GET['reqcode']) && $_GET['reqcode'] === "ESS" && (isset($_GET['id']) && $_GET['id'] !== $_SESSION['empID'])) {
    trigger_error("Authorization Failed: You are not allowed to view this page", E_USER_ERROR);
}
/*
 * Allow Project admins to view project activity page.
 */
if ($_SESSION['isProjectAdmin'] && $moduletype == 'admin' && $_GET['uniqcode'] == 'PAC') {
    $locRights = array('add' => true, 'edit' => true, 'delete' => true, 'view' => true);
}
/*
 * Allow Supervisors to view/edit company property page
 */
if ($_SESSION['isSupervisor'] && $moduletype == 'admin' && $_GET['uniqcode'] == 'TCP') {
    $locRights = array('add' => true, 'edit' => true, 'delete' => true, 'view' => true);
}
$ugroup = new UserGroups();
$ugDet = $ugroup->filterUserGroups($_SESSION['userGroup']);
$locRights['repDef'] = $ugDet !== null && $ugDet[0][2] == '1' ? true : false;
$_SESSION['localRights'] = $locRights;
switch ($moduletype) {
    case 'admin':
        // beg. admin module
        $authorizeObj = new authorize($_SESSION['empID'], $_SESSION['isAdmin']);
        if (!$authorizeObj->isActionPermitted($_GET['uniqcode'])) {
            die('Your are not authorize to view this page');
        }
        $view_controller = new ViewController();
        if (isset($_POST['delState']) && $_POST['delState'] == 'DeleteMode' && $locRights['delete']) {
            $arrList[0] = $_POST['chkLocID'];
            $view_controller->delParser(trim($_GET['uniqcode']), $arrList);
        }
Example #20
0
 /**
  * Handles GET requests for a group's page.
  */
 public function get_group()
 {
     $group = UserGroup::get_by_id($this->handler_vars['id']);
     if (null == $group) {
         Utils::redirect(URL::get('admin', 'page=groups'));
     } else {
         $tokens = ACL::all_tokens('id');
         $access_names = ACL::$access_names;
         $access_names[] = 'deny';
         // attach access bitmasks to the tokens
         foreach ($tokens as $token) {
             $token->access = ACL::get_group_token_access($group->id, $token->id);
         }
         // separate tokens into groups
         $grouped_tokens = array();
         foreach ($tokens as $token) {
             $grouped_tokens[$token->token_group][$token->token_type ? 'crud' : 'bool'][] = $token;
         }
         $group = UserGroup::get_by_id($this->handler_vars['id']);
         $potentials = array();
         $users = Users::get_all();
         $users[] = User::anonymous();
         $members = $group->members;
         $jsusers = array();
         foreach ($users as $user) {
             $jsuser = new StdClass();
             $jsuser->id = $user->id;
             $jsuser->username = $user->username;
             $jsuser->member = in_array($user->id, $members);
             $jsusers[$user->id] = $jsuser;
         }
         $this->theme->potentials = $potentials;
         $this->theme->users = $users;
         $this->theme->members = $members;
         $js = '$(function(){groupManage.init(' . json_encode($jsusers) . ');});';
         Stack::add('admin_header_javascript', $js, 'groupmanage', 'admin');
         $this->theme->access_names = $access_names;
         $this->theme->grouped_tokens = $grouped_tokens;
         $this->theme->groups = UserGroups::get_all();
         $this->theme->group = $group;
         $this->theme->id = $group->id;
         $this->theme->wsse = Utils::WSSE();
         $this->display('group');
     }
 }
Example #21
0
 /**
  * Returns the data model based on the primary key given in the GET variable.
  * If the data model is not found, an HTTP exception will be raised.
  * @param integer $id the ID of the model to be loaded
  * @return UserGroups the loaded model
  * @throws CHttpException
  */
 public function loadModel($id)
 {
     $model = UserGroups::model()->findByPk($id);
     if ($model === null) {
         throw new CHttpException(404, 'The requested page does not exist.');
     }
     return $model;
 }
                                <table class="table table-striped table-bordered table-condensed">
                                    <thead>
                                    <tr>
                                        <th>&nbsp;</th>
                                        <th><?php 
    echo Translate::get('User group name');
    ?>
</th>
                                        <th><?php 
    echo Translate::get('Level');
    ?>
</th>
                                    </tr>
                                    </thead>
                                    <?php 
    $user_groups = new UserGroups();
    $groups = $user_groups->getAll(UserGroups::SORT_ORDER_LEVEL);
    $selected_groups = $var->aclUserGroups->getArrayCopy();
    if (is_array($groups) && count($groups) > 0) {
        foreach ($groups as $group) {
            ?>
                                            <tr>
                                                <td><input id="user-groups[<?php 
            echo $group['id'];
            ?>
]"
                                                           name="user-groups[<?php 
            echo $group['id'];
            ?>
]"
                                                           type="checkbox"
 public function saveAction()
 {
     $errors = array();
     $id = $this->request->get("id");
     if ($this->request->isPost()) {
         $email = $this->request->get("email");
         $password = $this->request->get("password");
         $name = $this->request->get("name");
         $last_name = $this->request->get("last_name");
         $second_name = $this->request->get("second_name");
         $pMobile = $this->request->get("pmobile");
         $inspector = $id ? \Users::findFirst($id) : new \Users();
         if ($password and !empty($password)) {
             $inspector->password = md5($password);
         }
         // проверить существует ли такой email в БД
         $users = \Users::find(array("conditions" => "email = ?1", "bind" => array(1 => $email)));
         if ($users->getFirst()) {
             $errors[] = "Такий email вже існує в системі";
         } else {
             $inspector->email = $email;
             $inspector->name = $name;
             $inspector->last_name = $last_name;
             $inspector->second_name = $second_name;
             $inspector->pmobile = $pMobile;
             $inspector->is_active = true;
             if (!$id) {
                 $inspector->date_registration = date("Y-m-d H:i:s");
             }
             if ($id = !$inspector->save()) {
                 foreach ($inspector->getMessages() as $msg) {
                     $errors[] = $msg->getMessage();
                 }
             } else {
                 // saved is true
                 foreach ($inspector->UserGroups as $userGroups) {
                     if ($userGroups->group_id == 3) {
                         // удаляем его пренадлежность к контролеру
                         if ($userGroups->delete()) {
                             foreach ($userGroups->getMessages() as $msg) {
                                 $errors[] = $msg->getMessage();
                             }
                         }
                     }
                 }
                 $userGroups = new \UserGroups();
                 $userGroups->user_id = $inspector->id;
                 $userGroups->group_id = 3;
                 // group by inspector
                 if (!$userGroups->save()) {
                     // добавялем принадлежность к контролеру
                     foreach ($userGroups->getMessages() as $msg) {
                         $errors[] = $msg->getMessage();
                     }
                 }
             }
         }
         if ($errors === array()) {
             // redirect to dealer edit
             $this->response->redirect('/methodist/inspector/edit/' . $inspector->id . "?saved=true");
         }
     } else {
         $errors[] = "Немає данних для збереження";
     }
     $this->view->errors = $errors;
     $this->view->back = $id ? '/methodist/inspector/edit/' . $id : '/methodist/inspector/add';
 }
Example #24
0
<?php

namespace ScriptAcid;

if (!defined("KERNEL_INCLUDED") || KERNEL_INCLUDED !== true) {
    die;
}
global $USER;
if ($arParams["SET_TITLE"]) {
    SetTitle($arParams["TITLE_TEXT"]);
}
$arResult["USER"] = $USER->GetByID(intVal($arParams["USER_ID"]));
if (!($arResult["GROUPS"] = UserGroups::GetGroupList())) {
    $arResult["GROUPS"] = array();
}
$this->connectComponentTemplate();
Example #25
0
 /**
  * Add or delete groups.
  */
 public function update_groups($handler_vars, $ajax = true)
 {
     $wsse = Utils::WSSE($handler_vars['nonce'], $handler_vars['timestamp']);
     if (isset($handler_vars['digest']) && $handler_vars['digest'] != $wsse['digest'] || isset($handler_vars['password_digest']) && $handler_vars['password_digest'] != $wsse['digest']) {
         Session::error(_t('WSSE authentication failed.'));
         return Session::messages_get(true, 'array');
     }
     if (isset($handler_vars['password_digest']) || isset($handler_vars['digest'])) {
         if (isset($handler_vars['action']) && $handler_vars['action'] == 'add' || isset($handler_vars['newgroup'])) {
             if (isset($handler_vars['newgroup'])) {
                 $name = trim($handler_vars['new_groupname']);
             } else {
                 $name = trim($handler_vars['name']);
             }
             $settings = array('name' => $name);
             $this->theme->addform = $settings;
             if (UserGroup::exists($name)) {
                 Session::notice(sprintf(_t('The group %s already exists'), $name));
                 if ($ajax) {
                     return Session::messages_get(true, 'array');
                 } else {
                     return;
                 }
             } elseif (empty($name)) {
                 Session::notice(_t('The group must have a name'));
                 if ($ajax) {
                     return Session::message_get(true, 'array');
                 } else {
                     return;
                 }
             } else {
                 $groupdata = array('name' => $name);
                 $group = UserGroup::create($groupdata);
                 Session::notice(sprintf(_t('Added group %s'), $name));
                 // reload the groups
                 $this->theme->groups = UserGroups::get_all();
                 $this->theme->addform = array();
             }
             if ($ajax) {
                 return Session::messages_get(true, 'array');
             } else {
                 if (!$ajax) {
                     Utils::redirect(URL::get('admin', 'page=groups'));
                 }
             }
         }
         if (isset($handler_vars['action']) && $handler_vars['action'] == 'delete' && $ajax == true) {
             $ids = array();
             foreach ($_POST as $id => $delete) {
                 // skip POST elements which are not group ids
                 if (preg_match('/^p\\d+$/', $id) && $delete) {
                     $id = (int) substr($id, 1);
                     $ids[] = array('id' => $id);
                 }
             }
             $count = 0;
             if (!isset($ids)) {
                 Session::notice(_t('No groups deleted.'));
                 return Session::messages_get(true, 'array');
             }
             foreach ($ids as $id) {
                 $id = $id['id'];
                 $group = UserGroup::get_by_id($id);
                 $group->delete();
                 $count++;
             }
             if (!isset($msg_status)) {
                 $msg_status = sprintf(_t('Deleted %d groups.'), $count);
             }
             Session::notice($msg_status);
             return Session::messages_get(true, 'array');
         }
     }
 }
    /**
     *	Draws mass mail form
     *		$param $draw
     */
    public function DrawMassMailForm($draw = true)
    {
        global $objSettings;
        $template_subject = '';
        $template_content = '';
        $result = database_query('SELECT COUNT(*) as cnt FROM ' . $this->TABLE_NAME . ' WHERE is_active = 1 AND email_notifications = 1 AND email != \'\'', DATA_ONLY, FIRST_ROW_ONLY);
        $members_emails_count = isset($result['cnt']) ? $result['cnt'] : 0;
        $result = database_query('SELECT COUNT(*) as cnt FROM ' . TABLE_ACCOUNTS . ' WHERE is_active = 1 AND email != \'\'', DATA_ONLY, FIRST_ROW_ONLY);
        $admins_emails_count = isset($result['cnt']) ? $result['cnt'] : 0;
        $emails_count = $members_emails_count + $admins_emails_count;
        $result = database_query('SELECT COUNT(*) as cnt FROM ' . TABLE_NEWS_SUBSCRIBED . ' WHERE email != \'\'', DATA_ONLY, FIRST_ROW_ONLY);
        $newsletter_subscribers_count = isset($result['cnt']) ? $result['cnt'] : 0;
        $send_copy_to_admin = '1';
        $email_from = $objSettings->GetParameter('admin_email');
        $template_code = isset($_GET['template_code']) ? prepare_input($_GET['template_code']) : '';
        $duration = isset($_POST['duration']) ? (int) $_POST['duration'] : '5';
        $members_module_installed = Modules::IsModuleInstalled($this->MODULE_NAME);
        // load appropriate email template
        if ($template_code != '') {
            $template = $this->GetTemplate($template_code, Application::Get('lang'));
            $template_subject = $template['template_subject'];
            $template_content = $template['template_content'];
        }
        if ($this->error == true) {
            $template_code = isset($_POST['template_name']) ? prepare_input($_POST['template_name']) : '';
            $template_subject = isset($_POST['subject']) ? prepare_input($_POST['subject']) : '';
            $template_content = isset($_POST['message']) ? prepare_input($_POST['message']) : '';
        }
        $output = '<script type="text/javascript">
			function duration_OnChange(val){
				var el_package_size = (document.getElementById(\'package_size\')) ? document.getElementById(\'package_size\') : null;
				if(val == \'\' && el_package_size){
					el_package_size.selectedIndex = 0;
					el_package_size.disabled = \'disabled\';
				}else{
					el_package_size.disabled = \'\';
				}
			}
			
			function email_to_OnChange(val){
				var el_send_copy_to_admin = (document.getElementById(\'send_copy_to_admin\')) ? document.getElementById(\'send_copy_to_admin\') : null;
				if(val == \'admins\' && el_send_copy_to_admin){
					el_send_copy_to_admin.disabled = \'disabled\';
				}else{
					el_send_copy_to_admin.disabled = \'\';
				}
			}
					
			function OnSubmit_Check(){
				var email_to = (document.getElementById(\'email_to\')) ? document.getElementById(\'email_to\').value : \'\';
				var email_from = (document.getElementById(\'email_from\')) ? document.getElementById(\'email_from\').value : \'\';
				var subject = (document.getElementById(\'subject\')) ? document.getElementById(\'subject\').value : \'\';
				var message = (document.getElementById(\'message\')) ? document.getElementById(\'message\').value : \'\';
				if(email_to == \'\'){
					alert(\'' . str_replace('_FIELD_', _EMAIL_TO, _FIELD_CANNOT_BE_EMPTY) . '\');
					document.getElementById(\'email_to\').focus();
					return false;            
				}else if(email_from == \'\'){
					alert(\'' . str_replace('_FIELD_', _EMAIL_FROM, _FIELD_CANNOT_BE_EMPTY) . '\');
					document.getElementById(\'email_from\').focus();
					return false;
				}else if(email_from != \'\' && !appIsEmail(email_from)){
					alert(\'' . str_replace('_FIELD_', _EMAIL_FROM, _FIELD_MUST_BE_EMAIL) . '\');
					document.getElementById(\'email_from\').focus();
					return false;			
				}else if(subject == \'\'){
					alert(\'' . str_replace('_FIELD_', _SUBJECT, _FIELD_CANNOT_BE_EMPTY) . '\');
					document.getElementById(\'subject\').focus();
					return false;
				}else if(message == \'\'){
					alert(\'' . str_replace('_FIELD_', _MESSAGE, _FIELD_CANNOT_BE_EMPTY) . '\');
					document.getElementById(\'message\').focus();
					return false;
				}else if(email_to == \'all\'){
					if(!confirm(\'' . _PERFORM_OPERATION_COMMON_ALERT . '\')){
						return false;
					}
				}
				return true;
			}
		</script>';
        $output .= '<form action="index.php?admin=mass_mail" method="post" style="margin:0px;">
			' . draw_hidden_field('task', 'send', false) . '
			' . draw_hidden_field('email_random_code', get_random_string(10), false) . '
			' . draw_token_field(false) . '
			
			<table border="0" cellspacing="10">
			<tr>
				<td align="left" valign="top">
					<fieldset style="height:410px;">
					<legend><b>' . _FORM . ':</b></legend>
					<table width="97%" align="center" border="0" cellspacing="5">
					<tr>
						<td align="right" nowrap="nowrap">
							<label>' . _EMAIL_TEMPLATES . ':</label><br>
							' . prepare_permanent_link('index.php?admin=email_templates', '[ ' . _MANAGE_TEMPLATES . ' ]', '', '') . '
						</td>
						<td></td>
						<td>
							<table cellpadding="0" cellspacing="0">
							<tr valign="middle">
								<td>
									<select name="template_name" id="template_name" style="margin-bottom:3px;" onchange="javascript:appGoTo(\'admin=mass_mail&template_code=\'+this.value)">
										<option value="">-- ' . _NO_TEMPLATE . ' --</option>';
        $templates = $this->GetAllTemplates('is_system_template=0');
        for ($i = 0; $i < $templates[1]; $i++) {
            $output .= '<option';
            $output .= $templates[0][$i]['is_system_template'] == '1' ? ' style="background-color:#ffffcc;color:#000055"' : '';
            $output .= $template_code == $templates[0][$i]['template_code'] ? ' selected="selected"' : '';
            $output .= ' value="' . encode_text($templates[0][$i]['template_code']) . '">' . $templates[0][$i]['template_name'] . '</option>';
        }
        $output .= '
									</select>						
								</td>
							</tr>
							</table>                    
						</td>
					</tr>
					<tr>
						<td align="right" nowrap="nowrap"><label>' . _EMAIL_TO . ':</label></td>
						<td><span class="mandatory_star">*</span></td>
						<td>
							<select name="email_to" id="email_to" style="margin-bottom:3px;" onchange="email_to_OnChange(this.value)">
								<option value="">-- ' . _SELECT . ' --</option>
								<option value="test" style="background-color:#ffffcc;color:#000055">' . _TEST_EMAIL . ' (' . $email_from . ')</option>';
        if (Modules::IsModuleInstalled('news')) {
            $output .= '<option value="newsletter_subscribers" style="background-color:#ffccff;color:#000055">' . _NEWSLETTER_SUBSCRIBERS . ' (' . $newsletter_subscribers_count . ')</option>';
        }
        if ($members_module_installed) {
            $output .= '<optgroup label="' . $this->MEMBERS_NAME . '">';
            $output .= '<option value="members|all">' . _ALL . ' (' . $members_emails_count . ')</option>';
            if (self::$PROJECT == 'ShoppingCart' || self::$PROJECT == 'BusinessDirectory' || self::$PROJECT == 'HotelSite') {
                $arrMembersGroups = CustomerGroups::GetAllGroupsByCustomers();
            } else {
                if (self::$PROJECT == 'MedicalAppointment') {
                    $arrMembersGroups = PatientGroups::GetAllGroupsByPatiens();
                } else {
                    $arrMembersGroups = UserGroups::GetAllGroupsByUsers();
                }
            }
            $member_groups_emails_count = 0;
            if ($arrMembersGroups[1] > 0) {
                foreach ($arrMembersGroups[0] as $key => $val) {
                    if ($val[$this->MODULE_NAME . '_count']) {
                        $output .= '<option value="members|' . $val['id'] . '">' . $val['name'] . ' (' . $val[$this->MODULE_NAME . '_count'] . ')</option>';
                        $member_groups_emails_count += $val[$this->MODULE_NAME . '_count'];
                    }
                }
            }
            $member_non_groups_emails = $members_emails_count - $member_groups_emails_count;
            $output .= '<option value="members|uncategorized">' . _UNCATEGORIZED . ' (' . $member_non_groups_emails . ')</option>';
            $output .= '</optgroup>';
        }
        $output .= '<option value="admins">' . _ADMINS . ' (' . $admins_emails_count . ')</option>';
        if ($members_module_installed) {
            $output .= '<option value="all">' . $this->ADMINS_MEMBERS_NAME . ' (' . $emails_count . ')</option>';
        }
        $output .= '</select>
						</td>
					</tr>            
					<tr>
						<td align="right" nowrap="nowrap"><label for="email">' . _EMAIL_FROM . ':</label></td>
						<td><span class="mandatory_star">*</span></td>
						<td>
							<input type="text" name="email_from" style="width:210px" id="email_from" value="' . decode_text($email_from) . '" maxlength="70" />
						</td>
					</tr>
					<tr valign="top">
						<td align="right" nowrap="nowrap"><label>' . _SUBJECT . ':</label></td>
						<td><span class="mandatory_star">*</span></td>
						<td>
							<input type="text" style="width:410px" name="subject" id="subject" value="' . decode_text($template_subject) . '" maxlength="255" />
						</td>
					</tr>
					<tr valign="top">
						<td align="right" nowrap="nowrap"><label>' . _MESSAGE . ':</label></td>
						<td><span class="mandatory_star">*</span></td>
						<td>
							<textarea style="width:465px;margin-right:10px;" rows="10" name="message" id="message">' . $template_content . '</textarea>
						</td>
					</tr>';
        $output .= '<tr valign="middle">
						<td colspan="2"></td>
						<td><img src="images/question_mark.png" alt="">' . _MASS_MAIL_ALERT . '</td>
					</tr>';
        $output .= '<tr><td colspan="3" nowrap style="height:6px;"></td></tr>
					<tr>
						<td align="right" nowrap="nowrap"><a href="javascript:void(0);" onclick="appPopupWindow(\'mail_preview.html\',\'message\')">[ ' . _PREVIEW . ' ]</a></td>
						<td></td>
						<td>
							<div style="float:left"><input type="checkbox" class="form_checkbox" name="send_copy_to_admin" id="send_copy_to_admin" ' . ($send_copy_to_admin == '1' ? 'checked="checked"' : '') . ' value="1"> <label for="send_copy_to_admin">' . _SEND_COPY_TO_ADMIN . '</label></div>
							<div style="float:right"><input class="form_button" type="submit" name="btnSubmit" value="' . _SEND . '" onclick="return OnSubmit_Check();">&nbsp;&nbsp;</div>
						</td>
					</tr>
					</table>
					</fieldset>
				</td>        
				<td align="left" valign="top">
					<fieldset style="padding-' . Application::Get('defined_right') . ':10px;">
					<legend>' . _PREDEFINED_CONSTANTS . ':</legend>
					<ul>
						<li>{FIRST NAME} <br><span style="color:a0a0a0">' . _PC_FIRST_NAME_TEXT . '</span></li>
						<li>{LAST NAME} <br><span style="color:a0a0a0">' . _PC_LAST_NAME_TEXT . '</span></li>
						<li>{USER NAME} <br><span style="color:a0a0a0">' . _PC_USER_NAME_TEXT . '</span></li>
						<li>{USER EMAIL} <br><span style="color:a0a0a0">' . _PC_USER_EMAIL_TEXT . '</span></li>
						<li>{BASE URL} <br><span style="color:a0a0a0">' . _PC_WEB_SITE_BASED_URL_TEXT . '</span></li>
						<li>{WEB SITE} <br><span style="color:a0a0a0">' . _PC_WEB_SITE_URL_TEXT . '</span></li>
						<li>{YEAR} <br><span style="color:a0a0a0">' . _PC_YEAR_TEXT . '</span></li>
					</ul>
					</fieldset>
				</td>
			</tr>
			</table>    
		</form>';
        if ($draw) {
            echo $output;
        } else {
            return $output;
        }
    }
 public function profile()
 {
     $post = array('alert' => '');
     $match = Uri::match('\\/profile$');
     $userid = Users::getCookieUserId();
     if (Request::has('btnSave')) {
         try {
             updateProcess($userid);
             $post['alert'] = '<div class="alert alert-success">Save changes success.</div>';
         } catch (Exception $e) {
             $post['alert'] = '<div class="alert alert-warning">' . $e->getMessage() . '</div>';
         }
     }
     if (Request::has('btnChangePassword')) {
         Users::changePassword($userid, Request::get('password', ''));
     }
     $prefix = '';
     $prefixall = Database::isPrefixAll();
     if ($prefixall != false || $prefixall == 'no') {
         $prefix = Database::getPrefix();
     }
     $loadData = Users::get(array('query' => "select u.*,ug.*,a.* from " . $prefix . "users u," . $prefix . "usergroups ug," . $prefix . "address a where u.groupid=ug.groupid AND u.userid=a.userid AND u.userid='{$userid}' order by u.userid desc"));
     $post['edit'] = $loadData[0];
     $post['listGroups'] = UserGroups::get();
     System::setTitle('Profile - ' . ADMINCP_TITLE);
     View::make('admincp/head');
     self::makeContents('userEdit', $post);
     View::make('admincp/footer');
 }