Example #1
0
 /**
  * Starts the session system.
  */
 protected function initSession()
 {
     require_once WCF_DIR . 'lib/system/session/SessionFactory.class.php';
     $factory = new SessionFactory();
     self::$sessionObj = $factory->get();
     // check if the user changed to another package in the ACP
     if (self::getSession()->packageID != PACKAGE_ID) {
         self::getSession()->updateUserData();
     }
     self::$userObj = self::getSession()->getUser();
 }
 /**
  * Returns the object of the active session.
  * Tries to find an existing session. 
  * Otherwise creates a new session.
  * 
  * @return 	 Session 		$session
  */
 public function get()
 {
     // get session id
     $this->sessionID = $this->readSessionID();
     $this->session = null;
     // get existing session
     if (!empty($this->sessionID)) {
         $this->session = $this->getExistingSession($this->sessionID);
     }
     // create new session
     if ($this->session == null) {
         $this->session = $this->create();
     }
     self::$activeSession = $this->session;
     // call shouldInit event
     if (!defined('NO_IMPORTS')) {
         EventHandler::fireAction($this, 'shouldInit');
     }
     // init session
     $this->session->init();
     // call didInit event
     if (!defined('NO_IMPORTS')) {
         EventHandler::fireAction($this, 'didInit');
     }
     return $this->session;
 }
 public function execute()
 {
     //PARAMETERS
     $params = RequestParametersFactory::create();
     $roleId = $params->get('selected-role-id');
     $pageNumber = $params->get('page-number');
     $rowsPerPage = $params->get('rows-per-page');
     //PAGINATOR
     $paginator = PaginatorFactory::create();
     $paginator->pageNumber = $pageNumber;
     $datahandler = DatahandlerFactory::create('D_ActionsRowsTotalNumber');
     $actionsRowsTotalNumber = $datahandler->getOutData();
     $paginator->rowsPerPage = $actionsRowsTotalNumber;
     //Always force a single page
     $paginator->rowsPerPage = $actionsRowsTotalNumber;
     //SESSION
     $session = SessionFactory::create();
     $session->set('selected-role-id', $roleId);
     //DATAHANDLER
     $datahandler = DatahandlerFactory::create('D_ReadActionsWithStatus');
     $datahandler->setInData($roleId);
     $roleActions = $datahandler->getOutData();
     //DATAHANDLER
     $datahandler = DatahandlerFactory::create('D_ReadRoleById');
     $datahandler->setInData($roleId);
     $roleData = $datahandler->getOutData();
     //SESSION
     $session->set('selected-role-name', $roleData['name']);
     $data = array('role-actions' => $roleActions, 'role-name' => $roleData['name']);
     //VIEW
     $view = ViewFactory::create('V_ReadActionsWithStatus');
     $view->setInData($data);
     $view->display();
 }
 public function execute()
 {
     //SESSION
     $session = SessionFactory::create();
     //PARAMETERS
     $params = RequestParametersFactory::create();
     $session = SessionFactory::create();
     if (!$session->get("authenticated") and $params->get('public_key') == $session->get('randLogin')) {
         //PARAMETERS:
         $params = RequestParametersFactory::create();
         $username = $params->get('user-name');
         $userpassword = $params->get('user-password');
         $filter = FilterFactory::create();
         $filteredUsername = $filter->filters($username);
         //DATAHANDLER
         $datahandler = DatahandlerFactory::create('D_ReadUserByName');
         $datahandler->setInData($filteredUsername);
         $existingUser = $datahandler->getOutData();
         //ENCRYPTOR
         $isAuthenticate = crypt($userpassword, $existingUser['password']) === $existingUser['password'];
         if ($isAuthenticate) {
             //SET SESSION DATA
             $session->set('session-user-name', $existingUser['name']);
             $session->set('session-user-id', $existingUser['id']);
             $session->set("authenticated", true);
         } else {
             $session->set("authenticated", false);
         }
     }
 }
 public function execute()
 {
     //SESSION
     $session = SessionFactory::create();
     $date = $session->get("selected-date");
     //VALIDATION
     $validator = ValidatorFactory::create();
     $validator->ifTrue($date == null)->respond(INCOMPLETE_FILTER_DATA);
     //SESSION DATA
     $sessionData = array('date' => $date);
     //PARAMETERS
     $params = RequestParametersFactory::create();
     $pageNumber = $params->get('page-number');
     $rowsPerPage = $params->get('rows-per-page');
     //PAGINATOR
     $paginator = PaginatorFactory::create();
     $paginator->pageNumber = $pageNumber;
     $datahandler = DatahandlerFactory::create('D_ClientRequestsRowsTotalNumber');
     $datahandler->setInData($sessionData);
     $rowsTotalNumber = $datahandler->getOutData();
     //Always force a single page
     $paginator->rowsPerPage = $rowsTotalNumber;
     //DATAHANDLERS
     $datahandler = DatahandlerFactory::create('D_FrequencyTableOfClientRequests');
     $datahandler->setInData($sessionData);
     $data = $datahandler->getOutData();
     //VALIDATION
     $validator->ifTrue($data == array())->respond('No activity for the day: ' . $date);
     //PAGINATOR
     $paginator->rowsTotalNumber = $rowsTotalNumber;
     //VIEW
     $view = ViewFactory::create('V_FrequencyTableOfClientRequests');
     $view->setInData($data);
     $view->display();
 }
 public function display()
 {
     $dom = DOMHandlerFactory::create();
     $dom->setDocumentFromFile(ROLES_ASSIGNMENT_HTML);
     $dom->whereIdIs('message-container')->insertNode('Role Assignment for: ' . $this->data['user-name']);
     $dom->whereIdIs('roles-assignment-form')->removeAttribute('style="display: none;"');
     $session = SessionFactory::create();
     $dom->whereIdIs('login-user')->insertNode($session->get('session-user-name'));
     foreach ($this->data['user-roles'] as $userRole) {
         if ($userRole['status'] == 1) {
             $dom->whereIdIs('role-assignment-checkboxs')->insertNode('<div class="checkbox">
                                     <input name="selected-roles-ids[]" 
                                         type="checkbox" 
                                         value="' . $userRole['id'] . '" checked
                                     >
                                     <label>
                                         <b>' . $userRole['name'] . '</b> ' . $userRole['description'] . '</label>
                                 </div>');
         } elseif ($userRole['status'] == 0) {
             $dom->whereIdIs('role-assignment-checkboxs')->insertNode('<div class="checkbox">
                                     <input name="selected-roles-ids[]" 
                                         type="checkbox" 
                                         value="' . $userRole['id'] . '">
                                     <label>
                                         <b>' . $userRole['name'] . '</b> ' . $userRole['description'] . '</label>
                                 </div>');
         }
     }
     $dom->display();
 }
 public function display()
 {
     $session = SessionFactory::create();
     $dom = DOMHandlerFactory::create();
     $dom->setDocumentFromFile(STATISTICAL_LOG_ANALIZER_HTML)->whereIdIs('login-user')->insertNode($session->get('session-user-name'));
     //TITLE
     $selectedClientIp = $session->get("selected-client-ip");
     $selectedDate = $session->get("selected-date");
     $beginTime = $this->data[0]['time'];
     $endTime = end($this->data)['time'];
     $title = "<h3>Client (" . $selectedClientIp . ") Data Consumption Table, \n                            at: " . $selectedDate . " between: " . $beginTime . " and " . $endTime . "</h3>\n                            <br><a href='index.php?A_ClientDataConsumptionTableOrdered'>Order from highest to lowest consumption</a>";
     $dom->whereIdIs("body-title")->insertNode($title);
     //TITLE
     $tableFactory = HtmlElementsFactory::create("table");
     $tableFactory->data = $this->data;
     $tableFactory->dataIds = array("time", "client_data", "url");
     $tableFactory->openTable();
     $tableFactory->addTheaderTitle("Time");
     $tableFactory->addTheaderTitle("Client Data Consumption In Kb");
     $tableFactory->addTheaderTitle("URL");
     $tableFactory->renderTableData();
     $tableFactory->closeTable();
     $table = $tableFactory->render();
     $dom->whereIdIs("squidDataContainer")->insertNode($table);
     $paginator = PaginatorFactory::create();
     $paginator->action = "A_ClientDataConsumptionTable";
     $dom->whereIdIs('ul-pagination')->insertNode($paginator->paginationSelect);
     $dom->display();
 }
 public function display()
 {
     $session = SessionFactory::create();
     $dom = DOMHandlerFactory::create();
     $dom->setDocumentFromFile(STATISTICAL_LOG_ANALIZER_HTML)->whereIdIs('login-user')->insertNode($session->get('session-user-name'))->whereIdIs('filter-data-form')->removeAttribute('style="display: none;"');
     //CLIENT IP SELECT INPUT
     $selectedClientIp = $session->get("selected-client-ip");
     $options = null;
     foreach ($this->data["client-ips"] as $datum) {
         if ($datum['client_ip'] == $selectedClientIp) {
             $options .= '<option selected value="' . $selectedClientIp . '">' . $selectedClientIp . '</option>';
         } else {
             $options .= '<option value="' . $datum['client_ip'] . '">' . $datum['client_ip'] . '</option>';
         }
     }
     $dom->whereIdIs('client-ip-select-input')->insertNode($options);
     //DATE SELECT INPUT
     $selectedDate = $session->get("selected-date");
     $options = null;
     foreach ($this->data["dates"] as $datum) {
         if ($datum['date'] == $selectedDate) {
             $options .= '<option selected value="' . $selectedDate . '">' . $selectedDate . '</option>';
         } else {
             $options .= '<option value="' . $datum['date'] . '">' . $datum['date'] . '</option>';
         }
     }
     $dom->whereIdIs('date-select-input')->insertNode($options);
     //DISPLAY
     $dom->display();
 }
 public function display()
 {
     /*CHART*/
     $chart = new VerticalBarChart(4500, 350);
     $dataSet = new XYDataSet();
     foreach ($this->data as $key => $datum) {
         $dataSet->addPoint(new Point($datum['client_ip'], $datum['frequency']));
     }
     $chart->setDataSet($dataSet);
     $chart->getPlot()->setLogoFileName("");
     //clear the image logo
     $chart->setTitle("");
     //clear the image title
     $chart->render("front-end/images/client_request_vertical_bar_plot.png");
     /*CHART*/
     $session = SessionFactory::create();
     $dom = DOMHandlerFactory::create();
     $dom->setDocumentFromFile(STATISTICAL_LOG_ANALIZER_HTML)->whereIdIs('login-user')->insertNode($session->get('session-user-name'));
     $selectedDate = $session->get("selected-date");
     $title = "<h3>Bar Graph IP requests for the day: " . $selectedDate . " </h3>";
     $dom->whereIdIs("body-title")->insertNode($title);
     $graph = '<div style="text-align: center;">
     			<img src="front-end/images/client_request_vertical_bar_plot.png" alt="" border="0">
     			</div>';
     $dom->whereIdIs("squidDataContainer")->insertNode($graph);
     $dom->display();
 }
 public function display()
 {
     $session = SessionFactory::create();
     $dom = DOMHandlerFactory::create();
     $dom->setDocumentFromFile(STATISTICAL_LOG_ANALIZER_HTML)->whereIdIs('login-user')->insertNode($session->get('session-user-name'))->whereIdIs('log-file-loader-form')->removeAttribute('style="display: none;"');
     $dom->display();
 }
 public function display()
 {
     $session = SessionFactory::create();
     $dom = DOMHandlerFactory::create();
     $dom->setDocumentFromFile(STATISTICAL_LOG_ANALIZER_HTML)->whereIdIs('login-user')->insertNode($session->get('session-user-name'));
     $tableFactory = HtmlElementsFactory::create("table");
     $tableFactory->data = $this->data;
     $tableFactory->dataIds = array("date", "time", "transaction_time", "client_ip", "squid_result_code", "client_data", "request_method", "mime_type");
     $tableFactory->openTable();
     $tableFactory->addTheaderTitle("Date");
     $tableFactory->addTheaderTitle("Time");
     $tableFactory->addTheaderTitle("Transaction Time");
     $tableFactory->addTheaderTitle("Client IP");
     $tableFactory->addTheaderTitle("Squid Code");
     $tableFactory->addTheaderTitle("Client Data");
     $tableFactory->addTheaderTitle("Request Method");
     $tableFactory->addTheaderTitle("Mime Type");
     $tableFactory->renderTableData();
     $tableFactory->closeTable();
     $table = $tableFactory->render();
     $dom->whereIdIs("squidDataContainer")->insertNode($table);
     $paginator = PaginatorFactory::create();
     $paginator->action = "A_ReadAllSquidData";
     $dom->whereIdIs('ul-pagination')->insertNode($paginator->paginationSelect);
     $dom->display();
 }
 public function display()
 {
     $session = SessionFactory::create();
     $dom = DOMHandlerFactory::create();
     $dom->setDocumentFromFile(STATISTICAL_LOG_ANALIZER_HTML)->whereIdIs('login-user')->insertNode($session->get('session-user-name'));
     //TITLE
     $selectedClientIp = $session->get("selected-client-ip");
     $selectedDate = $session->get("selected-date");
     $beginTime = $this->data[0]['time'];
     $endTime = end($this->data)['time'];
     $title = "<h3>Client (" . $selectedClientIp . ") Domains Request Frequency Table, \n                            at: " . $selectedDate . "</h3><br><h5>(Ordered from highest to lowest frequency)</h5>";
     $dom->whereIdIs("body-title")->insertNode($title);
     //TITLE
     $tableFactory = HtmlElementsFactory::create("table");
     $tableFactory->data = $this->data;
     $tableFactory->dataIds = array("time", "frequency", "url");
     $tableFactory->openTable();
     $tableFactory->addTheaderTitle("Time");
     $tableFactory->addTheaderTitle("Frequency");
     $tableFactory->addTheaderTitle("URL");
     $tableFactory->renderTableData();
     $tableFactory->closeTable();
     $table = $tableFactory->render();
     $dom->whereIdIs("squidDataContainer")->insertNode($table);
     $paginator = PaginatorFactory::create();
     $paginator->action = "A_DomainsRequestTableOrdered";
     $dom->whereIdIs('ul-pagination')->insertNode($paginator->paginationSelect);
     $dom->display();
 }
 public function execute()
 {
     $session = SessionFactory::create();
     $session->destroy();
     $view = ViewFactory::create('V_Logout');
     $view->display();
     exit;
 }
 public function display()
 {
     $dom = DOMHandlerFactory::create();
     $dom->setDocumentFromFile(MESSENGER_HTML)->whereIdIs('message')->insertNode($this->data);
     $session = SessionFactory::create();
     $dom->whereIdIs('login-user')->insertNode($session->get('session-user-name'));
     $dom->display();
     exit;
 }
 public function execute()
 {
     $session = SessionFactory::create();
     $id = $session->get('user-id');
     $datahandler = DatahandlerFactory::create('D_DeleteUser');
     $datahandler->setInData($id);
     $redirector = RedirectorFactory::create();
     $redirector->redirectTo('index.php?A_ReadUsersPaginated');
 }
Example #16
0
 protected function configure()
 {
     $params = $this->getConfig();
     if (!isset($params['lifetime'])) {
         $params['lifetime'] = ini_get('session.cookie_lifetime');
     }
     // we should also implement path, domain, secure, and httponly here
     self::$engine = SessionFactory::getEngine($params);
     Session::start();
 }
 public static function run()
 {
     Autoloader::init();
     $session = SessionFactory::create();
     $session->setTime('864000');
     //24 hs
     $session->start();
     $requestHandler = RequestHandlerFactory::create();
     $requestHandler->handle($_REQUEST);
 }
 public function display()
 {
     $session = SessionFactory::create();
     $session->start();
     $dom = DOMHandlerFactory::create();
     $dom->setDocumentFromFile(LOGIN_HTML);
     $rand = md5(rand(1, 100000));
     $session->set('randLogin', $rand);
     $dom->whereIdIs('public_key')->insertAttribute('value="' . $rand . '"');
     $dom->display();
 }
 public function execute()
 {
     //SESSION
     $session = SessionFactory::create();
     $selectedRoleId = $session->get('selected-role-id');
     //ACTIONS
     $actions = ActionFactory::create();
     $datahandler = DatahandlerFactory::create('D_UpdateActions');
     $data = $datahandler->setIndata($actions);
     //REDIRECTOR
     $redirector = RedirectorFactory::create();
     $redirector->redirectTo('index.php?selected-role-id=' . $selectedRoleId . '&A_ReadActionsWithStatus');
 }
Example #20
0
 /**
  *返回工厂实例
  */
 public static function factory()
 {
     //只实例一个对象
     if (is_null(self::$sessionFactory)) {
         self::$sessionFactory = new SessionFactory();
     }
     $driver = ucfirst(strtolower(C('SESSION_ENGINE')));
     if (isset(self::$sessionFactory->driver[$driver])) {
         return self::$sessionFactory->driver[$driver];
     }
     self::$sessionFactory->getDriver($driver);
     return self::$sessionFactory->driver[$driver];
 }
 public function execute()
 {
     //PARAMETERS
     $parameters = RequestParametersFactory::create();
     $clientIp = $parameters->get("selected-client-ip");
     $date = $parameters->get("selected-date");
     //SESSION
     $session = SessionFactory::create();
     $session->set("selected-client-ip", $clientIp);
     $session->set("selected-date", $date);
     //REDIRECTOR
     $redirector = RedirectorFactory::create();
     $redirector->redirectTo('index.php?A_EnterFilterDataForm');
 }
 public function display()
 {
     $dom = DOMHandlerFactory::create();
     $dom->setDocumentFromFile(ACTIONS_ASSIGNMENT_HTML);
     $session = SessionFactory::create();
     $dom->whereIdIs('login-user')->insertNode($session->get('session-user-name'));
     $dom->whereIdIs('role-select-form')->removeAttribute('style="display: none;"');
     $options = null;
     foreach ($this->data as $datum) {
         $options .= '<option value="' . $datum['id'] . '">' . $datum['name'] . '</option>';
     }
     $dom->whereIdIs('role-select-input')->insertNode($options);
     $dom->display();
 }
 public function execute()
 {
     $params = RequestParametersFactory::create();
     $id = $params->get('role-id');
     // $validator = ValidatorFactory::create();
     // $validator->ifFalse(is_integer($id))->respond(NOT_VALID_ID);
     $session = SessionFactory::create();
     $session->set('role-id', $id);
     $datahandler = DatahandlerFactory::create('D_ReadRoleById');
     $datahandler->setInData($id);
     $data = $datahandler->getOutData();
     $view = ViewFactory::create('V_UpdateRoleForm');
     $view->setInData($data);
     $view->display();
 }
 /**
  * Returns the last visit time of this user.
  * 
  * @return	integer
  */
 public function getLastVisitTime()
 {
     if ($this->lastVisitTime === null) {
         $this->lastVisitTime = 0;
         if (isset($_COOKIE[COOKIE_PREFIX . 'boardLastVisitTime'])) {
             $this->lastVisitTime = intval($_COOKIE[COOKIE_PREFIX . 'boardLastVisitTime']);
         } else {
             $this->lastVisitTime = intval(SessionFactory::getActiveSession()->getVar('boardLastVisitTime'));
         }
         if ($this->lastVisitTime < TIME_NOW - 3600 * 24 * 365) {
             $this->lastVisitTime = TIME_NOW - VISIT_TIME_FRAME;
         }
     }
     return $this->lastVisitTime;
 }
 public function execute()
 {
     //PARAMETERS
     $params = RequestParametersFactory::create();
     //SESSION
     $session = SessionFactory::create();
     $datahandler = DatahandlerFactory::create('D_SearchActionsByName');
     $data = array('selected-role-id' => $session->get('selected-role-id'), 'search-action-name' => $params->get('search-target'));
     $datahandler->setInData($data);
     $roleActions = $datahandler->getOutData();
     $data = array('role-actions' => $roleActions, 'role-name' => $session->get('selected-role-name'));
     $view = ViewFactory::create('V_ReadActionsWithStatus');
     $view->setInData($data);
     $view->display();
 }
 function getSession($id, $timeout = -1)
 {
     if (!isset($this->sessions[$id])) {
         $this->sessions[$id] = SessionFactory::create($id, $timeout);
     }
     $session = $this->sessions[$id];
     if ($session->isValid()) {
         return $session;
     } else {
         // create new session because of timeout
         $this->sessions[$id] = SessionFactory::create($id, $timeout);
         $session = $this->sessions[$id];
         return $session;
     }
 }
 public function execute()
 {
     $params = RequestParametersFactory::create();
     $id = $params->get('user-id');
     $validator = ValidatorFactory::create();
     $validator->ifTrue($id == "1")->respond(NOT_DELETE_ADMIN);
     $session = SessionFactory::create();
     $session->set('user-id', $id);
     $datahandler = DatahandlerFactory::create('D_ReadUserById');
     $datahandler->setInData($id);
     $data = $datahandler->getOutData();
     $view = ViewFactory::create('V_DeleteUserConfirmation');
     $view->setInData($data);
     $view->display();
     unset($datahandler, $view);
 }
 public function execute()
 {
     //SESSION
     $session = SessionFactory::create();
     $selectedUserId = $session->get('selected-user-id');
     //PARAMETERS
     $parameters = RequestParametersFactory::create();
     $selectedRolesIds = $parameters->get('selected-roles-ids');
     //DATAHANDLER
     $datahandler = DatahandlerFactory::create('D_SaveRolesForTheUser');
     $data = array('selected-user-id' => $selectedUserId, 'selected-roles-ids' => $selectedRolesIds);
     $datahandler->setInData($data);
     //REDIRECTOR
     $redirector = RedirectorFactory::create();
     $redirector->redirectTo('index.php?selected-user-id=' . $selectedUserId . '&A_ReadRolesWithStatus');
 }
 public function display()
 {
     $session = SessionFactory::create();
     $dom = DOMHandlerFactory::create();
     $dom->setDocumentFromFile(USERS_HTML)->whereIdIs('login-user')->insertNode($session->get('session-user-name'))->whereIdIs('table')->removeAttribute('style="display: none;"');
     foreach ($this->data as $key => $datum) {
         $tr = "<tr><td>" . $datum["name"] . "</td>";
         $tr .= "<td><a href='?user-id=" . $datum["id"] . "&A_UpdateUserForm'";
         $tr .= "title='Update User' class='button'>";
         $tr .= "<i class='glyphicon glyphicon-pencil'></i></a> ";
         $tr .= "<a href='?user-id=" . $datum["id"] . "&A_DeleteUserConfirmation'";
         $tr .= "title='Delete User' class='button'>";
         $tr .= "<i class='glyphicon glyphicon-trash'></i></a></td></tr>";
         $dom->whereIdIs("tbody")->insertNode($tr);
     }
     $dom->display();
 }
 public function display()
 {
     $chart = new LineChart(4500, 350);
     $dataSet = new XYDataSet();
     foreach ($this->data as $key => $datum) {
         $dataSet->addPoint(new Point($datum['client_ip'], $datum['frequency']));
     }
     $chart->setDataSet($dataSet);
     $chart->setTitle("Client Request Frequency Line Plot");
     $chart->render("front-end/images/client_request_vertical_bar_plot.png");
     $session = SessionFactory::create();
     $dom = DOMHandlerFactory::create();
     $dom->setDocumentFromFile(STATISTICAL_LOG_ANALIZER_HTML)->whereIdIs('login-user')->insertNode($session->get('session-user-name'));
     $graph = '<div style="text-align: center;">
                 <img src="front-end/images/client_request_vertical_bar_plot.png" alt="" border="0">
                 </div>';
     $dom->whereIdIs("squidDataContainer")->insertNode($graph);
     $dom->display();
 }