private static function forwardInfo() { $url = PHPWS_Core::getCurrentUrl(); if ($url == 'index.php' || $url == '') { return; } if (UTF8_MODE) { $preg = '/[^\\w\\-\\pL]/u'; } else { $preg = '/[^\\w\\-]/'; } // Should ignore the ? and everything after it $qpos = strpos($url, '?'); if ($qpos !== FALSE) { $url = substr($url, 0, $qpos); } $aUrl = explode('/', preg_replace('|/+$|', '', $url)); $module = array_shift($aUrl); $mods = PHPWS_Core::getModules(true, true); if (!in_array($module, $mods)) { $GLOBALS['Forward'] = $module; return; } if (preg_match('/[^\\w\\-]/', $module)) { return; } $_REQUEST['module'] = $_GET['module'] =& $module; $count = 1; $continue = 1; $i = 0; // Try and save some old links references if (count($aUrl) == 1) { $_GET['id'] = $_REQUEST['id'] = $aUrl[0]; return; } while (isset($aUrl[$i])) { $key = $aUrl[$i]; if (!$i && is_numeric($key)) { $_GET['id'] = $key; return; } $i++; if (isset($aUrl[$i])) { $value = $aUrl[$i]; if (preg_match('/&/', $value)) { $remain = explode('&', $value); $j = 1; $value = $remain[0]; while (isset($remain[$j])) { $sub = explode('=', $remain[$j]); $_REQUEST[$sub[0]] = $_GET[$sub[0]] = $sub[1]; $j++; } } $_GET[$key] = $_REQUEST[$key] = $value; } $i++; } }
/** * Looks for the user.php in an installed module's inc folder. * If found, it runs the public function within. */ public function removeAssociations() { $modules = PHPWS_Core::getModules(true, true); foreach ($modules as $mod) { $file = sprintf('%smod/%s/inc/remove_user.php', PHPWS_SOURCE_DIR, $mod); if (is_file($file)) { require_once $file; $function_name = $mod . '_remove_user'; if (function_exists($function_name)) { $function_name($this->id); } } } }
public static function setPermissions($id) { $group = new PHPWS_Group($id, FALSE); $modules = PHPWS_Core::getModules(); foreach ($modules as $mod) { $preorder[$mod['title']] = $mod; } ksort($preorder); $modules = $preorder; $tpl = new PHPWS_Template('users'); $tpl->setFile('forms/permissions.tpl'); $group->loadPermissions(FALSE); foreach ($modules as $mod) { $mod_template = User_Form::modulePermission($mod, $group); if ($mod_template == false) { continue; } $tpl->setCurrentBlock('module'); $tpl->setData($mod_template); $tpl->parseCurrentBlock('module'); } $form = new PHPWS_Form(); $form->addHidden('module', 'users'); $form->addHidden('action', 'admin'); $form->addHidden('command', 'postPermission'); $form->addHidden('group_id', $id); $form->addSubmit('update', dgettext('users', 'Update')); $form->addCssClass('update', 'btn btn-primary'); $template = $form->getTemplate(); $vars['action'] = 'admin'; if (!$group->user_id) { $vars['group_id'] = $group->id; $vars['command'] = 'manageMembers'; $links[] = PHPWS_Text::secureLink(dgettext('users', 'Members'), 'users', $vars); $vars['command'] = 'edit_group'; $links[] = PHPWS_Text::secureLink(dgettext('users', 'Edit'), 'users', $vars); } else { $vars['user_id'] = $group->user_id; $vars['command'] = 'editUser'; $links[] = PHPWS_Text::secureLink('<i class="fa fa-edit"></i> ' . dgettext('users', 'Edit'), 'users', $vars, null, dgettext('users', 'Edit user'), 'btn btn-success'); } $template['LINKS'] = implode(' ', $links); $template['CHECK_ALL'] = javascriptMod('users', 'check_all', $vars); $tpl->setData($template); $content = $tpl->get(); return $content; }
public function dropPermissions() { $modules = PHPWS_Core::getModules(true, true); if (empty($modules)) { return false; } foreach ($modules as $mod) { $permTable = Users_Permission::getPermissionTableName($mod); $db = new PHPWS_DB($permTable); if (!$db->isTable($permTable)) { continue; } $db->addWhere('group_id', $this->id); PHPWS_Error::logIfError($db->delete()); $db = new PHPWS_DB('phpws_key_edit'); $db->addWhere('group_id', $this->id); PHPWS_Error::logIfError($db->delete()); $db = new PHPWS_DB('phpws_key_view'); $db->addWhere('group_id', $this->id); PHPWS_Error::logIfError($db->delete()); } return true; }