1<?php 2 if(!defined('DOKU_INC')) define('DOKU_INC',dirname(__FILE__).'/../../'); 3 define('DOKU_MEDIAMANAGER',1); 4 5 // for multi uploader: 6 @ini_set('session.use_only_cookies',0); 7 8 require_once(DOKU_INC.'inc/init.php'); 9 10 trigger_event('MEDIAMANAGER_STARTED',$tmp=array()); 11 session_write_close(); //close session 12 13 // handle passed message 14 if($_REQUEST['msg1']) msg(hsc($_REQUEST['msg1']),1); 15 if($_REQUEST['err']) msg(hsc($_REQUEST['err']),-1); 16 17 18 // get namespace to display (either direct or from deletion order) 19 if($_REQUEST['delete']){ 20 $DEL = cleanID($_REQUEST['delete']); 21 $IMG = $DEL; 22 $NS = getNS($DEL); 23 }elseif($_REQUEST['edit']){ 24 $IMG = cleanID($_REQUEST['edit']); 25 $NS = getNS($IMG); 26 }elseif($_REQUEST['img']){ 27 $IMG = cleanID($_REQUEST['img']); 28 $NS = getNS($IMG); 29 }else{ 30 $NS = $_REQUEST['ns']; 31 $NS = cleanID($NS); 32 } 33 34 // check auth 35 $AUTH = auth_quickaclcheck("$NS:*"); 36 37 // create the given namespace (just for beautification) 38 if($AUTH >= AUTH_UPLOAD) { io_createNamespace("$NS:xxx", 'media'); } 39 40 // handle flash upload 41 if(isset($_FILES['Filedata'])){ 42 $_FILES['upload'] =& $_FILES['Filedata']; 43 $JUMPTO = media_upload($NS,$AUTH); 44 if($JUMPTO == false){ 45 header("HTTP/1.0 400 Bad Request"); 46 echo 'Upload failed'; 47 } 48 echo 'ok'; 49 exit; 50 } 51 52 // give info on PHP catched upload errors 53 if($_FILES['upload']['error']){ 54 switch($_FILES['upload']['error']){ 55 case 1: 56 case 2: 57 msg(sprintf($lang['uploadsize'], 58 filesize_h(php_to_byte(ini_get('upload_max_filesize')))),-1); 59 break; 60 default: 61 msg($lang['uploadfail'].' ('.$_FILES['upload']['error'].')',-1); 62 } 63 unset($_FILES['upload']); 64 } 65 66 // handle upload 67 if($_FILES['upload']['tmp_name']){ 68 $JUMPTO = media_upload($NS,$AUTH); 69 if($JUMPTO) $NS = getNS($JUMPTO); 70 } 71 72 // handle meta saving 73 if($IMG && $_REQUEST['do']['save']){ 74 $JUMPTO = media_metasave($IMG,$AUTH,$_REQUEST['meta']); 75 } 76 77 // handle deletion 78 if($DEL) { 79 $INUSE = media_inuse($DEL); 80 if(!$INUSE) { 81 if(media_delete($DEL,$AUTH)) { 82 msg(sprintf($lang['deletesucc'],noNS($DEL)),1); 83 } else { 84 msg(sprintf($lang['deletefail'],noNS($DEL)),-1); 85 } 86 } else { 87 if(!$conf['refshow']) { 88 unset($INUSE); 89 msg(sprintf($lang['mediainuse'],noNS($DEL)),0); 90 } 91 } 92 } 93 94 // finished - start output 95 header('Content-Type: text/html; charset=utf-8'); 96 include(template('mediamanager.php')); 97 98/* vim: set expandtab tabstop=4 shiftwidth=4 softtabstop=4: */ 99