public function admin()
 {
     $request = $this->getPageRequest();
     $view = $this->getView();
     $manager = \Core\user()->checkAccess('p:/package_repository/licenses/manager');
     if (!$manager) {
         return View::ERROR_ACCESSDENIED;
     }
     $generateform = new Form();
     $generateform->set('callsmethod', 'PackageRepositoryLicenseController::_GenerateLicenses');
     $generateform->addElement('text', ['name' => 'qty', 'title' => 'Number of Licenses', 'value' => 1]);
     $generateform->addElement('select', ['name' => 'duration', 'title' => 'Valid Duration', 'options' => ['1 month' => '1 Month', '3 month' => '3 Months', '6 month' => '6 Months', '12 month' => '1 Year', '18 month' => '18 Month', '24 month' => '2 Years', '36 month' => '3 Years', '5 year' => '5 Years'], 'value' => '12 month']);
     $generateform->addElement('submit', ['value' => 'Generate License(s)']);
     $table = new \Core\ListingTable\Table();
     $table->setModelName('PackageRepositoryLicenseModel');
     $table->setDefaultSort('expires', 'ASC');
     $table->addColumn('License Key/Server ID', 'id');
     $table->addColumn('License Password', 'password');
     $table->addColumn('Comment', 'comment');
     $table->addColumn('Expiration Date', 'expires');
     $table->addColumn('IP Restriction', 'ip_restriction');
     $table->loadFiltersFromRequest($request);
     $view->title = 'Package Repository License Manager';
     $view->assign('generate_form', $generateform);
     $view->assign('listings', $table);
     $view->addControl('Manually Add License', '/packagerepositorylicense/add', 'add');
 }
Пример #2
0
 /**
  * Display a list of blacklisted IP addresses and subnets.
  */
 public function blacklistip()
 {
     $view = $this->getView();
     $request = $this->getPageRequest();
     $listing = new Core\ListingTable\Table();
     $listing->setModelName('IpBlacklistModel');
     $listing->addColumn('IP or Network', 'ip_addr');
     $listing->addColumn('Comment');
     $listing->addColumn('Expires', 'expires');
     $listing->addColumn('Created', 'created');
     $listing->setDefaultSort('created', 'DESC');
     $listing->loadFiltersFromRequest($request);
     $view->addControl(['title' => 'Ban IP...', 'icon' => 'add', 'link' => '/security/blacklistip/add']);
     $view->title = 'Blacklisted IP addresses';
     $view->assign('listings', $listing);
 }
	/**
	 * See the details of a given search criteria, be it IP address, session, or user.
	 */
	public function details(){
		$view = $this->getView();
		$request = $this->getPageRequest();
		
		$listing = new Core\ListingTable\Table();
		$listing->setName('useractivity-details');
		$listing->setLimit(100);

		$listing->addFilter(
			'text',
			['name' => 'user_id', 'title' => 'User ID', 'link' => FilterForm::LINK_TYPE_STANDARD]
		);

		$listing->addFilter(
			'text',
			['name' => 'ip_addr', 'title' => 'IP Address', 'link' => FilterForm::LINK_TYPE_STANDARD]
		);

		$listing->addFilter(
			'text',
			['name' => 'session_id', 'title' => 'Session ID', 'link' => FilterForm::LINK_TYPE_STANDARD]
		);

		$pages = PageModel::Find(null, null, 'baseurl');
		$allPages = ['' => '-- ' . t('STRING_ALL_PAGES') . ' --'];
		foreach($pages as $p){
			/** @var PageModel $p */
			$allPages[$p->get('baseurl')] = $p->get('baseurl');
		}
		$listing->addFilter(
			'select',
			[
				'name' => 'baseurl',
			    'title' => 'Page',
			    'options' => $allPages,
			    'link' => FilterForm::LINK_TYPE_STANDARD,
			]
		);
		
		$listing->addColumn('Time', 'datetime');
		$listing->addColumn('User & Browser');
		$listing->addColumn('Type', 'type');
		$listing->addColumn('URL & Referrer', 'request');
		$listing->addColumn('Referrer', 'referrer', false);
		$listing->addColumn('Session', 'session_id', false);
		$listing->addColumn('IP Address', 'ip_addr', false);
		$listing->addColumn('User Agent', 'useragent', false);
		$listing->addColumn('Generation', 'processing_time', false);
		$listing->addColumn('DB Reads', 'db_reads', false);
		$listing->addColumn('DB Writes', 'db_writes', false);
		
		$listing->setModelName('UserActivityModel');
		$listing->setDefaultSort('datetime', 'DESC');

		$listing->loadFiltersFromRequest($request);

		$view->title = 'User Activity Details';
		$view->assign('listings', $listing);
	}
Пример #4
0
 /**
  * Display a list of cron jobs that have ran.
  * @return int
  */
 public function admin()
 {
     $view = $this->getView();
     $request = $this->getPageRequest();
     if (!\Core\user()->checkAccess('p:/cron/viewlog')) {
         return View::ERROR_ACCESSDENIED;
     }
     $listings = new Core\ListingTable\Table();
     $listings->setModelName('CronLogModel');
     $listings->addFilter('select', array('title' => 'Cron', 'name' => 'cron', 'options' => array('' => '-- All --', '1-minute' => '1-minute', '5-minute' => '5-minute', '15-minute' => '15-minute', '30-minute' => '30-minute', 'hourly' => 'hourly', 'daily' => 'daily', 'weekly' => 'weekly', 'monthly' => 'monthly'), 'link' => FilterForm::LINK_TYPE_STANDARD));
     $listings->addFilter('select', array('title' => 'Status', 'name' => 'status', 'options' => array('' => '-- All --', 'pass' => 'pass', 'fail' => 'fail'), 'link' => FilterForm::LINK_TYPE_STANDARD));
     $listings->addColumn('Cron', 'cron');
     $listings->addColumn('Date Started', 'created');
     $listings->addColumn('Duration', 'Duration');
     $listings->setDefaultSort('created');
     $listings->loadFiltersFromRequest($request);
     $view->mastertemplate = 'admin';
     $view->title = 't:STRING_CRON_RESULTS';
     $view->assign('listings', $listings);
 }
Пример #5
0
	/**
	 * Display a list of system logs that have been recorded.
	 *
	 * @return int
	 */
	public function log(){
		$view = $this->getView();
		$request = $this->getPageRequest();

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

		$codes = ['' => '-- All --'];
		$ds = Dataset::Init()
			->table('system_log')
			->select('code')
			->unique(true)
			->order('code')
			->execute();

		foreach($ds as $row){
			$codes[$row['code']] = $row['code'];
		}

		$listings = new Core\ListingTable\Table();
		$listings->setModelName('SystemLogModel');
		$listings->setName('system-log');
		$listings->setDefaultSort('datetime');

		$listings->addFilter(
			'select',
			array(
				'title' => 'Type',
				'name' => 'type',
				'options' => array(
					'' => '-- All --',
					'info' => 'Informative',
					'error' => 'Warning/Error',
					'security' => 'Security',
				),
				'link' => FilterForm::LINK_TYPE_STANDARD,
			)
		);

		$listings->addFilter(
			'select',
			[
				'title' => 'Code',
				'name' => 'code',
				'options' => $codes,
				'link' => FilterForm::LINK_TYPE_STANDARD,
			]
		);

		$listings->addFilter(
			'date',
			[
				'title' => 'On or After',
				'name' => 'datetime_onafter',
				'linkname' => 'datetime',
				'link' => FilterForm::LINK_TYPE_GE,
			]
		);
		$listings->addFilter(
			'date',
			[
				'title' => 'On or Before',
				'name' => 'datetime_onbefore',
				'linkname' => 'datetime',
				'link' => FilterForm::LINK_TYPE_LE,
				'linkvaluesuffix' => ' 23:59:59'
			]
		);

		/*$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,
			)
		);*/

		$listings->addFilter(
			'hidden',
			array(
				'title' => 'Session',
				'name' => 'session_id',
				'link' => FilterForm::LINK_TYPE_STANDARD,
			)
		);
		$listings->addFilter(
			'user',
			array(
				'title' => 'User',
				'name' => 'affected_user_id',
				'linkname' => [
					'affected_user_id',
					'user_id',
				]
				//'link' => FilterForm::LINK_TYPE_STANDARD,
			)
		);
		$listings->addFilter(
			'text',
			[
				'title' => 'IP Address',
				'name' => 'ip_addr',
				'link' => FilterForm::LINK_TYPE_STARTSWITH,
			]
		);

		$listings->addColumn('Type', 'type');
		$listings->addColumn('Date/Time', 'datetime');
		$listings->addColumn('IP Address', 'ip_addr');
		$listings->addColumn('Message', 'message');
		//$listings->addColumn('Session', 'session_id');
		$listings->addColumn('User', 'user_id', false);
		$listings->addColumn('Affected User', 'affected_user_id', false);

		$listings->loadFiltersFromRequest($request);

		$view->mastertemplate = 'admin';
		$view->title = 't:STRING_SYSTEM_LOG';
		$view->assign('listings', $listings);
	}