run('begin_usrcp_page', get_defined_vars())) ? extract($plugin_run_result) : null; //run hook
$extra = '';
switch (g('go'))
{
//
//login page
//
case 'login' :
//page info
$stylee = 'login';
$titlee = $lang['LOGIN'];
$action = 'ucp.php?go=login' . (ig('return') ? '&return=' . g('return') : '');
$forget_pass_link = !empty($forgetpass_script_path) && (int) $config['user_system'] != 1 ? $forgetpass_script_path : 'ucp.php?go=get_pass';
$H_FORM_KEYS = kleeja_add_form_key('login');
//no error yet
$ERRORS = false;
//_post
$t_lname = p('lname');
$t_lpass = p('lpass');
is_array($plugin_run_result = Plugins::getInstance()->run('login_before_submit', get_defined_vars())) ? extract($plugin_run_result) : null; //run hook
//logon before !
if ($usrcp->name())
{
is_array($plugin_run_result = Plugins::getInstance()->run('login_logon_before', get_defined_vars())) ? extract($plugin_run_result) : null; //run hook
$errorpage = true;
$text = $lang['LOGINED_BEFORE'] . ' ..
' . $lang['LOGOUT'] . '';
kleeja_info($text);
}
elseif (ip('submit'))
{
$ERRORS = array();
is_array($plugin_run_result = Plugins::getInstance()->run('login_after_submit', get_defined_vars())) ? extract($plugin_run_result) : null; //run hook
//check for form key
if(!kleeja_check_form_key('login'))
{
$ERRORS['form_key'] = $lang['INVALID_FORM_KEY'];
}
if(!kleeja_check_captcha())
{
if (function_exists('gd_info'))
{
$ERRORS['captcha'] = $lang['WRONG_VERTY_CODE'];
}
}
if (empty(p('lname')) || empty(p('lpass')))
{
$ERRORS['empty_fields'] = $lang['EMPTY_FIELDS'];
}
is_array($plugin_run_result = Plugins::getInstance()->run('login_after_submit2', get_defined_vars())) ? extract($plugin_run_result) : null; //run hook
if(empty($ERRORS))
{
if(!$usrcp->data(p('lname'), p('lpass'), false, (!ip('remme') ? false : p('remme'))))
{
$ERRORS['login_check'] = $lang['LOGIN_ERROR'];
}
else
{
if (ig('return'))
{
redirect(urldecode(g('return')));
$SQL->close();
exit;
}
$errorpage = true;
is_array($plugin_run_result = Plugins::getInstance()->run('login_data_no_error', get_defined_vars())) ? extract($plugin_run_result) : null; //run hook
$text = $lang['LOGIN_SUCCESFUL'] . '
' . $lang['HOME'] . '';
kleeja_info($text, '', true, $config['siteurl'], 1);
}
}
}
break;
//
//register page
//
case 'register' :
//page info
$stylee = 'register';
$titlee = $lang['REGISTER'];
$action = 'ucp.php?go=register';
$H_FORM_KEYS = kleeja_add_form_key('register');
//no error yet
$ERRORS = false;
//config register
if ((int) $config['register'] != 1 && (int) $config['user_system'] == 1)
{
kleeja_info($lang['REGISTER_CLOSED'], $lang['PLACE_NO_YOU']);
}
else if ($config['user_system'] != '1')
{
is_array($plugin_run_result = Plugins::getInstance()->run('register_not_default_sys', get_defined_vars())) ? extract($plugin_run_result) : null; //run hook
if(!empty($register_script_path))
{
$goto_forum_link = $register_script_path;
}
else
{
if(isset($script_path))
{
$goto_forum_link = ($config['user_system'] == 'api') ? dirname($script_path) : $script_path;
if($config['user_system'] == 'phpbb' || ($config['user_system'] == 'api' && strpos($script_path, 'phpbb') !== false))
{
$goto_forum_link .= '/ucp.php?mode=register';
}
else if($config['user_system'] == 'vb' || ($config['user_system'] == 'api' && strpos($script_path, 'vb') !== false))
{
$goto_forum_link .= '/register.php';
}
}
else
{
$goto_forum_link = '...';
}
}
kleeja_info('' . $lang['REGISTER']. '', $lang['REGISTER']);
}
//logon before !
if ($usrcp->name())
{
is_array($plugin_run_result = Plugins::getInstance()->run('register_logon_before', get_defined_vars())) ? extract($plugin_run_result) : null; //run hook
kleeja_info($lang['REGISTERED_BEFORE']);
}
//_post
$t_lname = p('lname');
$t_lpass = p('lpass');
$t_lpass2 = p('lpass2');
$t_lmail = p('lmail');
//no submit
if (!ip('submit'))
{
is_array($plugin_run_result = Plugins::getInstance()->run('register_no_submit', get_defined_vars())) ? extract($plugin_run_result) : null; //run hook
}
else // submit
{
$ERRORS = array();
is_array($plugin_run_result = Plugins::getInstance()->run('register_submit', get_defined_vars())) ? extract($plugin_run_result) : null; //run hook
//check for form key
if(!kleeja_check_form_key('register'))
{
$ERRORS['form_key'] = $lang['INVALID_FORM_KEY'];
}
if(!kleeja_check_captcha())
{
$ERRORS['captcha'] = $lang['WRONG_VERTY_CODE'];
}
if (trim(p('lname')) == '' || trim(p('lpass')) == '' || trim(p('lmail')) == '')
{
$ERRORS['empty_fields'] = $lang['EMPTY_FIELDS'];
}
if ($t_lpass != $t_lpass2)
{
$ERRORS['pass_neq_pass2'] = $lang['PASS_NEQ_PASS2'];
}
if (!preg_match("/^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,4})$/i", trim(p('lmail'))))
{
$ERRORS['lmail'] = $lang['WRONG_EMAIL'];
}
if (strlen(trim(p('lname'))) < 3 || strlen(trim(p('lname'))) > 50)
{
$ERRORS['lname'] = $lang['WRONG_NAME'];
}
else if ($SQL->num_rows($SQL->query("SELECT * FROM {$dbprefix}users WHERE clean_name='" . trim($SQL->escape($usrcp->cleanusername(p('lname')))) . "'")) != 0)
{
$ERRORS['name_exists_before'] = $lang['EXIST_NAME'];
}
else if ($SQL->num_rows($SQL->query("SELECT * FROM {$dbprefix}users WHERE mail='" . strtolower(trim($SQL->escape(p('lmail')))) . "'")) != 0)
{
$ERRORS['mail_exists_before'] = $lang['EXIST_EMAIL'];
}
is_array($plugin_run_result = Plugins::getInstance()->run('register_submit2', get_defined_vars())) ? extract($plugin_run_result) : null; //run hook
//no errors, lets do process
if(empty($ERRORS))
{
$name = (string) $SQL->escape(trim(p('lname')));
$user_salt = (string) substr(kleeja_base64_encode(pack("H*", sha1(mt_rand()))), 0, 7);
$pass = (string) $usrcp->kleeja_hash_password($SQL->escape(trim(p('lpass'))) . $user_salt);
$mail = (string) strtolower(trim($SQL->escape(p('lmail'))));
$session_id = (string) session_id();
$clean_name = (string) $usrcp->cleanusername($name);
$insert_query = array(
'INSERT' => 'name ,password, password_salt ,mail, register_time, session_id, clean_name, group_id',
'INTO' => "{$dbprefix}users",
'VALUES' => "'$name', '$pass', '$user_salt', '$mail', " . time() . ", '$session_id','$clean_name', " . $config['default_group']
);
is_array($plugin_run_result = Plugins::getInstance()->run('qr_insert_new_user_register', get_defined_vars())) ? extract($plugin_run_result) : null; //run hook
if ($SQL->build($insert_query))
{
$last_user_id = $SQL->insert_id();
$text = $lang['REGISTER_SUCCESFUL'] . '
' . $lang['HOME'] . '';
//update number of stats
$update_query = array(
'UPDATE' => "{$dbprefix}stats",
'SET' => "users=users+1, lastuser='$name'",
);
is_array($plugin_run_result = Plugins::getInstance()->run('ok_added_users_register', get_defined_vars())) ? extract($plugin_run_result) : null; //run hook
if($SQL->build($update_query))
{
//delete cache ..
delete_cache('data_stats');
}
//auto login
$usrcp->data($t_lname, $t_lpass, false, false);
kleeja_info($text, '', true, $config['siteurl'], 3);
}
}
}
break;
//
//logout action
//
case 'logout' :
is_array($plugin_run_result = Plugins::getInstance()->run('begin_logout', get_defined_vars())) ? extract($plugin_run_result) : null; //run hook
if ($usrcp->logout())
{
$text = $lang['LOGOUT_SUCCESFUL'] . '
' . $lang['HOME'] . '';
kleeja_info($text, $lang['LOGOUT'], true, $config['siteurl'], 1);
}
else
{
kleeja_err($lang['LOGOUT_ERROR']);
}
is_array($plugin_run_result = Plugins::getInstance()->run('end_logout', get_defined_vars())) ? extract($plugin_run_result) : null; //run hook
break;
//
//files user page
//
case 'fileuser' :
is_array($plugin_run_result = Plugins::getInstance()->run('begin_fileuser', get_defined_vars())) ? extract($plugin_run_result) : null; //run hook
$stylee = 'fileuser';
$H_FORM_KEYS = kleeja_add_form_key('fileuser');
$user_id_get = ig('id') ? g('id', 'int') : false;
$user_id = (!$user_id_get && $usrcp->id()) ? $usrcp->id() : $user_id_get;
$user_himself = $usrcp->id() == $user_id;
$action = $config['siteurl'] . 'ucp.php?go=fileuser' . (ig('page') ? '&page=' . g('page', 'int') : '');
//no logon before
if (!$usrcp->name() && !ig('id'))
{
kleeja_err($lang['USER_PLACE'], $lang['PLACE_NO_YOU'], true, 'index.php');
}
//Not allowed to browse files's folders of other users
if (!user_can('access_fileusers') && !$user_himself)
{
is_array($plugin_run_result = Plugins::getInstance()->run('user_cannot_access_fileusers', get_defined_vars())) ? extract($plugin_run_result) : null; //run hook
kleeja_info($lang['HV_NOT_PRVLG_ACCESS'], $lang['HV_NOT_PRVLG_ACCESS']);
}
#Not allowed to access this page ?
if (!user_can('access_fileuser') && $user_himself) {
is_array($plugin_run_result = Plugins::getInstance()->run('user_cannot_access_fileuser', get_defined_vars())) ? extract($plugin_run_result) : null; //run hook
kleeja_info($lang['HV_NOT_PRVLG_ACCESS'], $lang['HV_NOT_PRVLG_ACCESS']);
}
#fileuser is closed ?
if ((int) $config['enable_userfile'] != 1 && !user_can('enter_acp'))
{
kleeja_info($lang['USERFILE_CLOSED'], $lang['CLOSED_FEATURE']);
}
#get user options and name
$data_user = $config['user_system'] == 1 ? $usrcp->get_data('name, show_my_filecp', $user_id) : array('name' => $usrcp->usernamebyid($user_id), 'show_my_filecp' => '1');
#if there is no username, then there is no user at all
if(!$data_user['name'])
{
kleeja_err($lang['NOT_EXSIT_USER'], $lang['PLACE_NO_YOU']);
}
#this user closed his folder, and it's not the current user folder
if(!$data_user['show_my_filecp'] && ($usrcp->id() != $user_id) && !user_can('enter_acp'))
{
kleeja_info($lang['USERFILE_CLOSED'], $lang['CLOSED_FEATURE']);
}
$query = array(
'SELECT' => 'f.id, f.name, f.real_filename, f.folder, f.type, f.uploads, f.time, f.size',
'FROM' => "{$dbprefix}files f",
'WHERE' => 'f.user=' . $user_id,
'ORDER BY' => 'f.id DESC'
);
//pager
$perpage = 16;
$result_p = $SQL->build($query);
$nums_rows = $SQL->num_rows($result_p);
$currentPage = ig('page') ? g('page', 'int') : 1;
$Pager = new Pagination($perpage, $nums_rows, $currentPage);
$start = $Pager->getStartRow();
$your_fileuser = $config['siteurl'] . ($config['mod_writer'] ? 'fileuser-' . $usrcp->id() . '.html' : 'ucp.php?go=fileuser&id=' . $usrcp->id());
$total_pages = $Pager->getTotalPages();
$linkgoto = $config['siteurl'] . (
$config['mod_writer']
? 'fileuser-' . $user_id . ($currentPage > 1 && $currentPage <= $total_pages ? '-' . $currentPage : '') . '.html'
: 'ucp.php?go=fileuser' . ($currentPage > 1 && $currentPage <= $total_pages ? '&page=' . $currentPage : '')
);
$page_nums = $Pager->print_nums(str_replace('.html', '', $linkgoto));
$no_results = true;
if((int) $config['user_system'] != 1 && $usrcp->id() != $user_id)
{
$data_user['name'] = $usrcp->usernamebyid($user_id);
}
$user_name = !$data_user['name'] ? false : $data_user['name'];
#set page title
$titlee = $lang['FILEUSER'] . ': ' . $user_name;
#there is result ? show them
if($nums_rows != 0)
{
$no_results = false;
$query['LIMIT'] = "$start, $perpage";
is_array($plugin_run_result = Plugins::getInstance()->run('qr_select_files_in_fileuser', get_defined_vars())) ? extract($plugin_run_result) : null; //run hook
$result = $SQL->build($query);
$i = ($currentPage * $perpage) - $perpage;
$tdnumi = $num = $files_num = $imgs_num = 0;
while($row=$SQL->fetch_array($result))
{
++$i;
$file_info = array('::ID::' => $row['id'], '::NAME::' => $row['name'], '::DIR::' => $row['folder'], '::FNAME::' => $row['real_filename']);
$is_image = in_array(strtolower(trim($row['type'])), array('gif', 'jpg', 'jpeg', 'bmp', 'png')) ? true : false;
$url = $is_image ? kleeja_get_link('image', $file_info) : kleeja_get_link('file', $file_info);
$url_thumb = kleeja_get_link('thumb', $file_info);
$url_fileuser = $is_image
? $url
: (file_exists("images/filetypes/". $row['type'] . ".png") ? "images/filetypes/" . $row['type'] . ".png" : 'images/filetypes/file.png');
$file_name = $row['real_filename'] == '' ? $row['name'] : $row['real_filename'];
//make new lovely arrays !!
$arr[] = array(
'id' => $row['id'],
'name_file' => shorten_text($file_name, 25),
'file_type' => $row['type'],
'uploads' => $row['uploads'],
'tdnum' => $tdnumi == 0 ? '