mirror of
https://github.com/kleeja-official/kleeja.git
synced 2025-12-15 20:49:41 +01:00
hello github! 😘
This commit is contained in:
210
index.php
Executable file
210
index.php
Executable file
@@ -0,0 +1,210 @@
|
||||
<?php
|
||||
/**
|
||||
*
|
||||
* @package Kleeja
|
||||
* @copyright (c) 2007 Kleeja.com
|
||||
* @license ./docs/license.txt
|
||||
*
|
||||
*/
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* We are in index.php file, useful for exceptions
|
||||
*/
|
||||
define('IN_REAL_INDEX', true);
|
||||
|
||||
/**
|
||||
* We are in the middle of the uploading process, useful for exceptions
|
||||
*/
|
||||
define('IN_SUBMIT_UPLOADING' , isset($_POST['submitr']) || isset($_POST['submittxt']));
|
||||
|
||||
|
||||
/**
|
||||
* @ignore
|
||||
*/
|
||||
define('IN_KLEEJA', true);
|
||||
require_once 'includes/common.php';
|
||||
require_once 'includes/KleejaUploader.php';
|
||||
|
||||
#current uploading method
|
||||
$uploadingMethodClass = 'includes/up_methods/defaultUploader.php';
|
||||
|
||||
|
||||
is_array($plugin_run_result = Plugins::getInstance()->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;
|
||||
|
||||
$uploader->setAllowedFileExtensions($d_groups[$userinfo['group_id']]['exts']);
|
||||
$uploader->setUploadFieldsLimit($config['filesnum']);
|
||||
|
||||
|
||||
$uploading_type = ip('submitr') ? 1 : (ip('submittxt') ? 2 : false);
|
||||
|
||||
if($uploading_type)
|
||||
{
|
||||
$uploader->upload($uploading_type);
|
||||
}
|
||||
|
||||
|
||||
#file input fields
|
||||
$FILES_NUM_LOOP = array();
|
||||
|
||||
if($config['filesnum'] > 0)
|
||||
{
|
||||
foreach(range(1, $config['filesnum']) as $i)
|
||||
{
|
||||
$FILES_NUM_LOOP[] = array('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 = array();
|
||||
foreach($uploader->getMessages() as $t => $s)
|
||||
{
|
||||
$info[] = array(
|
||||
'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'], '<a href="' . ($config['mod_writer'] ? 'rules.html' : 'go.php?go=rules') . '">' , '</a>');
|
||||
$link_avater = sprintf($lang['EDIT_U_AVATER_LINK'], '<a href="https://www.gravatar.com/" target="_blank">', '</a>');
|
||||
|
||||
|
||||
$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 = array();
|
||||
$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 = array(
|
||||
'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 = array();
|
||||
$show_names_sizeof = sizeof($show_names);
|
||||
|
||||
foreach ($online_names as $k)
|
||||
{
|
||||
$show_names[] = array('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('d-m-Y h:i a', $online_time);
|
||||
|
||||
|
||||
//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
|
||||
|
||||
|
||||
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;
|
||||
}
|
||||
|
||||
|
||||
//header
|
||||
Saaheader();
|
||||
//index
|
||||
echo $tpl->display(($config['filesnum'] > 0 ? "index_body" : "info"));
|
||||
//footer
|
||||
Saafooter();
|
||||
|
||||
|
||||
Reference in New Issue
Block a user