function tearDown() { parent :: tearDown(); $user =& user :: instance(); $user->logout(); }
function run(&$filter_chain, &$request, &$response) { debug :: add_timing_point('locale filter started'); if(!$node = map_request_to_node($request)) { define('CONTENT_LOCALE_ID', DEFAULT_CONTENT_LOCALE_ID); define('MANAGEMENT_LOCALE_ID', CONTENT_LOCALE_ID); $locale =& locale :: instance(); $locale->setlocale(); $filter_chain->next(); return; } if($object_locale_id = site_object :: get_locale_by_id($node['object_id'])) define('CONTENT_LOCALE_ID', $object_locale_id); else define('CONTENT_LOCALE_ID', DEFAULT_CONTENT_LOCALE_ID); $user = user :: instance(); if($user_locale_id = $user->get_locale_id()) define('MANAGEMENT_LOCALE_ID', $user_locale_id); else define('MANAGEMENT_LOCALE_ID', CONTENT_LOCALE_ID); debug :: add_timing_point('locale filter finished'); $locale =& locale :: instance(); $locale->setlocale(); $filter_chain->next(); }
function _login_user($id, $groups) { $user =& user :: instance(); $user->_set_id($id); $user->_set_groups($groups); }
function tearDown() { $this->_clean_up(); $user =& user::instance(); $user->logout(); $this->object->tally(); }
function write($log_file_data, $string) { $log_dir = $log_file_data[0]; $log_name = $log_file_data[1]; $file_name = $log_dir . $log_name; if (!is_dir($log_dir)) { fs::mkdir($log_dir, 0775, true); } $oldumask = @umask(0); $file_existed = @file_exists($file_name); $log_file = @fopen($file_name, 'a'); if ($log_file) { $time = strftime("%b %d %Y %H:%M:%S", strtotime('now')); $notice = '[ ' . $time . " ]\n"; $user =& user::instance(); if (($user_id = $user->get_id()) != DEFAULT_USER_ID) { $notice .= '[ ' . $user_id . ' ] [ ' . $user->get_login() . ' ] [ ' . $user->get_email() . ' ] '; } $notice .= '[' . sys::client_ip() . '] [' . (isset($_SERVER['REQUEST_URI']) ? $_SERVER['REQUEST_URI'] : '') . "]\n" . $string . "\n\n"; @fwrite($log_file, $notice); @fclose($log_file); if (!$file_existed) { @chmod($file_name, 0664); } @umask($oldumask); $result = true; } else { @umask($oldumask); $result = false; debug::write_error("Cannot open log file '{$file_name}' for writing\n" . "The web server must be allowed to modify the file.\n" . "File logging for '{$file_name}' is disabled.", __FILE__ . ' : ' . __LINE__ . ' : ' . __FUNCTION__, false); } return $result; }
function _valid_perform(&$request, &$response) { $login = $this->dataspace->get('login'); $password = $this->dataspace->get('password'); $locale_id = $this->dataspace->get('locale_id'); $autologin = $this->dataspace->get('autologin'); $user_object =& site_object_factory::create($this->user_object_class_name); if ($user_object->login($login, $password, $locale_id)) { if ($autologin) { $user =& user::instance(); $user->configure_autologin(); } $request->set_status(REQUEST_STATUS_FORM_SUBMITTED); if ($redirect = $this->dataspace->get('redirect')) { $this->_login_redirect($redirect, $response); return; } elseif (isset($_SERVER['HTTP_REFERER']) && strpos(strtolower($_SERVER['HTTP_REFERER']), '/root/login') === false) { $response->redirect($_SERVER['HTTP_REFERER']); return; } else { $response->redirect('/'); return; } } $request->set_status(REQUEST_STATUS_FAILURE); }
function _login_to_chat($nickname) { $db =& db_factory::instance(); $time = time(); $sql = "SELECT id, nickname FROM chat_user"; $db->sql_exec($sql); $chat_users = $db->get_array('id'); $user =& user::instance(); if ($user->is_logged_in()) { foreach ($chat_users as $data) { if ($data['nickname'] == $nickname) { session::set('chat_user_id', $data['id']); $sql = "UPDATE chat_user \r\n\t\t\t\t\t\t\t\t\tSET time={$time},\r\n\t\t\t\t\t\t\t\t\thost= '{$_SERVER['REMOTE_ADDR']}',\r\n\t\t\t\t\t\t\t\t\tdeleted=0\r\n\t\t\t\t\t\t\t\t WHERE id={$data['id']}"; $db->sql_exec($sql); return $data['id']; } } } else { foreach ($chat_users as $data) { if ($data['nickname'] == $nickname) { return false; } } } $sql = "INSERT INTO chat_user (nickname, time, host, deleted) \r\n\t\t\t\t\t values ('{$nickname}', {$time}, '{$_SERVER['REMOTE_ADDR']}', 0)"; $db->sql_exec($sql); $id = $db->get_sql_insert_id(); chat_user::_set_session_chat_user_id($id); return true; }
function _init_dataspace() { $data['identifier'] = md5(rand()); $user =& user::instance(); $data['sender'] = $user->get_login(); $data['sender_email'] = $user->get_email(); $this->dataspace->import($data); }
function _update_log($node_id, $action, $status_code) { $ip_register =& $this->_get_ip_register(); $referer_register =& $this->_get_referer_register(); $uri_register =& $this->_get_uri_register(); $user =& user::instance(); $this->db->sql_insert('sys_stat_log', array('ip' => $ip_register->get_client_ip(), 'time' => $this->get_register_time_stamp(), 'node_id' => $node_id, 'stat_referer_id' => $referer_register->get_referer_page_id(), 'stat_uri_id' => $uri_register->get_uri_id(), 'user_id' => $user->get_id(), 'session_id' => session_id(), 'action' => $action, 'status' => $status_code)); }
function _changing_own_password() { $object_data = $this->_load_object_data(); $user =& user :: instance(); return ($object_data['id'] == $user->get_id()) ? true : false; }
function test_user_in_groups() { $user =& user::instance(); $user->login('vasa', 1); $this->assertTrue($user->is_in_groups(array(0 => 'members', 'admins'))); $this->assertFalse($user->is_in_groups(array(0 => 'members', 'operators'))); $this->assertFalse($user->is_in_groups(array(0 => 'members'))); $this->assertTrue($user->is_in_groups(array(0 => 'visitors'))); }
function _init_dataspace() { $user =& user::instance(); if (!$user->is_logged_in()) { return; } $data = array('name' => $user->get_name() . ' ' . $user->get_lastname(), 'email' => $user->get_email()); $this->dataspace->import($data); }
function _valid_perform() { $locale_id = $this->dataspace->get('locale_id'); if (!locale::is_valid_locale_id($locale_id)) { return new close_popup_response(RESPONSE_STATUS_FAILURE); } $user =& user::instance(); $user->set_locale_id($locale_id); return new close_popup_response(RESPONSE_STATUS_SUCCESS); }
function _init_dataspace(&$request) { parent::_init_dataspace($request); $data = $this->dataspace->export(); $user =& user::instance(); if (empty($data['comment_author'])) { $data['comment_author'] = $user->get_login(); } if (empty($data['comment_author_email'])) { $data['comment_author_email'] = $user->get_email(); } $this->dataspace->import($data); }
function run(&$filter_chain, &$request, &$response) { debug::add_timing_point('jip filter started'); $fetcher =& fetcher::instance(); $fetcher->set_jip_status(false); $user =& user::instance(); if ($user->is_logged_in()) { $ini =& get_ini('jip_groups.ini'); if ($user->is_in_groups(array_keys($ini->get_group('groups')))) { $fetcher->set_jip_status(true); } } debug::add_timing_point('jip filter done'); $filter_chain->next(); }
function _valid_perform(&$request, &$response) { $locale_id = $this->dataspace->get('locale_id'); if ($request->has_attribute('popup')) { $response->write(close_popup_response($request)); } elseif (isset($_SERVER['HTTP_REFERER'])) { $response->redirect($_SERVER['HTTP_REFERER']); } else { $response->redirect('/'); } if (!locale::is_valid_locale_id($locale_id)) { $request->set_status(REQUEST_STATUS_FAILURE); } $user =& user::instance(); $user->set_locale_id($locale_id); $request->set_status(REQUEST_STATUS_SUCCESS); }
function login($login, $password) { $this->_delete_cookie(); $user_ip = ip::encode_ip(sys::client_ip()); $sid = md5(uniqid($user_ip)); session::set('phpbb_sid', $sid); $user =& user::instance(); $phpbb_user_data = array(); $phpbb_user_data['session_user_id'] = $user->get_id(); $phpbb_user_data['session_id'] = $sid; $phpbb_user_data['session_ip'] = $user_ip; $phpbb_user_data['session_logged_in'] = 1; $phpbb_user_data['session_start'] = time(); $phpbb_user_data['session_time'] = time(); $db_table =& db_table_factory::create('phpbb_sessions'); return $db_table->insert($phpbb_user_data); }
if (defined("ERROR_DOCUMENT_404")) { reload(ERROR_DOCUMENT_404); } else { header("HTTP/1.1 404 Not found"); } exit; } if (isset($node['only_parent_found']) && $node['only_parent_found']) { if (isset($_REQUEST['action'])) { $params = '?action=' . $_REQUEST['action']; } $tree = tree::instance(); reload($tree->get_path_to_node($node) . $params); exit; } $user =& user::instance(); if (($object_data =& fetch_one_by_node_id($node['id'], false)) === false) { if (!$user->is_logged_in()) { $tree = tree::instance(); $response = new response(); $stats_register->register(-1, '', $response->get_status()); $response = new response(); $stats_register->register(-1, 'redirect', $response->get_status()); reload('/root/login?redirect=' . $tree->get_path_to_node($node)); exit; } else { debug::write_error('content object not allowed or retrieved', __FILE__ . ' : ' . __LINE__ . ' : ' . __FUNCTION__); ob_end_clean(); if (debug::is_console_enabled()) { echo debug::parse_html_console(); }
function run(&$filter_chain, &$request, &$response) { $user =& user::instance(); $user->try_autologin(); $filter_chain->next(); }
function _session_write($session_id, $value) { $db =& db_factory :: instance(); $user =& user :: instance(); $user_id = $user->get_id(); $db->sql_select('sys_session', 'session_id', array('session_id' => $session_id)); if($db->fetch_row()) $db->sql_update('sys_session', array( 'last_activity_time'=> time(), 'session_data' => "{$value}", 'user_id' => "{$user_id}"), array( 'session_id' => "{$session_id}")); else $db->sql_insert('sys_session', array( 'last_activity_time' => time(), 'session_data' => "{$value}", 'user_id' => "{$user_id}", 'session_id' => "{$session_id}")); }
function _send_mail($description, $verbosity_level) { $title = ''; $headers = array(); switch ($verbosity_level) { case DEBUG_LEVEL_NOTICE: $title .= ' debug notice'; $headers['X-Priority'] = '0 (Low)'; break; case DEBUG_LEVEL_WARNING: $title .= ' debug warning'; break; case DEBUG_LEVEL_ERROR: $title .= ' debug error'; $headers['X-Priority'] = '1 (High)'; break; case DEBUG_TIMING_POINT: $title .= ' timig point'; break; } $message = ''; $user =& user::instance(); if (($user_id = $user->get_id()) != DEFAULT_USER_ID) { $message .= "user id:\t" . "{$user_id}\n" . "login:\t\t" . $user->get_login() . "\n" . "e-mail:\t\t" . $user->get_email() . "\n"; } $message .= "ip:\t\t" . sys::client_ip() . "\n" . "request:\t" . REQUEST_URI . "\n" . "description:\n" . $description; send_plain_mail(array(DEVELOPER_EMAIL), $_SERVER['SERVER_ADMIN'] . '<' . $_SERVER['HTTP_HOST'] . '> ', $title, $message, $headers); }
function count_accessible_children($node) { $id = $this->_get_id_lazy($node); $user =& user :: instance(); $this->_use_cache_key(array('count_accessible_children', $id, $user->get_id(), $user->get_groups()), CACHE_REGISTRY_TREE_ACCESSIBLE_GROUP); return $this->_cache_callback('count_accessible_children', array($node)); }
function _send_mail($debug_info) { include_once LIMB_DIR . '/core/lib/mail/mail.inc.php'; $title = ''; $description = debug::_parse_text_debug_info($debug_info); $verbosity_level = $debug_info['level']; switch ($verbosity_level) { case DEBUG_LEVEL_NOTICE: $title .= ' debug notice'; break; case DEBUG_LEVEL_WARNING: $title .= ' debug warning'; break; case DEBUG_LEVEL_ERROR: $title .= ' debug error'; break; case DEBUG_TIMING_POINT: $title .= ' timig point'; break; } $message = ''; $user =& user::instance(); if (($user_id = $user->get_id()) != DEFAULT_USER_ID) { $message .= "user id:\t" . "{$user_id}\n" . "login:\t\t" . $user->get_login() . "\n" . "e-mail:\t\t" . $user->get_email() . "\n"; } $message .= "ip:\t\t" . sys::client_ip() . "\n" . "request:\t" . $_SERVER['REQUEST_URI'] . "\n" . "description:\n" . $description; if (sys::exec_mode() == 'cli') { send_plain_mail(array(DEVELOPER_EMAIL), 'cli', $title, $message); } else { send_plain_mail(array(DEVELOPER_EMAIL), $_SERVER['SERVER_ADMIN'] . '<' . $_SERVER['HTTP_HOST'] . '> ', $title, $message); } }
function _check_sys_site_object_record() { $user =& user :: instance(); $this->db->sql_select('sys_site_object', '*', 'id=' . $this->object->get_id()); $record = $this->db->fetch_row(); $this->assertEqual($record['identifier'], $this->object->get_identifier()); $this->assertEqual($record['title'], $this->object->get_title()); $this->assertEqual($record['current_version'], $this->object->get_version()); $this->assertFalse(!$record['class_id']); $this->assertEqual($record['creator_id'], $user->get_id()); $this->assertTrue((time() - $record['created_date']) <= 60, 'create time is not valid'); $this->assertTrue((time() - $record['modified_date']) <= 60, 'modified time is not valid'); }
function get_accessor_ids() { $accessor_ids = array(); $user =& user :: instance(); if(($user_id = $user->get_id()) != DEFAULT_USER_ID) $accessor_ids[] = $user_id; foreach(array_keys($user->get_groups()) as $group_id) $accessor_ids[] = $group_id; return $accessor_ids; }
function _check_sys_object_version_record() { $conditions['object_id'] = $this->object->get_id(); $conditions['version'] = $this->object->get_version(); $this->db->sql_select('sys_object_version', '*', $conditions); $record = $this->db->fetch_row(); $user =& user :: instance(); $this->assertEqual($record['object_id'], $this->object->get_id()); $this->assertEqual($record['version'], $this->object->get_version()); $this->assertEqual($record['creator_id'], $user->get_id()); }
function &_get_user() { return user::instance(); }
function _create_version_record() { $version_db_table =& db_table_factory::instance('sys_object_version'); $time = time(); $user =& user::instance(); $data['object_id'] = $this->get_id(); $data['version'] = $this->get_version(); $data['created_date'] = $time; $data['modified_date'] = $time; $data['creator_id'] = $user->get_id(); $version_db_table->insert($data); return true; }
function logout() { $user =& user::instance(); return $user->logout(); }
function _create_site_object_record() { $this->set_attribute('version', 1); $user =& user :: instance(); $data['identifier'] = $this->get_identifier(); $data['title'] = $this->get_title(); $data['class_id'] = $this->get_class_id(); $data['current_version'] = $this->get_version(); $data['creator_id'] = $user->get_id(); $data['status'] = $this->get_attribute('status', 0); $data['controller_id'] = $this->get_attribute('controller_id'); $created_date = $this->get_attribute('created_date', 0); $modified_date = $this->get_attribute('modified_date', 0); $time = time(); if(!$created_date) $data['created_date'] = $time; else $data['created_date'] = $created_date; if(!$modified_date) $data['modified_date'] = $time; else $data['modified_date'] = $modified_date; if ($this->get_attribute('locale_id')) $data['locale_id'] = $this->get_attribute('locale_id'); else $data['locale_id'] = $this->_get_parent_locale_id(); $sys_site_object_db_table =& db_table_factory :: instance('sys_site_object'); $sys_site_object_db_table->insert($data); return $sys_site_object_db_table->get_last_insert_id(); }