当前位置: 首页>>代码示例>>PHP>>正文


PHP Roles::fetchRow方法代码示例

本文整理汇总了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();
 }
开发者ID:jaybill,项目名称:Bolts,代码行数:62,代码来源:RoleController.php

示例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;
		}
	}
开发者ID:richjoslin,项目名称:rivety,代码行数:19,代码来源:NavigationController.php

示例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]))
//.........这里部分代码省略.........
开发者ID:richjoslin,项目名称:rivety,代码行数:101,代码来源:ResourceController.php

示例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);
//.........这里部分代码省略.........
开发者ID:jaybill,项目名称:Bolts,代码行数:101,代码来源:Abstract.php


注:本文中的Roles::fetchRow方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。