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 global $INPUT; 14 // handle passed message 15 if($INPUT->str('msg1')) msg(hsc($INPUT->str('msg1')),1); 16 if($INPUT->str('err')) msg(hsc($INPUT->str('err')),-1); 17 18 19 // get namespace to display (either direct or from deletion order) 20 if($INPUT->str('delete')){ 21 $DEL = cleanID($INPUT->str('delete')); 22 $IMG = $DEL; 23 $NS = getNS($DEL); 24 }elseif($INPUT->str('edit')){ 25 $IMG = cleanID($INPUT->str('edit')); 26 $NS = getNS($IMG); 27 }elseif($INPUT->str('img')){ 28 $IMG = cleanID($INPUT->str('img')); 29 $NS = getNS($IMG); 30 }else{ 31 $NS = cleanID($INPUT->str('ns')); 32 } 33 34 // check auth 35 $AUTH = auth_quickaclcheck("$NS:*"); 36 37 // do not display the manager if user does not have read access 38 if($AUTH < AUTH_READ && !$fullscreen) { 39 http_status(403); 40 die($lang['accessdenied']); 41 } 42 43 // handle flash upload 44 if(isset($_FILES['Filedata'])){ 45 $_FILES['upload'] =& $_FILES['Filedata']; 46 $JUMPTO = media_upload($NS,$AUTH); 47 if($JUMPTO == false){ 48 http_status(400); 49 echo 'Upload failed'; 50 } 51 echo 'ok'; 52 exit; 53 } 54 55 // give info on PHP catched upload errors 56 if($_FILES['upload']['error']){ 57 switch($_FILES['upload']['error']){ 58 case 1: 59 case 2: 60 msg(sprintf($lang['uploadsize'], 61 filesize_h(php_to_byte(ini_get('upload_max_filesize')))),-1); 62 break; 63 default: 64 msg($lang['uploadfail'].' ('.$_FILES['upload']['error'].')',-1); 65 } 66 unset($_FILES['upload']); 67 } 68 69 // handle upload 70 if($_FILES['upload']['tmp_name']){ 71 $JUMPTO = media_upload($NS,$AUTH); 72 if($JUMPTO) $NS = getNS($JUMPTO); 73 } 74 75 // handle meta saving 76 if($IMG && @array_key_exists('save', $INPUT->arr('do'))){ 77 $JUMPTO = media_metasave($IMG,$AUTH,$INPUT->arr('meta')); 78 } 79 80 if($IMG && ($INPUT->str('mediado') == 'save' || @array_key_exists('save', $INPUT->arr('mediado')))) { 81 $JUMPTO = media_metasave($IMG,$AUTH,$INPUT->arr('meta')); 82 } 83 84 if ($INPUT->int('rev') && $conf['mediarevisions']) $REV = $INPUT->int('rev'); 85 86 if($INPUT->str('mediado') == 'restore' && $conf['mediarevisions']){ 87 $JUMPTO = media_restore($INPUT->str('image'), $REV, $AUTH); 88 } 89 90 // handle deletion 91 if($DEL) { 92 $res = 0; 93 if(checkSecurityToken()) { 94 $res = media_delete($DEL,$AUTH); 95 } 96 if ($res & DOKU_MEDIA_DELETED) { 97 $msg = sprintf($lang['deletesucc'], noNS($DEL)); 98 if ($res & DOKU_MEDIA_EMPTY_NS && !$fullscreen) { 99 // current namespace was removed. redirecting to root ns passing msg along 100 send_redirect(DOKU_URL.'lib/exe/mediamanager.php?msg1='. 101 rawurlencode($msg).'&edid='.$INPUT->str('edid')); 102 } 103 msg($msg,1); 104 } elseif ($res & DOKU_MEDIA_INUSE) { 105 if(!$conf['refshow']) { 106 msg(sprintf($lang['mediainuse'],noNS($DEL)),0); 107 } 108 } else { 109 msg(sprintf($lang['deletefail'],noNS($DEL)),-1); 110 } 111 } 112 // finished - start output 113 114 if (!$fullscreen) { 115 header('Content-Type: text/html; charset=utf-8'); 116 include(template('mediamanager.php')); 117 } 118 119/* vim: set expandtab tabstop=4 shiftwidth=4 softtabstop=4: */ 120