mirror of
https://github.com/kleeja-official/kleeja.git
synced 2025-12-15 20:49:41 +01:00
Merge pull request #38 from munjoob/new1
users can delete their files in one click
This commit is contained in:
@@ -61,7 +61,10 @@ return array(
|
|||||||
'LOGOUT_ERROR' => 'هناك مشكلة بالخروج',
|
'LOGOUT_ERROR' => 'هناك مشكلة بالخروج',
|
||||||
#'FILECP' => 'إدارة الملفات',
|
#'FILECP' => 'إدارة الملفات',
|
||||||
'DEL_SELECTED' => 'حذف المحدد',
|
'DEL_SELECTED' => 'حذف المحدد',
|
||||||
#'EDIT_U_FILES' => 'إدارة ملفاتك',
|
'DEL_ALL' => 'حذف كل ملفاتي',
|
||||||
|
'ALL_DELETED' => 'تم حذف كل ملفاتك',
|
||||||
|
'NO_FILES_DELETE' => 'لا تملك ملفات لحذفها',
|
||||||
|
#'EDIT_U_FILES' => 'إدارة ملفاتك',
|
||||||
'FILES_UPDATED' => 'تم تحديث الملفات بنجاح',
|
'FILES_UPDATED' => 'تم تحديث الملفات بنجاح',
|
||||||
'PUBLIC_USER_FILES' => 'مجلد ملفات العضو',
|
'PUBLIC_USER_FILES' => 'مجلد ملفات العضو',
|
||||||
'FILEUSER' => 'مجلد ملفات',
|
'FILEUSER' => 'مجلد ملفات',
|
||||||
|
|||||||
@@ -50,6 +50,9 @@ return array(
|
|||||||
'LOGOUT_SUCCESFUL' => 'Logged out successfully.',
|
'LOGOUT_SUCCESFUL' => 'Logged out successfully.',
|
||||||
'LOGOUT_ERROR' => 'Logout Error!',
|
'LOGOUT_ERROR' => 'Logout Error!',
|
||||||
'DEL_SELECTED' => 'Delete selected',
|
'DEL_SELECTED' => 'Delete selected',
|
||||||
|
'DEL_ALL' => 'Delete all my files',
|
||||||
|
'ALL_DELETED' => 'All files has been deleted',
|
||||||
|
'NO_FILES_DELETE' => 'There is no files to delete them',
|
||||||
'FILES_UPDATED' => 'File updated successfully.',
|
'FILES_UPDATED' => 'File updated successfully.',
|
||||||
'PUBLIC_USER_FILES' => 'User files' folder',
|
'PUBLIC_USER_FILES' => 'User files' folder',
|
||||||
'FILEUSER' => 'files' folder',
|
'FILEUSER' => 'files' folder',
|
||||||
|
|||||||
@@ -85,6 +85,7 @@
|
|||||||
|
|
||||||
<div class="row justify-content-between mb-5">
|
<div class="row justify-content-between mb-5">
|
||||||
<div class="col col-md-auto"><input type="submit" name="submit_files" class="btn btn-outline-danger" value="{lang.DEL_SELECTED}" /></div>
|
<div class="col col-md-auto"><input type="submit" name="submit_files" class="btn btn-outline-danger" value="{lang.DEL_SELECTED}" /></div>
|
||||||
|
<div class="col col-md-auto"><input type="submit" name="submit_all_files" class="btn btn-outline-danger" value="{lang.DEL_ALL}" /></div>
|
||||||
<div class="col col-md-auto">[ <a href="javascript:void(0);" onclick="checkAll(document.c, '_del', 'su');" title="{lang.CHECK_ALL}">{lang.CHECK_ALL}</a> ]</div>
|
<div class="col col-md-auto">[ <a href="javascript:void(0);" onclick="checkAll(document.c, '_del', 'su');" title="{lang.CHECK_ALL}">{lang.CHECK_ALL}</a> ]</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|||||||
@@ -108,6 +108,7 @@
|
|||||||
<IF NAME="user_himself">
|
<IF NAME="user_himself">
|
||||||
<!-- button -->
|
<!-- button -->
|
||||||
<div class="left_button"><input type="submit" name="submit_files" value="{lang.DEL_SELECTED}" /></div>
|
<div class="left_button"><input type="submit" name="submit_files" value="{lang.DEL_SELECTED}" /></div>
|
||||||
|
<div class="left_button"><input type="submit" name="submit_all_files" value="{lang.DEL_ALL}" /></div>
|
||||||
<div class="right_button">[ <a href="javascript:void(0);" onclick="checkAll(document.c, '_del', 'su');" title="{lang.CHECK_ALL}">{lang.CHECK_ALL}</a> ]</div>
|
<div class="right_button">[ <a href="javascript:void(0);" onclick="checkAll(document.c, '_del', 'su');" title="{lang.CHECK_ALL}">{lang.CHECK_ALL}</a> ]</div>
|
||||||
{H_FORM_KEYS}
|
{H_FORM_KEYS}
|
||||||
<!-- @end-button -->
|
<!-- @end-button -->
|
||||||
|
|||||||
80
ucp.php
80
ucp.php
@@ -381,8 +381,10 @@ switch (g('go'))
|
|||||||
if($nums_rows != 0)
|
if($nums_rows != 0)
|
||||||
{
|
{
|
||||||
$no_results = false;
|
$no_results = false;
|
||||||
|
if (!ip('submit_all_files')) // in delete all files we do not need any limit;
|
||||||
|
{
|
||||||
$query['LIMIT'] = "$start, $perpage";
|
$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
|
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);
|
$result = $SQL->build($query);
|
||||||
@@ -457,6 +459,37 @@ switch (g('go'))
|
|||||||
$sizes += $row['size'];
|
$sizes += $row['size'];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (ip('submit_all_files') && $user_himself)
|
||||||
|
{
|
||||||
|
is_array($plugin_run_result = Plugins::getInstance()->run('submit_in_all_fileuser', get_defined_vars())) ? extract($plugin_run_result) : null; //run hook
|
||||||
|
//delete all files
|
||||||
|
foreach($arr as $row)
|
||||||
|
{
|
||||||
|
|
||||||
|
@kleeja_unlink($row['folder'] . '/' . $row['name'] );
|
||||||
|
|
||||||
|
//delete thumb
|
||||||
|
if (file_exists($row['folder'] . '/thumbs/' . $row['name'] ))
|
||||||
|
{
|
||||||
|
@kleeja_unlink($row['folder'] . '/thumbs/' . $row['name'] );
|
||||||
|
}
|
||||||
|
|
||||||
|
$ids[] = $row['id'];
|
||||||
|
if($is_image)
|
||||||
|
{
|
||||||
|
$imgs_num++;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
$files_num++;
|
||||||
|
}
|
||||||
|
|
||||||
|
$sizes += $r['size'];
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
$SQL->freeresult($result_p);
|
$SQL->freeresult($result_p);
|
||||||
@@ -498,6 +531,51 @@ switch (g('go'))
|
|||||||
kleeja_info($lang['NO_FILE_SELECTED'], '', true, $linkgoto, 2);
|
kleeja_info($lang['NO_FILE_SELECTED'], '', true, $linkgoto, 2);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
if (ip('submit_all_files') && $user_himself)
|
||||||
|
{
|
||||||
|
if(isset($ids) && !empty($ids))
|
||||||
|
{
|
||||||
|
$query_del = array(
|
||||||
|
'DELETE' => "{$dbprefix}files",
|
||||||
|
'WHERE' => "id IN (" . implode(',', $ids) . ")"
|
||||||
|
);
|
||||||
|
|
||||||
|
is_array($plugin_run_result = Plugins::getInstance()->run('qr_del_files_in_filecp', get_defined_vars())) ? extract($plugin_run_result) : null; //run hook
|
||||||
|
$SQL->build($query_del);
|
||||||
|
|
||||||
|
if(($files_num <= $stat_files) && ($imgs_num <= $stat_imgs))
|
||||||
|
{
|
||||||
|
//update number of stats
|
||||||
|
$update_query = array(
|
||||||
|
'UPDATE' => "{$dbprefix}stats",
|
||||||
|
'SET' => "sizes=sizes-$sizes,files=files-$files_num, imgs=imgs-$imgs_num",
|
||||||
|
);
|
||||||
|
|
||||||
|
$SQL->build($update_query);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
//write all delete log for current user for last time only
|
||||||
|
$log_msg=$usrcp->name()." has deleted all his/her files at this time : " . date('H:i a, d-m-Y') . "] \r\n".
|
||||||
|
"files numbers:".$files_num."\r\n".
|
||||||
|
"images numbers:".$imgs_num."\r\n";
|
||||||
|
$last_id=PATH . 'cache/'.$usrcp->id().$usrcp->name(); //based on user id
|
||||||
|
file_put_contents($last_id,$log_msg);
|
||||||
|
|
||||||
|
//delete all files , show msg
|
||||||
|
kleeja_info($lang['ALL_DELETED'], '', true, $linkgoto, 2);
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
//no file selected, show msg
|
||||||
|
kleeja_info($lang['NO_FILES_DELETE'], '', true, $linkgoto, 2);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
}#num result
|
}#num result
|
||||||
|
|
||||||
is_array($plugin_run_result = Plugins::getInstance()->run('end_fileuser', get_defined_vars())) ? extract($plugin_run_result) : null; //run hook
|
is_array($plugin_run_result = Plugins::getInstance()->run('end_fileuser', get_defined_vars())) ? extract($plugin_run_result) : null; //run hook
|
||||||
|
|||||||
Reference in New Issue
Block a user