本文整理汇总了PHP中Roles::fetchRow方法的典型用法代码示例。如果您正苦于以下问题:PHP Roles::fetchRow方法的具体用法?PHP Roles::fetchRow怎么用?PHP Roles::fetchRow使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Roles
的用法示例。
在下文中一共展示了Roles::fetchRow方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: deleteAction
function deleteAction()
{
$request = new Bolts_Request($this->getRequest());
$roles_table = new Roles();
if ($request->has('id')) {
$id = $request->id;
$role = $roles_table->fetchRow("id = " . $id);
if (is_null($role)) {
$this->_redirect('/bolts/role');
}
} else {
$this->_redirect('/bolts/role');
}
if ($this->getRequest()->isPost() and $request->has("delete")) {
$errors = array();
// can't be last admin
if ((bool) $role->isadmin and $roles_table->getCountByWhereClause("isadmin = 1") == 1) {
$errors[] = $this->_T("This is the only admin role. It cannot be deleted.");
}
// can't be guest
if ((bool) $role->isguest) {
$errors[] = $this->_T("This is the guest role. It cannot be deleted.");
}
// can't be default
if ((bool) $role->isdefault) {
$errors[] = $this->_T("This is the default role. It cannot be deleted.");
}
// can't have any users
$userwhereclause = "role_id = " . $role->id;
$users_table = new UsersRoles();
if ($users_table->getCountByWhereClause($userwhereclause) > 0) {
$errors[] = $this->_T("This role cannot be deleted because there are users assigned to it.");
}
// can't have children
$inherited_by = $roles_table->fetchImmediateChildren($role->id);
if (count($inherited_by) > 0) {
$error = $this->_T("This role is inherited by role(s) ");
$firstpass = true;
foreach ($inherited_by as $role_i) {
if ($firstpass) {
$firstpass = false;
} else {
$error .= ", ";
}
$error .= $role_i->shortname;
}
$error .= $this->_T(". It cannot be deleted.");
$errors[] = $error;
}
if ($request->delete == "Yes") {
if (count($errors) > 0) {
$this->view->errors = $errors;
} else {
$roles_table->delete("id = " . $id);
$this->view->success = $this->_T("Role deleted.");
}
} else {
$this->_redirect("/bolts/role");
}
}
$this->view->role = $role->toArray();
}
示例2: editroleAction
function editroleAction()
{
$request = new RivetyCore_Request($this->getRequest());
if ($request->has('id'))
{
$role_id = $request->id;
$nav_table = new Navigation($role_id,$this->locale_code);
$roles_table = new Roles();
$role = $roles_table->fetchRow("id = " . $role_id);
if (!is_null($role)) $this->view->role = $role->toArray();
else die("Invalid role.");
// nav_items is already used in the main admin nav
$this->view->nav_items_to_edit = $nav_table->getNavTree();
}
else
{
$this->_forward('default', 'auth', 'missing'); return;
}
}
示例3: editAction
function editAction()
{
$request = new RivetyCore_Request($this->getRequest());
$modules_table = new Modules('modules');
$modules_table_core = new Modules('core');
$roles_resources_table = new RolesResources();
$roles_res_extra_table = new RolesResourcesExtra();
if ($request->has("id"))
{
$role_id = $request->id;
$roles_table = new Roles();
$role = $roles_table->fetchRow("id = " . $role_id);
if (!is_null($role))
{
$this->view->role = $role->toArray();
$this->view->roleshortname = $role->shortname;
}
else
{
$this->_redirect("/role");
}
}
else
{
$this->_redirect("/role");
}
if ($request->has("modid"))
{
if ($modules_table->exists($request->modid))
{
$module_id = $request->modid;
}
else
{
$module_id = "default";
}
}
else
{
$module_id = "default";
}
if ($this->getRequest()->isPost())
{
$resources = $this->getRequest()->getPost('resource');
// Hose everything for this role and module
$where = $roles_resources_table->getAdapter()->quoteInto("role_id = ? and ", $role_id);
$where .= $roles_resources_table->getAdapter()->quoteInto("module = ? ", $module_id);
$roles_resources_table->delete($where);
foreach ($resources as $resource)
{
$resource_array = explode("-", $resource);
$resource_module = $resource_array[0];
$resource_controller = $resource_array[1];
$resource_action = $resource_array[2];
$data = array(
'role_id' => $role_id,
'module' => $resource_module,
'controller' => $resource_controller,
'action' => $resource_action,
);
$roles_resources_table->insert($data);
}
$where = $roles_res_extra_table->getAdapter()->quoteInto("role_id = ? and ", $role_id);
$where .= $roles_res_extra_table->getAdapter()->quoteInto("module = ? ", $module_id);
$roles_res_extra_table->delete($where);
if ($request->has("extra_resource"))
{
foreach ($request->extra_resource as $extra_resource_item)
{
$data = array(
'role_id' => $role_id,
'module' => $module_id,
'resource'=> $extra_resource_item,
);
$roles_res_extra_table->insert($data);
}
}
$this->view->success = $this->_T("Resources updated.");
}
$db_roles_resources = $roles_resources_table->fetchAll('role_id = ' . $role_id );
$resources = array();
foreach ($db_roles_resources as $resource)
{
if (!array_key_exists($resource->module, $resources))
{
$resources[$resource->module] = array();
}
if (!array_key_exists($resource->controller, $resources[$resource->module]))
//.........这里部分代码省略.........
示例4: init
function init()
{
$params = array('username' => null);
$modules_table = new Modules("core");
$roles_table = new Roles();
$enabled_modules = $modules_table->getEnabledModules();
foreach ($enabled_modules as $enabled_module) {
$this->view->{"module_" . $enabled_module} = true;
}
if (!empty($_SERVER['HTTPS'])) {
$this->view->is_ssl = true;
$this->_is_ssl = true;
} else {
$this->view->is_ssl = false;
$this->_is_ssl = false;
}
$this->_uri = $_SERVER['REQUEST_URI'];
$this->_host_id = Zend_Registry::get('host_id');
$this->view->host_id = $this->_host_id;
$this->view->session_id = Zend_Session::getId();
$this->view->site_url = Bolts_Registry::get('site_url');
$this->view->site_name = Bolts_Registry::get('site_name');
$this->registry = Zend_Registry::getInstance();
$this->session = new Zend_Session_Namespace('Default');
$this->_mca = $this->_request->getModuleName() . "_" . $this->_request->getControllerName() . "_" . $this->_request->getActionName();
$this->view->mca = str_replace("_", "-", $this->_mca);
$this->view->controller_name = $this->_request->getControllerName();
$this->module_name = $this->_request->getModuleName();
$this->view->module_name = $this->_request->getModuleName();
$this->view->action_name = $this->_request->getActionName();
$this->_auth = Zend_Auth::getInstance();
if ($this->_auth->hasIdentity()) {
$this->_identity = $this->_auth->getIdentity();
$this->view->isLoggedIn = true;
$params['username'] = $this->_identity->username;
$users_table = new Users();
$loggedInUser = $users_table->fetchByUsername($this->_identity->username);
if (!is_null($loggedInUser)) {
$this->_loggedInUser = $loggedInUser;
$this->view->loggedInUser = $loggedInUser->toArray();
}
$this->view->loggedInUsername = $this->_identity->username;
$this->view->loggedInFullName = $this->_identity->full_name;
$loggedInRoleIds = $roles_table->getRoleIdsByUsername($this->_identity->username);
$this->view->loggedInRoleIds = $loggedInRoleIds;
foreach ($loggedInRoleIds as $role_id) {
$role = $roles_table->fetchRow('id = ' . $role_id);
if ((bool) $role->isadmin) {
$this->view->isAdmin = true;
$this->_identity->isAdmin = true;
}
}
} else {
$this->_identity = null;
$this->view->isLoggedIn = false;
}
$appNamespace = new Zend_Session_Namespace('Bolts_Temp');
$this->view->last_login = $appNamespace->last_login;
$this->_Bolts_plugin = Bolts_Plugin::getInstance();
$this->_theme_locations = Zend_Registry::get('theme_locations');
// Theme filter block: Allow plugin's to alter the current theme based on request, locale, etc.
$theme_params = array('request' => $this->_request, 'admin' => array('current_theme' => $this->_theme_locations['admin']['current_theme']), 'frontend' => array('current_theme' => $this->_theme_locations['frontend']['current_theme']));
$theme_params = $this->_Bolts_plugin->doFilter('current_themes', $theme_params);
// FILTER HOOK
if (file_exists($theme_params['admin']['current_theme']['path'])) {
$this->_theme_locations['admin']['current_theme'] = $theme_params['admin']['current_theme'];
}
if (file_exists($theme_params['frontend']['current_theme']['path'])) {
$this->_theme_locations['frontend']['current_theme'] = $theme_params['frontend']['current_theme'];
$template_path = $this->_theme_locations['frontend']['current_theme']['path'] . "/modules/" . $this->getRequest()->getModuleName();
$this->view->setScriptPath($template_path);
}
// Theme filter block: End.
$this->view->theme_path = $this->_theme_locations['frontend']['current_theme']['path'];
$this->view->theme_url = $this->_theme_locations['frontend']['current_theme']['url'];
$this->view->theme_global_path = $this->_theme_locations['frontend']['current_theme']['path'] . "/global";
$this->view->theme_global = $this->view->theme_global_path;
$this->view->theme_controller_path = $this->_theme_locations['frontend']['current_theme']['path'] . '/modules/' . $this->getRequest()->getModuleName() . "/" . $this->getRequest()->getControllerName();
$this->view->theme_module_path = $this->_theme_locations['frontend']['current_theme']['path'] . '/modules/' . $this->getRequest()->getModuleName();
$this->view->default_theme_path = $this->_theme_locations['frontend']['default_theme']['path'];
$this->view->default_theme_url = $this->_theme_locations['frontend']['default_theme']['url'];
$this->view->default_theme_global_path = $this->_theme_locations['frontend']['default_theme']['path'] . "/global";
$this->view->default_theme_controller_path = $this->_theme_locations['frontend']['default_theme']['path'] . '/modules/' . $this->getRequest()->getModuleName() . "/" . $this->getRequest()->getControllerName();
$this->view->default_theme_module_path = $this->_theme_locations['frontend']['default_theme']['path'] . '/modules/' . $this->getRequest()->getModuleName();
Bolts_Log::report("Current path " . $this->_mca, null, Zend_Log::INFO);
$this->view->isAdminController = false;
$this->view->title_prefix = Bolts_Registry::get('title_prefix');
$locale_is_valid = true;
$default_locale_code = str_replace('_', '-', trim(strtolower(Bolts_Registry::get('default_locale'))));
$this->locale_code = $default_locale_code;
if (Bolts_Registry::get('enable_localization') == '1') {
// to set the locale code, look in the URL, not in the cookie
// the only thing that should check the cookie is the home page and optionally the locale chooser page
$locales_table = new Locales();
$db_locales_full = $locales_table->getLocaleCodesArray(true);
$db_locales = array_keys($db_locales_full);
// Get the locales allowed in the config
$allowed_locales = explode(',', Bolts_Registry::get('allowed_locales'));
if (!empty($allowed_locales) && (bool) array_filter($allowed_locales)) {
$allowed_locales = array_map('trim', $allowed_locales);
//.........这里部分代码省略.........