<?PHP
/* ====================
Seditio - Website engine
Copyright Neocrome & Seditio Team
https://seditio.org
[BEGIN_SED]
File=plugins/ckeditor/ckeditor.ajax.php
Version=179
Updated=2022-jul-18
Type=Plugin
Author=Amro
Description=
[END_SED]
[BEGIN_SED_EXTPLUGIN]
Code=ckeditor
Part=AjaxCk
File=ckeditor.ajax
Hooks=ajax
Tags=
Minlevel=0
Order=10
[END_SED_EXTPLUGIN]
==================== */
if (!defined('SED_CODE')) { die('Wrong URL.'); }
require(SED_ROOT . '/system/config.extensions.php');
$result_upload = array();
list($usr['auth_read'], $usr['auth_write'], $usr['isadmin']) = sed_auth('pfs', 'a');
$sql_total = sed_sql_query("SELECT SUM(pfs_size) FROM $db_pfs WHERE pfs_userid='".$usr['id']."'");
$pfs_totalsize = sed_sql_result($sql_total, 0, "SUM(pfs_size)");
$user_info = sed_userinfo($usr['id']);
$maingroup = ($usr['id'] == 0) ? 5 : $user_info['user_maingrp'];
$sql = sed_sql_query("SELECT grp_pfs_maxfile, grp_pfs_maxtotal FROM $db_groups WHERE grp_id='$maingroup'");
if ($row = sed_sql_fetchassoc($sql))
{
$maxfile = $row['grp_pfs_maxfile'];
$maxtotal = $row['grp_pfs_maxtotal'];
}
else
{ exit; }
if ($maxfile == 0 || $maxtotal == 0 || !$usr['auth_write'])
{
$disp_errors = $L['pfs_filetoobigorext'];
}
$u_tmp_name = $_FILES['upload']['tmp_name'];
$u_type = $_FILES['upload']['type'];
$u_name = $_FILES['upload']['name'];
$u_size = $_FILES['upload']['size'];
$filename = sed_newname($usr['id']."-".$u_name, TRUE);
if ($cfg['pfs_filemask'] || file_exists($cfg['pfs_dir'].$filename))
{
$filename = sed_newname($usr['id']."-".time().sed_unique(3)."-".$u_name, TRUE);
}
$allow_extension = array('gif','png','jpg','jpeg','bmp');
$extension_arr = explode(".", $filename);
$f_extension = end($extension_arr);
$uploaded = 0;
$u_sqlname = $filename;
$u_title = $filename;
if (in_array($f_extension, $allow_extension) == FALSE)
{
$disp_errors = "Bad file extension";
}
elseif ((($pfs_totalsize + $u_size) > $maxtotal * 1024) || ($u_size > ($maxfile * 1024)))
{
$disp_errors = $L['pfs_filetoobigorext'];
}
elseif (file_exists($cfg['pfs_dir'].$filename))
{
$disp_errors = $L['pfs_fileexists'];
}
elseif (empty($disp_errors))
{
move_uploaded_file($u_tmp_name, $cfg['pfs_dir'].$filename);
@chmod($cfg['pfs_dir'].$filename, 0644);
$uploaded = 1;
$folder_title = $L[date('F')]." ".date('Y');
$sql = sed_sql_query("SELECT pff_id FROM $db_pfs_folders WHERE pff_userid = '".$usr['id']."' AND pff_title = '".$folder_title."' LIMIT 1");
if (sed_sql_numrows($sql) > 0)
{
$folderid = sed_sql_result($sql, 0, "pff_id");
}
else
{
$sql = sed_sql_query("INSERT INTO $db_pfs_folders
(pff_userid,
pff_title,
pff_date,
pff_updated,
pff_desc,
pff_type,
pff_count)
VALUES
(".(int)$usr['id'].",
'".sed_sql_prep($folder_title)."',
".(int)$sys['now'].",
".(int)$sys['now'].",
'',
0,
0)");
$folderid = sed_sql_insertid();
}
$sql = sed_sql_query("INSERT INTO $db_pfs
(pfs_userid,
pfs_date,
pfs_file,
pfs_extension,
pfs_folderid,
pfs_title,
pfs_desc,
pfs_size,
pfs_count)
VALUES
(".(int)$usr['id'].",
".(int)$sys['now_offset'].",
'".sed_sql_prep($u_sqlname)."',
'".sed_sql_prep($f_extension)."',
".(int)$folderid.",
'".sed_sql_prep($u_title)."',
'".sed_sql_prep($desc)."',
".(int)$u_size.",
0) ");
$sql = sed_sql_query("UPDATE $db_pfs_folders SET pff_updated='".$sys['now']."' WHERE pff_id='$folderid'");
sed_sm_createthumb($cfg['pfs_dir'].$filename, $cfg['th_dir'].$filename, $cfg['th_x'], $cfg['th_y'], $cfg['th_jpeg_quality'], "resize", TRUE);
}
$result_upload = array(
"uploaded" => $uploaded,
"filename" => $filename,
"url" => $cfg['pfs_dir'].$filename,
"error" => array("message" => $disp_errors)
);
header("Content-type: application/json; charset=UTF-8");
header("Cache-Control: must-revalidate");
header("Pragma: no-cache");
header("Expires: -1");
print json_encode($result_upload);
?>