[Openupload-svn-update] SF.net SVN: openupload:[183] trunk/lib/modules/default/admin.inc.php
Status: Beta
Brought to you by:
tsdogs
|
From: <ts...@us...> - 2008-12-11 11:03:28
|
Revision: 183
http://openupload.svn.sourceforge.net/openupload/?rev=183&view=rev
Author: tsdogs
Date: 2008-12-11 11:03:20 +0000 (Thu, 11 Dec 2008)
Log Message:
-----------
added maintenance option for files
Modified Paths:
--------------
trunk/lib/modules/default/admin.inc.php
Modified: trunk/lib/modules/default/admin.inc.php
===================================================================
--- trunk/lib/modules/default/admin.inc.php 2008-12-11 11:02:38 UTC (rev 182)
+++ trunk/lib/modules/default/admin.inc.php 2008-12-11 11:03:20 UTC (rev 183)
@@ -32,6 +32,10 @@
3 => "filesplugin",
4 => "filemultidel",
),
+ "adminmaintenance" => array (
+ 1 => "maintenance",
+ 2 => "maintenancerun",
+ ),
"adminusers" => array (
1 => "users",
2 => "useradd",
@@ -414,15 +418,19 @@
$this->tpl->assign('files',$files);
}
+ function filedelete($id) {
+ app()->db->delete('files',array('id' => $id));
+ app()->db->delete('file_options',array('file_id' => $id));
+ unlink(app()->config['DATA_PATH'].'/'.$id);
+ }
+
function filedel() {
global $_GET;
if ($_GET['id']!='') {
$f = app()->db->read('files',array('id'=>$_GET['id']));
if ($f[0]['id']==$_GET['id']) {
- app()->db->delete('files',array('id' => $_GET['id']));
- app()->db->delete('file_options',array('file_id' => $_GET['id']));
- unlink(app()->config['DATA_PATH'].'/'.$_GET['id']);
+ $this->filedelete($_GET['id']);
}
}
$this->nextStep(1);
@@ -455,6 +463,79 @@
$this->nextStep(1);
}
+ function maintenance() {
+ global $_SESSION;
+
+ /* check if expired plugin is loaded */
+ if (isset(app()->plugins['expire'])) {
+ $this->tpl->assign('expireplugin','yes');
+ }
+ if (app()->auth->features['useradmin']!='no') {
+ $users = app()->auth->users();
+ $this->tpl->assign('users',$users);
+ }
+ $this->tpl->assign('criteria',$_SESSION['user']['del']['criteria']);
+ }
+
+ function maintenancerun() {
+ global $_POST;
+ global $_SESSION;
+
+ if (isset($_POST['expire'])) {
+ /* get all the files which have an expire date */
+ $files = app()->db->readex('file_options',array(array(array('name','=','expire'),
+ array('value','<=',date('Y-m-d',time()-(24 * 60 * 60))))));
+ $result = array();
+ foreach ($files as $f) {
+ $result[]['id']=$f['file_id'];
+ }
+ $this->tpl->assign('files',$result);
+ $_SESSION['user']['del']['files']=$result;
+ } else if (isset($_POST['run'])) {
+ $criteria = array();
+ foreach ($_POST as $k => $p) {
+ $_SESSION['user']['del']['criteria']=$_POST;
+ if (strpos($k,'c_')!==FALSE) {
+ $n = substr($k,2,strlen($k)-2);
+ if ($_POST[$n]!='') {
+ switch ($n) {
+ case 'login': $criteria[] = array ('user_login','=',$_POST[$n]);
+ break;
+ case 'older': $criteria[] = array('upload_date','<', date('Y-m-d',time()-($_POST[$n] * 24 * 60 * 60)));
+ break;
+ case 'date': $criteria[] = array('upload_date','=', $_POST[$n]);
+ break;
+ case 'size': $criteria[] = array('size','>', $_POST[$n]*1024*1024);
+ break;
+ }
+ } else {
+ app()->error(tr('Specified criteria is not valid!'));
+ $this->nextStep();
+ }
+ }
+ }
+ if (count($criteria)>0) {
+ $files = app()->db->readex('files',array($criteria));
+ $this->tpl->assign('files',$files);
+ $_SESSION['user']['del']['files']=$files;
+ } else {
+ app()->error(tr('Please specify at least one criteria!'));
+ $this->nextStep(1);
+ }
+ } else if (isset($_POST['delete'])) {
+ if (count($_SESSION['user']['del']['files'])<=0) {
+ unset($_SESSION['user']['del']['files']);
+ $this->nextStep(1);
+ }
+ foreach ($_SESSION['user']['del']['files'] as $f) {
+ $this->filedelete($f['id']);
+ }
+ $this->tpl->assign('deleted','true');
+ $this->tpl->assign('files',$_SESSION['user']['del']['files']);
+ unset($_SESSION['user']['del']);
+ }
+ }
+
function plugins() {
}
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|