run('begin_index_page', get_defined_vars())) ? extract($plugin_run_result) : null; //run hook
require_once $uploadingMethodClass;
//
//Is kleeja only for members?
//
if (empty($d_groups[2]['exts']) && ! $usrcp->name())
{
// Send a 503 HTTP response code to prevent search bots from indexing this message
//header('HTTP/1.1 503 Service Temporarily Unavailable');
kleeja_info($lang['SITE_FOR_MEMBER_ONLY'], $lang['HOME']);
}
$action = $config['siteurl'];
/** @var KleejaUploader $uploader */
$uploadingMethodClassBaseName = basename($uploadingMethodClass, '.php');
$uploader = new $uploadingMethodClassBaseName;
if (! $uploader instanceof KleejaUploader)
{
kleeja_err('Your upload Method class is not implemented our KleejaUploader Interface');
exit;
}
$uploader->setAllowedFileExtensions($d_groups[$userinfo['group_id']]['exts']);
$uploader->setUploadFieldsLimit($config['filesnum']);
$remaining_storage = $d_groups[$userinfo['group_id']]['configs']['max_storage']>0 ? $d_groups[$userinfo['group_id']]['configs']['max_storage']-$userinfo['storage_size'] : -1;
if (ip('submitr'))
{
$uploader->upload();
}
//file input fields
$FILES_NUM_LOOP = [];
if ($config['filesnum'] > 0)
{
foreach (range(1, $config['filesnum']) as $i)
{
$FILES_NUM_LOOP[] = ['i' => $i, 'show'=>($i == 1 || (! empty($config['filesnum_show']) && (int) $config['filesnum_show'] == 1) ? '' : 'display: none')];
}
}
else
{
$text = $lang['PLACE_NO_YOU'];
}
//show errors and info
$info = [];
foreach ($uploader->getMessages() as $t => $s)
{
$info[] = [
't' => $s[1] == 'error' ? 'index_err' : 'index_info', //for old Kleeja versions
'i' => $s[0], //#for old Kleeja versions
'message_content' => $s[0],
'message_type' => $s[1],
];
}
//some words for template
$welcome_msg = $config['welcome_msg'];
$filecp_link = $usrcp->id() ? $config['siteurl'] . ($config['mod_writer'] ? 'filecp.html' : 'ucp.php?go=filecp') : false;
$terms_msg = sprintf($lang['AGREE_RULES'], '', '');
$link_avater = sprintf($lang['EDIT_U_AVATER_LINK'], '', '');
$js_allowed_extensions_types = "['" . implode("', '", array_keys($d_groups[$userinfo['group_id']]['exts'])) . "']";
$js_allowed_extensions_sizes = '[' . implode(', ', array_values($d_groups[$userinfo['group_id']]['exts'])) . ']';
//
//who's online right now..
//I don't like this feature and I prefer that you disable it
//
$show_online = $config['allow_online'] == 1 ? true : false;
if ($show_online)
{
$current_online_users = 0;
$online_names = [];
$timeout = 60; //30 second
$timeout2 = time()-$timeout;
//put another bot name
is_array($plugin_run_result = Plugins::getInstance()->run('anotherbots_online_index_page', get_defined_vars())) ? extract($plugin_run_result) : null; //run hook
$query = [
'SELECT' => 'u.name',
'FROM' => "{$dbprefix}users u",
'WHERE' => "u.last_visit > $timeout2"
];
is_array($plugin_run_result = Plugins::getInstance()->run('qr_select_online_index_page', get_defined_vars())) ? extract($plugin_run_result) : null; //run hook
$result = $SQL->build($query);
while ($row=$SQL->fetch_array($result))
{
is_array($plugin_run_result = Plugins::getInstance()->run('while_qr_select_online_index_page', get_defined_vars())) ? extract($plugin_run_result) : null; //run hook
$current_online_users++;
$online_names[$row['name']] = $row['name'];
}//while
$SQL->freeresult($result);
//make names as array to print them in template
$show_names = [];
$show_names_sizeof = sizeof($online_names);
foreach ($online_names as $k)
{
$show_names[] = ['name' => $k, 'separator' => $show_names_sizeof ? ',' : ''];
}
//some variables must be destroyed here
unset($online_names, $timeout, $timeout2);
//check & update most ever users and visitors were online
if (empty($config['most_user_online_ever']) || trim($config['most_user_online_ever']) == '')
{
$most_online = $current_online_users;
$online_time = time();
}
else
{
list($most_online, $online_time) = @explode(':', $config['most_user_online_ever']);
}
if ($most_online < $current_online_users || empty($config['most_user_online_ever']))
{
update_config('most_user_online_ever', $current_online_users . ':' . time());
}
$online_time = kleeja_date($online_time, true, 'd-m-Y h:i a');
//before 1.8, styles computability
$usersnum = $current_online_users;
$shownames = $show_names;
is_array($plugin_run_result = Plugins::getInstance()->run('if_online_index_page', get_defined_vars())) ? extract($plugin_run_result) : null; //run hook
}//allow_online
$show_style = true;
is_array($plugin_run_result = Plugins::getInstance()->run('end_index_page', get_defined_vars())) ? extract($plugin_run_result) : null; //run hook
//is ajax
if (ip('ajax'))
{
if (! empty($info))
{
header('Content-Type: text/plain; charset=utf-8');
echo json_encode($info);
}
exit;
}
//show style
if ($show_style)
{
Saaheader();
echo $tpl->display(($config['filesnum'] > 0 ? 'index_body' : 'info'));
Saafooter();
}