Пример #1
0
 /**
  * Display a list of cron jobs that have ran.
  * @return int
  */
 public function log()
 {
     // As of 3.0.0, this has been merged into Core.
     \Core\redirect('admin/log?filter[type]=security');
     $view = $this->getView();
     $request = $this->getPageRequest();
     if (!\Core\user()->checkAccess('p:/security/viewlog')) {
         return View::ERROR_ACCESSDENIED;
     }
     $filters = new FilterForm();
     $filters->setName('security-log');
     $filters->hassort = true;
     $filters->haspagination = true;
     /*$filters->addElement(
     			'select',
     			array(
     				'title' => 'Cron',
     				'name' => 'cron',
     				'options' => array(
     					'' => '-- All --',
     					'hourly' => 'hourly',
     					'daily' => 'daily',
     					'weekly' => 'weekly',
     					'monthly' => 'monthly'
     				),
     				'link' => FilterForm::LINK_TYPE_STANDARD,
     			)
     		);
     		$filters->addElement(
     			'select',
     			array(
     				'title' => 'Status',
     				'name' => 'status',
     				'options' => array(
     					'' => '-- All --',
     					'pass' => 'pass',
     					'fail' => 'fail'
     				),
     				'link' => FilterForm::LINK_TYPE_STANDARD,
     			)
     		);*/
     $filters->addElement('hidden', array('title' => 'Session', 'name' => 'session_id', 'link' => FilterForm::LINK_TYPE_STANDARD));
     $filters->addElement('hidden', array('title' => 'Affected User', 'name' => 'affected_user_id', 'link' => FilterForm::LINK_TYPE_STANDARD));
     $filters->setSortkeys(array('datetime', 'session_id', 'user_id', 'useragent', 'action', 'affected_user_id', 'status'));
     $filters->load($request);
     $factory = new ModelFactory('SecurityLogModel');
     $filters->applyToFactory($factory);
     $listings = $factory->get();
     foreach ($listings as $k => $entry) {
         /** @var $entry SecurityLogModel */
         // Look up the user agent
         //$ua = new \Core\UserAgent($entry->get('useragent'));
         //var_dump($ua); die();
         if ($entry->get('user_id')) {
             $userobject = UserModel::Construct($entry->get('user_id'));
             $entry->set('user', $userobject->getDisplayName());
         }
         if ($entry->get('affected_user_id')) {
             $userobject = UserModel::Construct($entry->get('affected_user_id'));
             if ($userobject) {
                 $entry->set('affected_user', $userobject->getDisplayName());
             } else {
                 $entry->set('affected_user', '[DELETED USER]');
             }
         }
     }
     $view->title = 'Security Log';
     $view->assign('filters', $filters);
     $view->assign('listings', $listings);
     $view->assign('sortkey', $filters->getSortKey());
     $view->assign('sortdir', $filters->getSortDirection());
     //var_dump($listings); die();
 }
Пример #2
0
	/**
	 * Admin listing of all the users
	 *
	 * @return null|int
	 */
	public function admin(){
		$view = $this->getView();
		$request = $this->getPageRequest();

		if(!\Core\user()->checkAccess('p:/user/users/manage')){
			return View::ERROR_ACCESSDENIED;
		}

		$filters = new FilterForm();
		$filters->setName('user-admin');
		$filters->haspagination = true;
		$filters->hassort = true;
		$filters->setSortkeys(array('email', 'active', 'created','last_login'));
		$filters->addElement(
			'text',
			array(
				'title' => 'Email',
				'name' => 'email',
				'link' => FilterForm::LINK_TYPE_CONTAINS
			)
		);
		$filters->addElement(
			'select',
			array(
				'title' => 'Active',
				'name' => 'active',
				'options' => array('' => '-- All --', '0' => 'Inactive', '1' => 'Active'),
				'link' => FilterForm::LINK_TYPE_STANDARD,
			)
		);
		$filters->addElement(
			'select',
			array(
				'title' => 'Ever logged in?',
				'name' => 'last_login',
				'options' => array('' => 'Both', '1' => 'No', '2' => 'Yes'),
			)
		);

		$filters->load($request);
		$factory = new ModelFactory('UserModel');

		if($filters->get('last_login') == 1) {
			$factory->where('last_login = 0');
		}
		elseif($filters->get('last_login') == 2) {
			$factory->where('last_login > 0');
		}

		$filters->applyToFactory($factory);

		$users = $factory->get();

		$view->title = 'User Administration';
		$view->assign('enableavatar', (\ConfigHandler::Get('/user/enableavatar')));
		$view->assign('users', $users);
		$view->assign('filters', $filters);
		$view->addControl('Add User', '/user/register', 'add');
		$view->addControl('Import Users', '/user/import', 'upload-alt');

		return null;
	}