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(); }