XoopsModules25x /
xhelp
These results are based on our legacy PHP analysis, consider migrating to our new PHP analysis engine instead. Learn more
| 1 | <?php |
||
|
0 ignored issues
–
show
|
|||
| 2 | //$Id: department.php,v 1.22 2005/11/29 17:48:12 ackbarr Exp $ |
||
| 3 | include('../../../include/cp_header.php'); |
||
| 4 | include_once('admin_header.php'); |
||
| 5 | include_once(XOOPS_ROOT_PATH . '/class/pagenav.php'); |
||
| 6 | require_once(XHELP_CLASS_PATH . '/xhelpForm.php'); |
||
| 7 | require_once(XHELP_CLASS_PATH . '/xhelpFormRadio.php'); |
||
| 8 | require_once(XHELP_CLASS_PATH . '/xhelpFormCheckbox.php'); |
||
| 9 | |||
| 10 | global $xoopsModule; |
||
| 11 | $module_id = $xoopsModule->getVar('mid'); |
||
| 12 | |||
| 13 | $start = $limit = 0; |
||
| 14 | if (isset($_REQUEST['limit'])) { |
||
| 15 | $limit = intval($_REQUEST['limit']); |
||
| 16 | } |
||
| 17 | if (isset($_REQUEST['start'])) { |
||
| 18 | $start = intval($_REQUEST['start']); |
||
| 19 | } |
||
| 20 | if (!$limit) { |
||
| 21 | $limit = 15; |
||
| 22 | } |
||
| 23 | if(isset($_REQUEST['order'])){ |
||
| 24 | $order = $_REQUEST['order']; |
||
| 25 | } else { |
||
| 26 | $order = "ASC"; |
||
| 27 | } |
||
| 28 | if(isset($_REQUEST['sort'])) { |
||
| 29 | $sort = $_REQUEST['sort']; |
||
| 30 | } else { |
||
| 31 | $sort = "department"; |
||
| 32 | } |
||
| 33 | $dept_search = false; |
||
| 34 | if(isset($_REQUEST['dept_search'])) { |
||
| 35 | $dept_search = $_REQUEST['dept_search']; |
||
| 36 | } |
||
| 37 | |||
| 38 | $aSortBy = array('id' => _AM_XHELP_TEXT_ID, 'department' => _AM_XHELP_TEXT_DEPARTMENT); |
||
| 39 | $aOrderBy = array('ASC' => _AM_XHELP_TEXT_ASCENDING, 'DESC' => _AM_XHELP_TEXT_DESCENDING); |
||
| 40 | $aLimitBy = array('10' => 10, '15' => 15, '20' => 20, '25' => 25, '50' => 50, '100' => 100); |
||
| 41 | |||
| 42 | $op = 'default'; |
||
| 43 | |||
| 44 | if ( isset( $_REQUEST['op'] ) ) |
||
| 45 | { |
||
| 46 | $op = $_REQUEST['op']; |
||
| 47 | } |
||
| 48 | |||
| 49 | switch ( $op ) |
||
| 50 | { |
||
| 51 | case "activateMailbox": |
||
| 52 | activateMailbox(); |
||
| 53 | break; |
||
| 54 | |||
| 55 | case "AddDepartmentServer": |
||
| 56 | addDepartmentServer(); |
||
| 57 | break; |
||
| 58 | |||
| 59 | case "DeleteDepartmentServer": |
||
| 60 | DeleteDepartmentServer(); |
||
| 61 | break; |
||
| 62 | |||
| 63 | case "deleteStaffDept": |
||
| 64 | deleteStaffDept(); |
||
| 65 | break; |
||
| 66 | |||
| 67 | case "editDepartment": |
||
| 68 | editDepartment(); |
||
| 69 | break; |
||
| 70 | |||
| 71 | case "EditDepartmentServer": |
||
| 72 | EditDepartmentServer(); |
||
| 73 | break; |
||
| 74 | |||
| 75 | case "manageDepartments": |
||
| 76 | manageDepartments(); |
||
| 77 | break; |
||
| 78 | |||
| 79 | case "testMailbox": |
||
| 80 | testMailbox(); |
||
| 81 | break; |
||
| 82 | |||
| 83 | case "clearAddSession": |
||
| 84 | clearAddSession(); |
||
| 85 | break; |
||
| 86 | |||
| 87 | case "clearEditSession": |
||
| 88 | clearEditSession(); |
||
| 89 | break; |
||
| 90 | |||
| 91 | case "updateDefault": |
||
| 92 | updateDefault(); |
||
| 93 | break; |
||
| 94 | |||
| 95 | default: |
||
| 96 | header("Location: ".XHELP_BASE_URL."/admin/index.php"); |
||
| 97 | break; |
||
| 98 | } |
||
| 99 | |||
| 100 | function activateMailbox() |
||
| 101 | { |
||
| 102 | $id = intval($_GET['id']); |
||
| 103 | $setstate = intval($_GET['setstate']); |
||
| 104 | |||
| 105 | $hMailbox =& xhelpGetHandler('departmentMailBox'); |
||
| 106 | if ($mailbox =& $hMailbox->get($id)) { |
||
| 107 | $url = XHELP_BASE_URL.'/admin/department.php?op=editDepartment&id='. $mailbox->getVar('departmentid'); |
||
| 108 | $mailbox->setVar('active', $setstate); |
||
| 109 | if ($hMailbox->insert($mailbox, true)) { |
||
| 110 | header("Location: $url"); |
||
| 111 | } else { |
||
| 112 | redirect_header($url, 3, _AM_XHELP_DEPARTMENT_SERVER_ERROR); |
||
| 113 | } |
||
| 114 | } else { |
||
| 115 | redirect_header(XHELP_BASE_URL.'/admin/department.php?op=manageDepartments', 3, _XHELP_NO_MAILBOX_ERROR); |
||
| 116 | } |
||
| 117 | } |
||
| 118 | |||
| 119 | function addDepartmentServer() |
||
| 120 | { |
||
| 121 | if(isset($_GET['id'])){ |
||
| 122 | $deptID = intval($_GET['id']); |
||
| 123 | } else { |
||
| 124 | redirect_header(XHELP_ADMIN_URL."/department.php?op=manageDepartments", 3, _AM_XHELP_DEPARTMENT_NO_ID); |
||
| 125 | } |
||
| 126 | |||
| 127 | $hDeptServers =& xhelpGetHandler('departmentMailBox'); |
||
| 128 | $server = $hDeptServers->create(); |
||
| 129 | $server->setVar('departmentid',$deptID); |
||
| 130 | $server->setVar('emailaddress', $_POST['emailaddress']); |
||
| 131 | $server->setVar('server', $_POST['server']); |
||
| 132 | $server->setVar('serverport', $_POST['port']); |
||
| 133 | $server->setVar('username', $_POST['username']); |
||
| 134 | $server->setVar('password', $_POST['password']); |
||
| 135 | $server->setVar('priority', $_POST['priority']); |
||
| 136 | // |
||
| 137 | if ($hDeptServers->insert($server)) { |
||
| 138 | header("Location: ".XHELP_ADMIN_URL."/department.php?op=manageDepartments"); |
||
| 139 | } else { |
||
| 140 | redirect_header(XHELP_ADMIN_URL.'/department.php?op=manageDepartments', 3, _AM_XHELP_DEPARTMENT_SERVER_ERROR); |
||
| 141 | } |
||
| 142 | } |
||
| 143 | |||
| 144 | function DeleteDepartmentServer() { |
||
| 145 | |||
| 146 | if(isset($_REQUEST['id'])){ |
||
| 147 | $emailID = intval($_REQUEST['id']); |
||
| 148 | } else { |
||
| 149 | redirect_header(XHELP_ADMIN_URL.'/department.php?op=manageDepartments', 3, _AM_XHELP_DEPARTMENT_SERVER_NO_ID); |
||
| 150 | } |
||
| 151 | |||
| 152 | $hDeptServers =& xhelpGetHandler('departmentMailBox'); |
||
| 153 | $server =& $hDeptServers->get($emailID); |
||
| 154 | |||
| 155 | if (!isset($_POST['ok'])) { |
||
| 156 | xoops_cp_header(); |
||
| 157 | //echo $oAdminButton->renderButtons('manDept'); |
||
| 158 | $indexAdmin = new ModuleAdmin(); |
||
| 159 | echo $indexAdmin->addNavigation('department.php'); |
||
| 160 | |||
| 161 | xoops_confirm(array('op' => 'DeleteDepartmentServer', 'id' => $emailID, 'ok' => 1), XHELP_BASE_URL .'/admin/department.php', sprintf(_AM_XHELP_MSG_DEPT_MBOX_DEL_CFRM, $server->getVar('emailaddress'))); |
||
| 162 | xoops_cp_footer(); |
||
| 163 | } else { |
||
| 164 | //get handler |
||
| 165 | if ($hDeptServers->delete($server,true)) { |
||
| 166 | header("Location: ".XHELP_ADMIN_URL."/department.php?op=manageDepartments"); |
||
| 167 | } else { |
||
| 168 | redirect_header(XHELP_ADMIN_URL.'/department.php?op=manageDepartments', 3, _AM_XHELP_DEPARTMENT_SERVER_DELETE_ERROR); |
||
| 169 | } |
||
| 170 | } |
||
| 171 | } |
||
| 172 | |||
| 173 | function deleteStaffDept() |
||
| 174 | { |
||
| 175 | if(isset($_GET['deptid'])){ |
||
| 176 | $deptID = intval($_GET['deptid']); |
||
| 177 | } else { |
||
| 178 | redirect_header(XHELP_ADMIN_URL."/department.php?op=manageDepartments", 3, _AM_XHELP_MSG_NO_DEPTID); |
||
| 179 | } |
||
| 180 | if(isset($_GET['uid'])){ |
||
| 181 | $staffID = intval($_GET['uid']); |
||
| 182 | } elseif(isset($_POST['staff'])){ |
||
| 183 | $staffID = $_POST['staff']; |
||
| 184 | } else { |
||
| 185 | redirect_header(XHELP_ADMIN_URL."/department.php?op=editDepartment&deptid=$deptID", 3, _AM_XHELP_MSG_NO_UID); |
||
| 186 | } |
||
| 187 | |||
| 188 | $hMembership =& xhelpGetHandler('membership'); |
||
| 189 | if(is_array($staffID)){ |
||
| 190 | foreach($staffID as $sid){ |
||
| 191 | $ret = $hMembership->removeDeptFromStaff($deptID, $sid); |
||
| 192 | } |
||
| 193 | } else { |
||
| 194 | $ret = $hMembership->removeDeptFromStaff($deptID, $staffID); |
||
| 195 | } |
||
| 196 | |||
| 197 | if($ret){ |
||
| 198 | header("Location: ".XHELP_ADMIN_URL."/department.php?op=editDepartment&deptid=$deptID"); |
||
| 199 | } else { |
||
| 200 | redirect_header(XHELP_ADMIN_URL."/department.php??op=editDepartment&deptid=$deptID", 3, _AM_XHELP_MSG_REMOVE_STAFF_DEPT_ERR); |
||
| 201 | } |
||
| 202 | } |
||
| 203 | |||
| 204 | function editDepartment() |
||
| 205 | { |
||
| 206 | $_xhelpSession = Session::singleton(); |
||
| 207 | global $imagearray, $xoopsModule, $limit, $start, $xoopsModuleConfig; |
||
| 208 | $module_id = $xoopsModule->getVar('mid'); |
||
| 209 | $displayName =& $xoopsModuleConfig['xhelp_displayName']; // Determines if username or real name is displayed |
||
| 210 | |||
| 211 | $_xhelpSession->set("xhelp_return_page", substr(strstr($_SERVER['REQUEST_URI'], 'admin/'), 6)); |
||
| 212 | |||
| 213 | View Code Duplication | if(isset($_REQUEST["deptid"])){ |
|
| 214 | $deptID = $_REQUEST['deptid']; |
||
| 215 | } else { |
||
| 216 | redirect_header(XHELP_ADMIN_URL."/department.php?op=manageDepartments", 3, _AM_XHELP_MSG_NO_DEPTID); |
||
| 217 | } |
||
| 218 | |||
| 219 | $hDepartments =& xhelpGetHandler('department'); |
||
| 220 | $hGroups =& xoops_gethandler('group'); |
||
| 221 | $hGroupPerm =& xoops_gethandler('groupperm'); |
||
| 222 | |||
| 223 | if(isset($_POST['updateDept'])){ |
||
| 224 | $groups = (isset($_POST['groups']) ? $_POST['groups'] : array()); |
||
| 225 | |||
| 226 | $hasErrors = false; |
||
| 227 | //Department Name supplied? |
||
| 228 | if (trim($_POST['newDept']) == '') { |
||
| 229 | $hasErrors = true; |
||
| 230 | $errors['newDept'][] = _AM_XHELP_MESSAGE_NO_DEPT; |
||
| 231 | } else { |
||
| 232 | |||
| 233 | //Department Name unique? |
||
| 234 | $crit = new CriteriaCompo(new Criteria('department', $_POST['newDept'])); |
||
| 235 | $crit->add(new Criteria('id', $deptID, '!=')); |
||
| 236 | View Code Duplication | if($existingDepts = $hDepartments->getCount($crit)){ |
|
| 237 | $hasErrors = true; |
||
| 238 | $errors['newDept'][] = _XHELP_MESSAGE_DEPT_EXISTS; |
||
| 239 | |||
| 240 | } |
||
| 241 | } |
||
| 242 | |||
| 243 | if ($hasErrors) { |
||
| 244 | $session =& Session::singleton(); |
||
| 245 | //Store existing dept info in session, reload addition page |
||
| 246 | $aDept = array(); |
||
| 247 | $aDept['newDept'] = $_POST['newDept']; |
||
| 248 | $aDept['groups'] = $groups; |
||
| 249 | $session->set("xhelp_editDepartment_$deptID", $aDept); |
||
| 250 | $session->set("xhelp_editDepartmentErrors_$deptID", $errors); |
||
| 251 | header('Location: '. xhelpMakeURI(XHELP_ADMIN_URL.'/department.php', array('op'=>'editDepartment', 'deptid'=>$deptID), false)); |
||
| 252 | exit(); |
||
| 253 | } |
||
| 254 | |||
| 255 | $dept =& $hDepartments->get($deptID); |
||
| 256 | |||
| 257 | $oldDept = $dept; |
||
| 258 | $groups = $_POST['groups']; |
||
| 259 | |||
| 260 | // Need to remove old group permissions first |
||
| 261 | $crit = new CriteriaCompo(new Criteria('gperm_modid', $module_id)); |
||
| 262 | $crit->add(new Criteria('gperm_itemid', $deptID)); |
||
| 263 | $crit->add(new Criteria('gperm_name', _XHELP_GROUP_PERM_DEPT)); |
||
| 264 | $hGroupPerm->deleteAll($crit); |
||
| 265 | |||
| 266 | foreach($groups as $group){ // Add new group permissions |
||
| 267 | $hGroupPerm->addRight(_XHELP_GROUP_PERM_DEPT, $deptID, $group, $module_id); |
||
| 268 | } |
||
| 269 | |||
| 270 | $dept->setVar('department', $_POST['newDept']); |
||
| 271 | |||
| 272 | if($hDepartments->insert($dept)){ |
||
| 273 | $message = _XHELP_MESSAGE_UPDATE_DEPT; |
||
| 274 | |||
| 275 | // Update default dept |
||
| 276 | if(isset($_POST['defaultDept']) && ($_POST['defaultDept'] == 1)){ |
||
| 277 | xhelpSetMeta("default_department", $dept->getVar('id')); |
||
| 278 | View Code Duplication | } else { |
|
| 279 | $depts =& $hDepartments->getObjects(); |
||
| 280 | $aDepts = array(); |
||
| 281 | foreach($depts as $dpt){ |
||
| 282 | $aDepts[] = $dpt->getVar('id'); |
||
| 283 | } |
||
| 284 | xhelpSetMeta("default_department", $aDepts[0]); |
||
| 285 | } |
||
| 286 | |||
| 287 | // Edit configoption for department |
||
| 288 | $hConfigOption =& xoops_gethandler('configoption'); |
||
| 289 | $crit = new CriteriaCompo(new Criteria('confop_name', $oldDept->getVar('department'))); |
||
| 290 | $crit->add(new Criteria('confop_value', $oldDept->getVar('id'))); |
||
| 291 | $confOption =& $hConfigOption->getObjects($crit); |
||
| 292 | |||
| 293 | if(count($confOption) > 0){ |
||
| 294 | $confOption[0]->setVar('confop_name', $dept->getVar('department')); |
||
| 295 | |||
| 296 | if(!$hConfigOption->insert($confOption[0])){ |
||
| 297 | redirect_header(XHELP_ADMIN_URL."/department.php?op=manageDepartments", 3, _AM_XHELP_MSG_UPDATE_CONFIG_ERR); |
||
| 298 | } |
||
| 299 | } |
||
| 300 | _clearEditSessionVars($deptID); |
||
| 301 | header("Location: ".XHELP_ADMIN_URL."/department.php?op=manageDepartments"); |
||
| 302 | } else { |
||
| 303 | $message = _XHELP_MESSAGE_UPDATE_DEPT_ERROR . $dept->getHtmlErrors(); |
||
| 304 | redirect_header(XHELP_ADMIN_URL."/department.php?op=manageDepartments", 3, $message); |
||
| 305 | } |
||
| 306 | |||
| 307 | } else { |
||
| 308 | xoops_cp_header(); |
||
| 309 | //echo $oAdminButton->renderButtons('manDept'); |
||
| 310 | |||
| 311 | $dept =& $hDepartments->get($deptID); |
||
| 312 | |||
| 313 | $session =& Session::singleton(); |
||
| 314 | $sess_dept = $session->get("xhelp_editDepartment_$deptID"); |
||
| 315 | $sess_errors = $session->get("xhelp_editDepartmentErrors_$deptID"); |
||
| 316 | |||
| 317 | //Display any form errors |
||
| 318 | if (! $sess_errors === false) { |
||
| 319 | xhelpRenderErrors($sess_errors, xhelpMakeURI(XHELP_ADMIN_URL.'/department.php', array('op'=>'clearEditSession', 'deptid'=>$deptID))); |
||
| 320 | } |
||
| 321 | |||
| 322 | $indexAdmin = new ModuleAdmin(); |
||
| 323 | echo $indexAdmin->addNavigation('department.php?op=editDepartment'); |
||
| 324 | |||
| 325 | // Get list of groups with permission |
||
| 326 | $crit = new CriteriaCompo(new Criteria('gperm_modid', $module_id)); |
||
| 327 | $crit->add(new Criteria('gperm_itemid', $deptID)); |
||
| 328 | $crit->add(new Criteria('gperm_name', _XHELP_GROUP_PERM_DEPT)); |
||
| 329 | $group_perms =& $hGroupPerm->getObjects($crit); |
||
| 330 | |||
| 331 | $aPerms = array(); // Put group_perms in usable format |
||
| 332 | foreach($group_perms as $perm){ |
||
| 333 | $aPerms[$perm->getVar('gperm_groupid')] = $perm->getVar('gperm_groupid'); |
||
| 334 | } |
||
| 335 | |||
| 336 | View Code Duplication | if (! $sess_dept === false) { |
|
| 337 | $fld_newDept = $sess_dept['newDept']; |
||
| 338 | $fld_groups = $sess_dept['groups']; |
||
| 339 | } else { |
||
| 340 | $fld_newDept = $dept->getVar('department'); |
||
| 341 | $fld_groups = $aPerms; |
||
| 342 | } |
||
| 343 | |||
| 344 | // Get list of all groups |
||
| 345 | $crit = new Criteria('', ''); |
||
| 346 | $crit->setSort('name'); |
||
| 347 | $crit->setOrder('ASC'); |
||
| 348 | $groups =& $hGroups->getObjects($crit, true); |
||
| 349 | |||
| 350 | $aGroups = array(); |
||
| 351 | foreach($groups as $group_id=>$group){ |
||
| 352 | $aGroups[$group_id] = $group->getVar('name'); |
||
| 353 | } |
||
| 354 | asort($aGroups); // Set groups in alphabetical order |
||
| 355 | |||
| 356 | echo '<script type="text/javascript" src="'.XOOPS_URL.'/modules/xhelp/include/functions.js"></script>'; |
||
| 357 | $form = new xhelpForm(_AM_XHELP_EDIT_DEPARTMENT, 'edit_dept', xhelpMakeURI(XHELP_ADMIN_URL.'/department.php', array('op'=>'editDepartment', 'deptid' => $deptID))); |
||
| 358 | $dept_name = new XoopsFormText(_AM_XHELP_TEXT_EDIT_DEPT, 'newDept', 20, 35, $fld_newDept); |
||
| 359 | $group_select = new XoopsFormSelect(_AM_XHELP_TEXT_EDIT_DEPT_PERMS, 'groups', $fld_groups, 6, true); |
||
| 360 | $group_select->addOptionArray($aGroups); |
||
| 361 | $defaultDeptID = xhelpGetMeta("default_department"); |
||
| 362 | $defaultDept = new xhelpFormCheckbox(_AM_XHELP_TEXT_DEFAULT_DEPT, 'defaultDept', (($defaultDeptID == $deptID) ? 1 : 0), 'defaultDept'); |
||
| 363 | $defaultDept->addOption(1, ""); |
||
| 364 | $btn_tray = new XoopsFormElementTray(''); |
||
| 365 | $btn_tray->addElement(new XoopsFormButton('', 'updateDept', _AM_XHELP_BUTTON_SUBMIT, 'submit')); |
||
| 366 | $form->addElement($dept_name); |
||
| 367 | $form->addElement($group_select); |
||
| 368 | $form->addElement($defaultDept); |
||
| 369 | $form->addElement($btn_tray); |
||
| 370 | $form->setLabelWidth('20%'); |
||
| 371 | echo $form->render(); |
||
| 372 | |||
| 373 | // Get dept staff members |
||
| 374 | $hMembership =& xhelpGetHandler('membership'); |
||
| 375 | $hMember =& xoops_gethandler('member'); |
||
| 376 | $hStaffRole =& xhelpGetHandler('staffRole'); |
||
| 377 | $hRole =& xhelpGetHandler('role'); |
||
| 378 | |||
| 379 | $staff = $hMembership->membershipByDept($deptID, $limit, $start); |
||
| 380 | $crit = new Criteria('j.department', $deptID); |
||
| 381 | $staffCount =& $hMembership->getCount($crit); |
||
| 382 | $roles =& $hRole->getObjects(null, true); |
||
| 383 | |||
| 384 | echo "<form action='".XHELP_ADMIN_URL."/department.php?op=deleteStaffDept&deptid=".$deptID."' method='post'>"; |
||
| 385 | echo "<table width='100%' cellspacing='1' class='outer'> |
||
| 386 | <tr><th colspan='".(3+count($roles))."'><label>". _AM_XHELP_MANAGE_STAFF ."</label></th></tr>"; |
||
| 387 | |||
| 388 | if($staffCount > 0){ |
||
| 389 | $aStaff = array(); |
||
| 390 | foreach($staff as $stf){ |
||
| 391 | $aStaff[$stf->getVar('uid')] = $stf->getVar('uid'); // Get array of staff uid |
||
| 392 | } |
||
| 393 | |||
| 394 | // Get user list |
||
| 395 | $crit = new Criteria('uid', "(". implode($aStaff, ',') .")", "IN"); |
||
| 396 | //$members =& $hMember->getUserList($crit); |
||
| 397 | $members =& xhelpGetUsers($crit, $displayName); |
||
| 398 | |||
| 399 | // Get staff roles |
||
| 400 | $crit = new CriteriaCompo(new Criteria('uid', "(". implode($aStaff, ',') .")", "IN")); |
||
| 401 | $crit->add(new Criteria('deptid', $deptID)); |
||
| 402 | $staffRoles =& $hStaffRole->getObjects($crit); |
||
| 403 | unset($aStaff); |
||
| 404 | |||
| 405 | $staffInfo = array(); |
||
| 406 | foreach($staff as $stf){ |
||
| 407 | $staff_uid = $stf->getVar('uid'); |
||
| 408 | $staffInfo[$staff_uid]['uname'] = $members[$staff_uid]; |
||
| 409 | $aRoles = array(); |
||
| 410 | foreach($staffRoles as $role){ |
||
| 411 | $role_id = $role->getVar('roleid'); |
||
| 412 | if($role->getVar('uid') == $staff_uid){ |
||
| 413 | $aRoles[$role_id] = $roles[$role_id]->getVar('name'); |
||
| 414 | } |
||
| 415 | $staffInfo[$staff_uid]['roles'] = implode($aRoles, ', '); |
||
| 416 | } |
||
| 417 | } |
||
| 418 | $nav = new XoopsPageNav($staffCount, $limit, $start, 'start', "op=editDepartment&deptid=$deptID&limit=$limit"); |
||
| 419 | |||
| 420 | echo "<tr class='head'><td rowspan='2'>"._AM_XHELP_TEXT_ID."</td><td rowspan='2'>"._AM_XHELP_TEXT_USER."</td><td colspan='".count($roles)."'>"._AM_XHELP_TEXT_ROLES."</td><td rowspan='2'>"._AM_XHELP_TEXT_ACTIONS."</td></tr>"; |
||
| 421 | echo "<tr class='head'>"; |
||
| 422 | foreach ($roles as $thisrole) echo "<td>".$thisrole->getVar('name')."</td>"; |
||
| 423 | echo "</tr>"; |
||
| 424 | foreach($staffInfo as $uid=>$staff){ |
||
| 425 | echo "<tr class='even'> |
||
| 426 | <td><input type='checkbox' name='staff[]' value='".$uid."' />".$uid."</td> |
||
| 427 | <td>".$staff['uname']."</td>"; |
||
| 428 | foreach ($roles as $thisrole) { |
||
| 429 | echo "<td><img src='".XHELP_BASE_URL."/images/"; |
||
| 430 | echo (in_array($thisrole->getVar('name'),explode(', ',$staff['roles']))) ? "on.png" : "off.png"; |
||
| 431 | echo "' /></td>"; |
||
| 432 | } |
||
| 433 | echo " <td> |
||
| 434 | <a href='".XHELP_ADMIN_URL."/staff.php?op=editStaff&uid=".$uid."'><img src='".XOOPS_URL."/modules/xhelp/images/button_edit.png' title='"._AM_XHELP_TEXT_EDIT."' name='editStaff' /></a> |
||
| 435 | <a href='".XHELP_ADMIN_URL."/department.php?op=deleteStaffDept&uid=".$uid."&deptid=".$deptID."'><img src='".XOOPS_URL."/modules/xhelp/images/button_delete.png' title='"._AM_XHELP_TEXT_DELETE_STAFF_DEPT."' name='deleteStaffDept' /></a> |
||
| 436 | </td> |
||
| 437 | </tr>"; |
||
| 438 | } |
||
| 439 | echo "<tr> |
||
| 440 | <td class='foot' colspan='".(3+count($roles))."'> |
||
| 441 | <input type='checkbox' name='checkallRoles' value='0' onclick='selectAll(this.form,\"staff[]\",this.checked);' /> |
||
| 442 | <input type='submit' name='deleteStaff' id='deleteStaff' value='"._AM_XHELP_BUTTON_DELETE."' /> |
||
| 443 | </td> |
||
| 444 | </tr>"; |
||
| 445 | echo "</table></form>"; |
||
| 446 | echo "<div id='staff_nav'>".$nav->renderNav()."</div>"; |
||
| 447 | } else { |
||
| 448 | echo "</table></form>"; |
||
| 449 | } |
||
| 450 | |||
| 451 | //now do the list of servers |
||
| 452 | $hDeptServers =& xhelpGetHandler('departmentMailBox'); |
||
| 453 | $deptServers =& $hDeptServers->getByDepartment($deptID); |
||
| 454 | //iterate |
||
| 455 | if (count($deptServers) > 0) { |
||
| 456 | echo "<br /><table width='100%' cellspacing='1' class='outer'> |
||
| 457 | <tr> |
||
| 458 | <th colspan='5'><label>". _AM_XHELP_DEPARTMENT_SERVERS ."</label></th> |
||
| 459 | </tr> |
||
| 460 | <tr> |
||
| 461 | <td class='head' width='20%'><label>". _AM_XHELP_DEPARTMENT_SERVERS_EMAIL ."</label></td> |
||
| 462 | <td class='head'><label>". _AM_XHELP_DEPARTMENT_SERVERS_TYPE ."</label></td> |
||
| 463 | <td class='head'><label>". _AM_XHELP_DEPARTMENT_SERVERS_SERVERNAME ."</label></td> |
||
| 464 | <td class='head'><label>". _AM_XHELP_DEPARTMENT_SERVERS_PORT ."</label></td> |
||
| 465 | <td class='head'><label>". _AM_XHELP_DEPARTMENT_SERVERS_ACTION ."</label></td> |
||
| 466 | </tr>"; |
||
| 467 | $i = 0; |
||
| 468 | foreach($deptServers as $server){ |
||
| 469 | if ($server->getVar('active')) { |
||
| 470 | $activ_link = '".XHELP_ADMIN_URL."/department.php?op=activateMailbox&setstate=0&id='. $server->getVar('id'); |
||
| 471 | $activ_img = $imagearray['online']; |
||
| 472 | $activ_title = _AM_XHELP_MESSAGE_DEACTIVATE; |
||
| 473 | } else { |
||
| 474 | $activ_link = '".XHELP_ADMIN_URL."/department.php?op=activateMailbox&setstate=1&id='. $server->getVar('id'); |
||
| 475 | $activ_img = $imagearray['offline']; |
||
| 476 | $activ_title = _AM_XHELP_MESSAGE_ACTIVATE; |
||
| 477 | } |
||
| 478 | |||
| 479 | echo '<tr class="even"> |
||
| 480 | <td>'.$server->getVar('emailaddress').'</td> |
||
| 481 | <td>'.xhelpGetMBoxType($server->getVar('mboxtype')).'</td> |
||
| 482 | <td>'.$server->getVar('server').'</td> |
||
| 483 | <td>'.$server->getVar('serverport').'</td> |
||
| 484 | <td> <a href="'. $activ_link.'" title="'. $activ_title.'">'. $activ_img.'</a> |
||
| 485 | <a href="'.XHELP_ADMIN_URL.'/department.php?op=EditDepartmentServer&id='.$server->GetVar('id').'">'.$imagearray['editimg'].'</a> |
||
| 486 | <a href="'.XHELP_ADMIN_URL.'/department.php?op=DeleteDepartmentServer&id='.$server->GetVar('id').'">'.$imagearray['deleteimg'].'</a> |
||
| 487 | |||
| 488 | </td> |
||
| 489 | </tr>'; |
||
| 490 | } |
||
| 491 | echo '</table>'; |
||
| 492 | } |
||
| 493 | //finally add Mailbox form |
||
| 494 | echo "<br /><br />"; |
||
| 495 | |||
| 496 | $formElements = array('type_select', 'server_text', 'port_text', 'username_text', 'pass_text', 'priority_radio', |
||
| 497 | 'email_text', 'btn_tray'); |
||
| 498 | $form = new xhelpForm(_AM_XHELP_DEPARTMENT_ADD_SERVER, 'add_server', xhelpMakeURI(XHELP_ADMIN_URL.'/department.php', array('op'=>'AddDepartmentServer', 'id' => $deptID))); |
||
| 499 | |||
| 500 | $type_select = new XoopsFormSelect(_AM_XHELP_DEPARTMENT_SERVERS_TYPE, 'mboxtype'); |
||
| 501 | $type_select->setExtra("id='mboxtype'"); |
||
| 502 | $type_select->addOption(_XHELP_MAILBOXTYPE_POP3, _AM_XHELP_MBOX_POP3); |
||
| 503 | |||
| 504 | $server_text = new XoopsFormText(_AM_XHELP_DEPARTMENT_SERVERS_SERVERNAME, 'server', 40, 50); |
||
| 505 | $server_text->setExtra("id='txtServer'"); |
||
| 506 | |||
| 507 | $port_text = new XoopsFormText(_AM_XHELP_DEPARTMENT_SERVERS_PORT, 'port', 5, 5, "110"); |
||
| 508 | $port_text->setExtra("id='txtPort'"); |
||
| 509 | |||
| 510 | $username_text = new XoopsFormText(_AM_XHELP_DEPARTMENT_SERVER_USERNAME, 'username', 25, 50); |
||
| 511 | $username_text->setExtra("id='txtUsername'"); |
||
| 512 | |||
| 513 | $pass_text = new XoopsFormText(_AM_XHELP_DEPARTMENT_SERVER_PASSWORD, 'password', 25, 50); |
||
| 514 | $pass_text->setExtra("id='txtPassword'"); |
||
| 515 | |||
| 516 | $priority_radio = new xhelpFormRadio(_AM_XHELP_DEPARTMENT_SERVERS_PRIORITY, 'priority', XHELP_DEFAULT_PRIORITY); |
||
| 517 | $priority_array = array('1' => "<label for='priority1'><img src='".XHELP_IMAGE_URL."/priority1.png' title='". xhelpGetPriority(1)."' alt='priority1' /></label>", |
||
| 518 | '2' => "<label for='priority2'><img src='".XHELP_IMAGE_URL."/priority2.png' title='". xhelpGetPriority(2)."' alt='priority2' /></label>", |
||
| 519 | '3' => "<label for='priority3'><img src='".XHELP_IMAGE_URL."/priority3.png' title='". xhelpGetPriority(3)."' alt='priority3' /></label>", |
||
| 520 | '4' => "<label for='priority4'><img src='".XHELP_IMAGE_URL."/priority4.png' title='". xhelpGetPriority(4)."' alt='priority4' /></label>", |
||
| 521 | '5' => "<label for='priority5'><img src='".XHELP_IMAGE_URL."/priority5.png' title='". xhelpGetPriority(5)."' alt='priority5' /></label>"); |
||
| 522 | $priority_radio->addOptionArray($priority_array); |
||
| 523 | |||
| 524 | $email_text = new XoopsFormText(_AM_XHELP_DEPARTMENT_SERVER_EMAILADDRESS, 'emailaddress', 50, 255); |
||
| 525 | $email_text->setExtra("id='txtEmailaddress'"); |
||
| 526 | |||
| 527 | $btn_tray = new XoopsFormElementTray(''); |
||
| 528 | $test_button = new XoopsFormButton('', 'email_test', _AM_XHELP_BUTTON_TEST, 'button'); |
||
| 529 | $test_button->setExtra("id='test'"); |
||
| 530 | $submit_button = new XoopsFormButton('', 'updateDept2', _AM_XHELP_BUTTON_SUBMIT, 'submit'); |
||
| 531 | $cancel2_button = new XoopsFormButton('', 'cancel2', _AM_XHELP_BUTTON_CANCEL, 'button'); |
||
| 532 | $cancel2_button->setExtra("onclick='history.go(-1)'"); |
||
| 533 | $btn_tray->addElement($test_button); |
||
| 534 | $btn_tray->addElement($submit_button); |
||
| 535 | $btn_tray->addElement($cancel2_button); |
||
| 536 | |||
| 537 | $form->setLabelWidth('20%'); |
||
| 538 | foreach($formElements as $element){ |
||
| 539 | $form->addElement($$element); |
||
| 540 | } |
||
| 541 | echo $form->render(); |
||
| 542 | |||
| 543 | echo "<script type=\"text/javascript\" language=\"javascript\"> |
||
| 544 | <!-- |
||
| 545 | function xhelpEmailTest() |
||
| 546 | { |
||
| 547 | pop = openWithSelfMain(\"\", \"email_test\", 250, 150); |
||
| 548 | frm = xoopsGetElementById(\"add_server\"); |
||
| 549 | newaction = \"department.php?op=testMailbox\"; |
||
| 550 | oldaction = frm.action; |
||
| 551 | frm.action = newaction; |
||
| 552 | frm.target = \"email_test\"; |
||
| 553 | frm.submit(); |
||
| 554 | frm.action = oldaction; |
||
| 555 | frm.target = \"main\"; |
||
| 556 | |||
| 557 | } |
||
| 558 | |||
| 559 | xhelpDOMAddEvent(xoopsGetElementById(\"email_test\"), \"click\", xhelpEmailTest, false); |
||
| 560 | |||
| 561 | //--> |
||
| 562 | </script>"; |
||
| 563 | include_once "admin_footer.php"; |
||
| 564 | } |
||
| 565 | } |
||
| 566 | |||
| 567 | function EditDepartmentServer() |
||
| 568 | { |
||
| 569 | if(isset($_GET['id'])){ |
||
| 570 | $id = intval($_GET['id']); |
||
| 571 | } else { |
||
| 572 | redirect_header(XHELP_ADMIN_URL."/department.php?op=manageDepartments", 3); // TODO: Make message for no mbox_id |
||
| 573 | } |
||
| 574 | |||
| 575 | $hDeptServers =& xhelpGetHandler('departmentMailBox'); |
||
| 576 | $deptServer =& $hDeptServers->get($id); |
||
| 577 | |||
| 578 | if(isset($_POST['updateMailbox'])){ |
||
| 579 | $deptServer->setVar('emailaddress', $_POST['emailaddress']); |
||
| 580 | $deptServer->setVar('server', $_POST['server']); |
||
| 581 | $deptServer->setVar('serverport', $_POST['port']); |
||
| 582 | $deptServer->setVar('username', $_POST['username']); |
||
| 583 | $deptServer->setVar('password', $_POST['password']); |
||
| 584 | $deptServer->setVar('priority', $_POST['priority']); |
||
| 585 | $deptServer->setVar('active', $_POST['activity']); |
||
| 586 | |||
| 587 | if($hDeptServers->insert($deptServer)){ |
||
| 588 | header("Location: ".XHELP_ADMIN_URL."/department.php?op=editDepartment&deptid=".$deptServer->getVar('departmentid')); |
||
| 589 | } else { |
||
| 590 | redirect_header(XHELP_ADMIN_URL."/department.php?op=editDepartment&deptid=".$deptServer->getVar('departmentid'),3); |
||
| 591 | } |
||
| 592 | } else { |
||
| 593 | xoops_cp_header(); |
||
| 594 | //echo $oAdminButton->renderButtons('manDept'); |
||
| 595 | $indexAdmin = new ModuleAdmin(); |
||
| 596 | echo $indexAdmin->addNavigation('department.php'); |
||
| 597 | echo '<script type="text/javascript" src="'.XOOPS_URL.'/modules/xhelp/include/functions.js"></script>'; |
||
| 598 | echo "<form method='post' id='edit_server' action='department.php?op=EditDepartmentServer&id=".$id."'> |
||
| 599 | <table width='100%' cellspacing='1' class='outer'> |
||
| 600 | <tr> |
||
| 601 | <th colspan='2'><label>". _AM_XHELP_DEPARTMENT_EDIT_SERVER ."</label></th> |
||
| 602 | </tr> |
||
| 603 | <tr> |
||
| 604 | <td class='head' width='20%'><label for='mboxtype'>"._AM_XHELP_DEPARTMENT_SERVERS_TYPE."</label></td> |
||
| 605 | <td class='even'> |
||
| 606 | <select name='mboxtype' id='mboxtype' onchange='xhelpPortOnChange(this.options[this.selectedIndex].text, \"txtPort\")'> |
||
| 607 | <option value='"._XHELP_MAILBOXTYPE_POP3."'>"._AM_XHELP_MBOX_POP3."</option> |
||
| 608 | <!--<option value='"._XHELP_MAILBOXTYPE_IMAP."'>"._AM_XHELP_MBOX_IMAP."</option>--> |
||
| 609 | </select> |
||
| 610 | </td> |
||
| 611 | </tr> |
||
| 612 | <tr> |
||
| 613 | <td class='head'><label for='txtServer'>"._AM_XHELP_DEPARTMENT_SERVERS_SERVERNAME."</label></td> |
||
| 614 | <td class='even'><input type='text' id='txtServer' name='server' value='".$deptServer->getVar('server')."' size='40' maxlength='50' /> |
||
| 615 | </tr> |
||
| 616 | <tr> |
||
| 617 | <td class='head'><label for='txtPort'>"._AM_XHELP_DEPARTMENT_SERVERS_PORT."</label></td> |
||
| 618 | <td class='even'><input type='text' id='txtPort' name='port' maxlength='5' size='5' value='".$deptServer->getVar('serverport')."' /> |
||
| 619 | </tr> |
||
| 620 | <tr> |
||
| 621 | <td class='head'><label for='txtUsername'>"._AM_XHELP_DEPARTMENT_SERVER_USERNAME."</label></td> |
||
| 622 | <td class='even'><input type='text' id='txtUsername' name='username' value='".$deptServer->getVar('username')."' size='25' maxlength='50' /> |
||
| 623 | </tr> |
||
| 624 | <tr> |
||
| 625 | <td class='head'><label for='txtPassword'>"._AM_XHELP_DEPARTMENT_SERVER_PASSWORD."</label></td> |
||
| 626 | <td class='even'><input type='text' id='txtPassword' name='password' value='".$deptServer->getVar('password')."' size='25' maxlength='50' /> |
||
| 627 | </tr> |
||
| 628 | <tr> |
||
| 629 | <td width='38%' class='head'><label for='txtPriority'>"._AM_XHELP_DEPARTMENT_SERVERS_PRIORITY."</label></td> |
||
| 630 | <td width='62%' class='even'>"; |
||
| 631 | for($i = 1; $i < 6; $i++) { |
||
| 632 | $checked = ''; |
||
| 633 | if($deptServer->getVar('priority') == $i){ |
||
| 634 | $checked = 'checked="checked"'; |
||
| 635 | } |
||
| 636 | echo("<input type=\"radio\" value=\"$i\" id=\"priority$i\" name=\"priority\" $checked />"); |
||
| 637 | echo("<label for=\"priority$i\"><img src=\"../images/priority$i.png\" title=\"". xhelpGetPriority($i)."\" alt=\"priority$i\" /></label>"); |
||
| 638 | } |
||
| 639 | echo "</td> |
||
| 640 | </tr> |
||
| 641 | <tr> |
||
| 642 | <td class='head'><label for='txtEmailaddress'>"._AM_XHELP_DEPARTMENT_SERVER_EMAILADDRESS."</label></td> |
||
| 643 | <td class='even'><input type='text' id='txtEmailaddress' name='emailaddress' value='".$deptServer->getVar('emailaddress')."' size='50' maxlength='255' /> |
||
| 644 | </tr> |
||
| 645 | <tr> |
||
| 646 | <td class='head'><label for='txtActive'>"._AM_XHELP_TEXT_ACTIVITY."</label></td> |
||
| 647 | <td class='even'>"; |
||
| 648 | if($deptServer->getVar('active') == 1){ |
||
| 649 | echo "<input type='radio' value='1' name='activity' checked='checked' />"._AM_XHELP_TEXT_ACTIVE." |
||
| 650 | <input type='radio' value='0' name='activity' />"._AM_XHELP_TEXT_INACTIVE; |
||
| 651 | } else { |
||
| 652 | echo "<input type='radio' value='1' name='activity' />"._AM_XHELP_TEXT_ACTIVE." |
||
| 653 | <input type='radio' value='0' name='activity' checked='checked' />"._AM_XHELP_TEXT_INACTIVE; |
||
| 654 | } |
||
| 655 | |||
| 656 | echo "</td> |
||
| 657 | </tr> |
||
| 658 | |||
| 659 | <tr class='foot'> |
||
| 660 | <td colspan='2'><div align='right'><span > |
||
| 661 | <input type='button' id='email_test' name='test' value='"._AM_XHELP_BUTTON_TEST."' class='formButton' /> |
||
| 662 | <input type='submit' name='updateMailbox' value='"._AM_XHELP_BUTTON_SUBMIT."' class='formButton' /> |
||
| 663 | <input type='button' name='cancel' value='"._AM_XHELP_BUTTON_CANCEL."' onclick='history.go(-1)' class='formButton' /> |
||
| 664 | </span></div></td> |
||
| 665 | </tr> |
||
| 666 | </table> |
||
| 667 | </form>"; |
||
| 668 | echo "<script type=\"text/javascript\" language=\"javascript\"> |
||
| 669 | <!-- |
||
| 670 | function xhelpEmailTest() |
||
| 671 | { |
||
| 672 | pop = openWithSelfMain(\"\", \"email_test\", 250, 150); |
||
| 673 | frm = xoopsGetElementById(\"edit_server\"); |
||
| 674 | newaction = \"department.php?op=testMailbox\"; |
||
| 675 | oldaction = frm.action; |
||
| 676 | frm.action = newaction; |
||
| 677 | frm.target = \"email_test\"; |
||
| 678 | frm.submit(); |
||
| 679 | frm.action = oldaction; |
||
| 680 | frm.target = \"main\"; |
||
| 681 | |||
| 682 | } |
||
| 683 | |||
| 684 | xhelpDOMAddEvent(xoopsGetElementById(\"email_test\"), \"click\", xhelpEmailTest, false); |
||
| 685 | |||
| 686 | //--> |
||
| 687 | </script>"; |
||
| 688 | include_once "admin_footer.php"; |
||
| 689 | } |
||
| 690 | } |
||
| 691 | |||
| 692 | function manageDepartments() |
||
| 693 | { |
||
| 694 | global $xoopsModule, $aSortBy, $aOrderBy, $aLimitBy, $order, $limit, $start, $sort, $dept_search; |
||
| 695 | $module_id = $xoopsModule->getVar('mid'); |
||
| 696 | |||
| 697 | $hGroups =& xoops_gethandler('group'); |
||
| 698 | $hGroupPerm =& xoops_gethandler('groupperm'); |
||
| 699 | |||
| 700 | if(isset($_POST['addDept'])){ |
||
| 701 | $hasErrors = false; |
||
| 702 | $errors = array(); |
||
| 703 | $groups = (isset($_POST['groups']) ? $_POST['groups'] : array()); |
||
| 704 | $hDepartments =& xhelpGetHandler('department'); |
||
| 705 | |||
| 706 | //Department Name supplied? |
||
| 707 | if (trim($_POST['newDept']) == '') { |
||
| 708 | $hasErrors = true; |
||
| 709 | $errors['newDept'][] = _AM_XHELP_MESSAGE_NO_DEPT; |
||
| 710 | } else { |
||
| 711 | |||
| 712 | //Department Name unique? |
||
| 713 | $crit = new Criteria('department', $_POST['newDept']); |
||
| 714 | View Code Duplication | if($existingDepts = $hDepartments->getCount($crit)){ |
|
| 715 | $hasErrors = true; |
||
| 716 | $errors['newDept'][] = _XHELP_MESSAGE_DEPT_EXISTS; |
||
| 717 | |||
| 718 | } |
||
| 719 | } |
||
| 720 | |||
| 721 | if ($hasErrors) { |
||
| 722 | $session =& Session::singleton(); |
||
| 723 | //Store existing dept info in session, reload addition page |
||
| 724 | $aDept = array(); |
||
| 725 | $aDept['newDept'] = $_POST['newDept']; |
||
| 726 | $aDept['groups'] = $groups; |
||
| 727 | $session->set('xhelp_addDepartment', $aDept); |
||
| 728 | $session->set('xhelp_addDepartmentErrors', $errors); |
||
| 729 | header('Location: '. xhelpMakeURI(XHELP_ADMIN_URL.'/department.php', array('op'=>'manageDepartments'), false)); |
||
| 730 | exit(); |
||
| 731 | } |
||
| 732 | |||
| 733 | $department =& $hDepartments->create(); |
||
| 734 | $department->setVar('department', $_POST['newDept']); |
||
| 735 | |||
| 736 | if($hDepartments->insert($department)){ |
||
| 737 | $deptID = $department->getVar('id'); |
||
| 738 | foreach($groups as $group){ // Add new group permissions |
||
| 739 | $hGroupPerm->addRight(_XHELP_GROUP_PERM_DEPT, $deptID, $group, $module_id); |
||
| 740 | } |
||
| 741 | |||
| 742 | // Set as default department? |
||
| 743 | if(isset($_POST['defaultDept']) && ($_POST['defaultDept'] == 1)){ |
||
| 744 | xhelpSetMeta("default_department", $deptID); |
||
| 745 | } |
||
| 746 | |||
| 747 | $hStaff =& xhelpGetHandler('staff'); |
||
| 748 | $allDeptStaff =& $hStaff->getByAllDepts(); |
||
| 749 | if (count($allDeptStaff) > 0) { |
||
| 750 | $hMembership =& xhelpGetHandler('membership'); |
||
| 751 | if($hMembership->addStaffToDept($allDeptStaff, $department->getVar('id'))){ |
||
| 752 | $message = _XHELP_MESSAGE_ADD_DEPT; |
||
| 753 | } else { |
||
| 754 | $message = _AM_XHELP_MESSAGE_STAFF_UPDATE_ERROR; |
||
| 755 | } |
||
| 756 | } else { |
||
| 757 | $message = _XHELP_MESSAGE_ADD_DEPT; |
||
| 758 | } |
||
| 759 | |||
| 760 | // Add configoption for new department |
||
| 761 | $hConfig =& xoops_gethandler('config'); |
||
| 762 | $hConfigOption =& xoops_gethandler('configoption'); |
||
| 763 | |||
| 764 | $crit = new Criteria('conf_name', 'xhelp_defaultDept'); |
||
| 765 | $config =& $hConfig->getConfigs($crit); |
||
| 766 | |||
| 767 | if(count($config) > 0){ |
||
| 768 | $newOption =& $hConfigOption->create(); |
||
| 769 | $newOption->setVar('confop_name', $department->getVar('department')); |
||
| 770 | $newOption->setVar('confop_value', $department->getVar('id')); |
||
| 771 | $newOption->setVar('conf_id', $config[0]->getVar('conf_id')); |
||
| 772 | |||
| 773 | if(!$hConfigOption->insert($newOption)){ |
||
| 774 | redirect_header(XHELP_ADMIN_URL."/department.php?op=manageDepartments", 3, _AM_XHELP_MSG_ADD_CONFIG_ERR); |
||
| 775 | } |
||
| 776 | } |
||
| 777 | _clearAddSessionVars(); |
||
| 778 | header("Location: ".XHELP_ADMIN_URL."/department.php?op=manageDepartments"); |
||
| 779 | } else { |
||
| 780 | $message = _XHELP_MESSAGE_ADD_DEPT_ERROR . $department->getHtmlErrors(); |
||
| 781 | } |
||
| 782 | |||
| 783 | $deptID = $department->getVar('id'); |
||
| 784 | |||
| 785 | /* Not sure if this is needed. Already exists in if block above (ej) |
||
| 786 | foreach($groups as $group){ |
||
| 787 | $hGroupPerm->addRight(_XHELP_GROUP_PERM_DEPT, $deptID, $group, $module_id); |
||
| 788 | } |
||
| 789 | */ |
||
| 790 | |||
| 791 | redirect_header(XHELP_ADMIN_URL.'/department.php?op=manageDepartments', 3, $message); |
||
| 792 | } else { |
||
| 793 | $hDepartments =& xhelpGetHandler('department'); |
||
| 794 | View Code Duplication | if($dept_search == false){ |
|
| 795 | $crit = new Criteria('',''); |
||
| 796 | } else { |
||
| 797 | $crit = new Criteria('department',"%$dept_search%", 'LIKE'); |
||
| 798 | } |
||
| 799 | $crit->setOrder($order); |
||
| 800 | $crit->setSort($sort); |
||
| 801 | $crit->setLimit($limit); |
||
| 802 | $crit->setStart($start); |
||
| 803 | $total = $hDepartments->getCount($crit); |
||
| 804 | $departmentInfo =& $hDepartments->getObjects($crit); |
||
| 805 | |||
| 806 | $nav = new XoopsPageNav($total, $limit, $start, 'start', "op=manageDepartments&limit=$limit"); |
||
| 807 | |||
| 808 | // Get list of all groups |
||
| 809 | $crit = new Criteria('', ''); |
||
| 810 | $crit->setSort('name'); |
||
| 811 | $crit->setOrder('ASC'); |
||
| 812 | $groups =& $hGroups->getObjects($crit, true); |
||
| 813 | |||
| 814 | $aGroups = array(); |
||
| 815 | foreach($groups as $group_id=>$group){ |
||
| 816 | $aGroups[$group_id] = $group->getVar('name'); |
||
| 817 | } |
||
| 818 | asort($aGroups); // Set groups in alphabetical order |
||
| 819 | |||
| 820 | xoops_cp_header(); |
||
| 821 | //echo $oAdminButton->renderButtons('manDept'); |
||
| 822 | $indexAdmin = new ModuleAdmin(); |
||
| 823 | echo $indexAdmin->addNavigation('department.php?op=manageDepartments'); |
||
| 824 | |||
| 825 | $session =& Session::singleton(); |
||
| 826 | $sess_dept = $session->get('xhelp_addDepartment'); |
||
| 827 | $sess_errors = $session->get('xhelp_addDepartmentErrors'); |
||
| 828 | |||
| 829 | //Display any form errors |
||
| 830 | View Code Duplication | if (! $sess_errors === false) { |
|
| 831 | xhelpRenderErrors($sess_errors, xhelpMakeURI(XHELP_ADMIN_URL.'/department.php', array('op'=>'clearAddSession'), false)); |
||
| 832 | } |
||
| 833 | |||
| 834 | View Code Duplication | if (! $sess_dept === false) { |
|
| 835 | $fld_newDept = $sess_dept['newDept']; |
||
| 836 | $fld_groups = $sess_dept['groups']; |
||
| 837 | } else { |
||
| 838 | $fld_newDept = ''; |
||
| 839 | $fld_groups = array(); |
||
| 840 | } |
||
| 841 | |||
| 842 | echo "<form method='post' action='".XHELP_ADMIN_URL."/department.php?op=manageDepartments'>"; |
||
| 843 | echo "<table width='100%' cellspacing='1' class='outer'> |
||
| 844 | <tr><th colspan='2'><label for='newDept'>". _AM_XHELP_LINK_ADD_DEPT ." </label></th></tr>"; |
||
| 845 | echo "<tr><td class='head' width='20%' valign='top'>". _AM_XHELP_TEXT_NAME ."</td><td class='even'>"; |
||
| 846 | echo "<input type='text' id='newDept' name='newDept' class='formButton' value='$fld_newDept' /></td></tr>"; |
||
| 847 | echo "<tr><td class='head' width='20%' valign='top'>"._AM_XHELP_TEXT_EDIT_DEPT_PERMS."</td><td class='even'>"; |
||
| 848 | echo "<select name='groups[]' multiple='multiple'>"; |
||
| 849 | foreach($aGroups as $group_id=>$group){ |
||
| 850 | if (in_array($group_id, $fld_groups, true)) { |
||
| 851 | echo "<option value='$group_id' selected='selected'>$group</option>"; |
||
| 852 | } else { |
||
| 853 | echo "<option value='$group_id'>$group</option>"; |
||
| 854 | } |
||
| 855 | } |
||
| 856 | echo "</select></td></tr>"; |
||
| 857 | echo "<tr><td class='head' width='20%' valign='top'>"._AM_XHELP_TEXT_DEFAULT_DEPT."?</td> |
||
| 858 | <td class='even'><input type='checkbox' name='defaultDept' id='defaultDept' value='1' /></td></tr>"; |
||
| 859 | echo "<tr><td class='foot' colspan='2'><input type='submit' name='addDept' value='"._AM_XHELP_BUTTON_SUBMIT."' class='formButton' /></td></tr>"; |
||
| 860 | echo "</table><br />"; |
||
| 861 | echo "</form>"; |
||
| 862 | if($total > 0){ // Make sure there are departments |
||
| 863 | echo "<form action='". XHELP_ADMIN_URL."/department.php?op=manageDepartments' style='margin:0; padding:0;' method='post'>"; |
||
| 864 | echo "<table width='100%' cellspacing='1' class='outer'>"; |
||
| 865 | echo "<tr><td align='right'>"._AM_XHELP_BUTTON_SEARCH." |
||
| 866 | <input type='text' name='dept_search' value='$dept_search'/> |
||
| 867 | |
||
| 868 | "._AM_XHELP_TEXT_SORT_BY." |
||
| 869 | <select name='sort'>"; |
||
| 870 | View Code Duplication | foreach($aSortBy as $value=>$text){ |
|
| 871 | ($sort == $value) ? $selected = "selected='selected'" : $selected = ''; |
||
| 872 | echo "<option value='$value' $selected>$text</option>"; |
||
| 873 | } |
||
| 874 | echo "</select> |
||
| 875 | |
||
| 876 | "._AM_XHELP_TEXT_ORDER_BY." |
||
| 877 | <select name='order'>"; |
||
| 878 | View Code Duplication | foreach($aOrderBy as $value=>$text){ |
|
| 879 | ($order == $value) ? $selected = "selected='selected'" : $selected = ''; |
||
| 880 | echo "<option value='$value' $selected>$text</option>"; |
||
| 881 | } |
||
| 882 | echo "</select> |
||
| 883 | |
||
| 884 | "._AM_XHELP_TEXT_NUMBER_PER_PAGE." |
||
| 885 | <select name='limit'>"; |
||
| 886 | View Code Duplication | foreach($aLimitBy as $value=>$text){ |
|
| 887 | ($limit == $value) ? $selected = "selected='selected'" : $selected = ''; |
||
| 888 | echo "<option value='$value' $selected>$text</option>"; |
||
| 889 | } |
||
| 890 | echo "</select> |
||
| 891 | <input type='submit' name='dept_sort' id='dept_sort' value='"._AM_XHELP_BUTTON_SUBMIT."' /> |
||
| 892 | </td> |
||
| 893 | </tr>"; |
||
| 894 | echo "</table></form>"; |
||
| 895 | echo "<table width='100%' cellspacing='1' class='outer'> |
||
| 896 | <tr><th colspan='4'>"._AM_XHELP_EXISTING_DEPARTMENTS."</th></tr> |
||
| 897 | <tr><td class='head'>"._AM_XHELP_TEXT_ID."</td><td class='head'>"._AM_XHELP_TEXT_DEPARTMENT."</td><td class='head'>"._AM_XHELP_TEXT_DEFAULT."</td><td class='head'>"._AM_XHELP_TEXT_ACTIONS."</td></tr>"; |
||
| 898 | |||
| 899 | if(isset($departmentInfo)){ |
||
| 900 | $defaultDept = xhelpGetMeta("default_department"); |
||
| 901 | foreach($departmentInfo as $dept){ |
||
| 902 | echo "<tr><td class='even'>". $dept->getVar('id')."</td><td class='even'>". $dept->getVar('department') ."</td>"; |
||
| 903 | if($dept->getVar('id') != $defaultDept){ |
||
| 904 | echo "<td class='even' width='10%'><a href='".XHELP_ADMIN_URL."/department.php?op=updateDefault&id=".$dept->getVar('id')."'><img src='".XHELP_IMAGE_URL."/off.png' alt='"._AM_XHELP_TEXT_MAKE_DEFAULT_DEPT."' title='"._AM_XHELP_TEXT_MAKE_DEFAULT_DEPT."' /></a></td>"; |
||
| 905 | } else { |
||
| 906 | echo "<td class='even' width='10%'><img src='".XHELP_IMAGE_URL."/on.png'</td>"; |
||
| 907 | } |
||
| 908 | //echo "<td class='even' width='10%'><img src='".XHELP_IMAGE_URL."/". (($dept->getVar('id') == $defaultDept) ? "on.png" : "off.png")."'</td>"; |
||
| 909 | echo "<td class='even' width='70'><a href='".XHELP_ADMIN_URL."/department.php?op=editDepartment&deptid=".$dept->getVar('id')."'><img src='".XOOPS_URL."/modules/xhelp/images/button_edit.png' title='"._AM_XHELP_TEXT_EDIT."' name='editDepartment' /></a> "; |
||
| 910 | echo "<a href='".XHELP_ADMIN_URL."/delete.php?deleteDept=1&deptid=".$dept->getVar('id')."'><img src='".XOOPS_URL."/modules/xhelp/images/button_delete.png' title='"._AM_XHELP_TEXT_DELETE."' name='deleteDepartment' /></a></td></tr>"; |
||
| 911 | } |
||
| 912 | |||
| 913 | } |
||
| 914 | } |
||
| 915 | echo "</td></tr></table>"; |
||
| 916 | echo "<div id='dept_nav'>".$nav->renderNav()."</div>"; |
||
| 917 | include_once "admin_footer.php"; |
||
| 918 | } |
||
| 919 | } |
||
| 920 | |||
| 921 | function testMailbox() |
||
| 922 | { |
||
| 923 | $hDeptServers =& xhelpGetHandler('departmentMailBox'); |
||
| 924 | $server = $hDeptServers->create(); |
||
| 925 | $server->setVar('emailaddress', $_POST['emailaddress']); |
||
| 926 | $server->setVar('server', $_POST['server']); |
||
| 927 | $server->setVar('serverport', $_POST['port']); |
||
| 928 | $server->setVar('username', $_POST['username']); |
||
| 929 | $server->setVar('password', $_POST['password']); |
||
| 930 | $server->setVar('priority', $_POST['priority']); |
||
| 931 | echo "<html>"; |
||
| 932 | echo "<head>"; |
||
| 933 | echo "<link rel='stylesheet' type='text/css' media'screen' href='".XOOPS_URL."/xoops.css' /> |
||
| 934 | <link rel='stylesheet' type='text/css' media='screen' href='". xoops_getcss() ."' /> |
||
| 935 | <link rel='stylesheet' type='text/css' media='screen' href='".XOOPS_URL."/modules/system/style.css' />"; |
||
| 936 | echo "</head>"; |
||
| 937 | echo "<body>"; |
||
| 938 | echo "<table style='margin:0; padding:0;' class='outer'>"; |
||
| 939 | if (@$server->connect()) { |
||
| 940 | //Connection Succeeded |
||
| 941 | echo "<tr><td class='head'>Connection Successful!</td></tr>"; |
||
| 942 | } else { |
||
| 943 | //Connection Failed |
||
| 944 | echo "<tr class='head'><td>Connection Failed!</td></tr>"; |
||
| 945 | echo "<tr class='even'><td>". $server->getHtmlErrors()."</td></tr>"; |
||
| 946 | } |
||
| 947 | echo "</table>"; |
||
| 948 | echo "</body>"; |
||
| 949 | echo "</html>"; |
||
| 950 | } |
||
| 951 | |||
| 952 | function clearAddSession() |
||
| 953 | { |
||
| 954 | _clearAddSessionVars(); |
||
| 955 | header('Location: ' . xhelpMakeURI(XHELP_ADMIN_URL.'/department.php', array('op'=>'manageDepartments'), false)); |
||
| 956 | } |
||
| 957 | |||
| 958 | function _clearAddSessionVars() |
||
| 959 | { |
||
| 960 | $session = Session::singleton(); |
||
| 961 | $session->del('xhelp_addDepartment'); |
||
| 962 | $session->del('xhelp_addDepartmentErrors'); |
||
| 963 | } |
||
| 964 | |||
| 965 | function clearEditSession() |
||
| 966 | { |
||
| 967 | $deptid = $_REQUEST['deptid']; |
||
| 968 | _clearEditSessionVars($deptid); |
||
| 969 | header('Location: ' . xhelpMakeURI(XHELP_ADMIN_URL.'/department.php', array('op'=>'editDepartment', 'deptid'=>$deptid), false)); |
||
| 970 | } |
||
| 971 | |||
| 972 | View Code Duplication | function _clearEditSessionVars($id) |
|
| 973 | { |
||
| 974 | $id = intval($id); |
||
| 975 | $session = Session::singleton(); |
||
| 976 | $session->del("xhelp_editDepartment_$id"); |
||
| 977 | $session->del("xhelp_editDepartmentErrors_$id"); |
||
| 978 | } |
||
| 979 | |||
| 980 | function updateDefault() |
||
| 981 | { |
||
| 982 | $id = intval($_REQUEST['id']); |
||
| 983 | xhelpSetMeta("default_department", $id); |
||
| 984 | header('Location: '. xhelpMakeURI(XHELP_ADMIN_URL.'/department.php', array('op'=>'manageDepartments'), false)); |
||
| 985 | } |
||
| 986 |
The PSR-1: Basic Coding Standard recommends that a file should either introduce new symbols, that is classes, functions, constants or similar, or have side effects. Side effects are anything that executes logic, like for example printing output, changing ini settings or writing to a file.
The idea behind this recommendation is that merely auto-loading a class should not change the state of an application. It also promotes a cleaner style of programming and makes your code less prone to errors, because the logic is not spread out all over the place.
To learn more about the PSR-1, please see the PHP-FIG site on the PSR-1.