mise a jour pour mtweb.0.9.0
[mw_pages] / app / out / default / tiny_mce / plugins / tinybrowser / tinybrowser.php
diff --git a/app/out/default/tiny_mce/plugins/tinybrowser/tinybrowser.php b/app/out/default/tiny_mce/plugins/tinybrowser/tinybrowser.php
new file mode 100644 (file)
index 0000000..aa4ff4d
--- /dev/null
@@ -0,0 +1,337 @@
+<?php\r
+require_once('config_tinybrowser.php');\r
+// Set language\r
+if(isset($tinybrowser['language']) && file_exists('langs/'.$tinybrowser['language'].'.php'))\r
+       {\r
+       require_once('langs/'.$tinybrowser['language'].'.php'); \r
+       }\r
+else\r
+       {\r
+       require_once('langs/en.php'); // Falls back to English\r
+       }\r
+require_once('fns_tinybrowser.php');\r
+\r
+// Check session, if it exists\r
+if(session_id() != '')\r
+       {\r
+       if(!isset($_SESSION[$tinybrowser['sessioncheck']]))\r
+               {\r
+               echo TB_DENIED;\r
+               exit;\r
+               }\r
+       }\r
+\r
+// Assign file operation variables\r
+$validtypes = array('image','media','file');\r
+$typenow = ((isset($_GET['type']) && in_array($_GET['type'],$validtypes)) ? $_GET['type'] : 'image');\r
+$standalone = ((isset($_GET['feid']) && $_GET['feid']!='') ? true : false);\r
+$foldernow = str_replace(array('../','..\\','./','.\\'),'',($tinybrowser['allowfolders'] && isset($_REQUEST['folder']) ? urldecode($_REQUEST['folder']) : ''));\r
+\r
+if($standalone)\r
+       {\r
+       $passfeid = '&feid='.$_GET['feid'];     \r
+       $rowhlightinit =  ' onload="rowHighlight();"';\r
+       }\r
+else\r
+       {\r
+       $passfeid = '';\r
+       $rowhlightinit =  '';   \r
+       }\r
+\r
+// Assign browsing options\r
+$sortbynow = (isset($_REQUEST['sortby']) ? $_REQUEST['sortby'] : $tinybrowser['order']['by']);\r
+$sorttypenow = (isset($_REQUEST['sorttype']) ? $_REQUEST['sorttype'] : $tinybrowser['order']['type']);\r
+$sorttypeflip = ($sorttypenow == 'asc' ? 'desc' : 'asc');  \r
+$viewtypenow = (isset($_REQUEST['viewtype']) ? $_REQUEST['viewtype'] : $tinybrowser['view']['image']);\r
+$findnow = (isset($_POST['find']) && !empty($_POST['find']) ? $_POST['find'] : false);\r
+$showpagenow = (isset($_REQUEST['showpage']) ? $_REQUEST['showpage'] : 0);\r
+\r
+// Assign url pass variables\r
+$passfolder = '&folder='.urlencode($foldernow);\r
+$passfeid = (isset($_GET['feid']) && $_GET['feid']!='' ? '&feid='.$_GET['feid'] : '');\r
+$passviewtype = '&viewtype='.$viewtypenow;\r
+$passsortby = '&sortby='.$sortbynow.'&sorttype='.$sorttypenow;\r
+\r
+// Assign view, thumbnail and link paths\r
+$browsepath = $tinybrowser['path'][$typenow].$foldernow;\r
+$linkpath = $tinybrowser['link'][$typenow].$foldernow;\r
+$thumbpath = $tinybrowser[$tinybrowser['thumbsrc']][$typenow].$foldernow;\r
+\r
+// Assign sort parameters for column header links\r
+$sortbyget = array();\r
+$sortbyget['name'] = '&viewtype='.$viewtypenow.'&sortby=name';\r
+$sortbyget['size'] = '&viewtype='.$viewtypenow.'&sortby=size'; \r
+$sortbyget['type'] = '&viewtype='.$viewtypenow.'&sortby=type'; \r
+$sortbyget['modified'] = '&viewtype='.$viewtypenow.'&sortby=modified';\r
+$sortbyget['dimensions'] = '&viewtype='.$viewtypenow.'&sortby=dimensions'; \r
+$sortbyget[$sortbynow] .= '&sorttype='.$sorttypeflip;\r
+\r
+// Assign css style for current sort type column\r
+$thclass = array();\r
+$thclass['name'] = '';\r
+$thclass['size'] = ''; \r
+$thclass['type'] = ''; \r
+$thclass['modified'] = '';\r
+$thclass['dimensions'] = ''; \r
+$thclass[$sortbynow] = ' class="'.$sorttypenow.'"';\r
+\r
+// Initalise alert array\r
+$notify = array(\r
+       'type' => array(),\r
+       'message' => array()\r
+);\r
+$newthumbqty = 0;\r
+\r
+// read folder contents if folder exists\r
+if(file_exists($tinybrowser['docroot'].$browsepath))\r
+       {\r
+       // Read directory contents and populate $file array\r
+       $dh = opendir($tinybrowser['docroot'].$browsepath);\r
+       $file = array();\r
+       while (($filename = readdir($dh)) !== false)\r
+               {\r
+               // get file extension\r
+               $nameparts = explode('.',$filename);\r
+               $ext = end($nameparts);\r
+\r
+               // filter directories and prohibited file types\r
+               if($filename != '.' && $filename != '..' && !is_dir($tinybrowser['docroot'].$browsepath.$filename) && !in_array($ext, $tinybrowser['prohibited']) && ($typenow == 'file' || strpos(strtolower($tinybrowser['filetype'][$typenow]),strtolower($ext))))\r
+                       {\r
+                       // search file name if search term entered\r
+                       if($findnow) $exists = strpos(strtolower($filename),strtolower($findnow));\r
+       \r
+                       // assign file details to array, for all files or those that match search\r
+                       if(!$findnow || ($findnow && $exists !== false))\r
+                               {\r
+                               $file['name'][] = $filename;\r
+                               $file['sortname'][] = strtolower($filename);\r
+                               $file['modified'][] = filemtime($tinybrowser['docroot'].$browsepath.$filename);\r
+                               $file['size'][] = filesize($tinybrowser['docroot'].$browsepath.$filename);\r
+       \r
+                               // image specific info or general\r
+                               if($typenow=='image' && $imginfo = getimagesize($tinybrowser['docroot'].$browsepath.$filename))\r
+                                       {\r
+                                       $file['width'][] = $imginfo[0];\r
+                                       $file['height'][] = $imginfo[1];\r
+                                       $file['dimensions'][] = $imginfo[0] + $imginfo[1];\r
+                                       $file['type'][] = $imginfo['mime'];\r
+                                       \r
+                                       // Check a thumbnail exists\r
+                                       if(!file_exists($tinybrowser['docroot'].$browsepath.'_thumbs/')) createfolder($tinybrowser['docroot'].$browsepath.'_thumbs/',$tinybrowser['unixpermissions']);\r
+                                       $thumbimg = $tinybrowser['docroot'].$browsepath.'_thumbs/_'.$filename;\r
+                                       if (!file_exists($thumbimg))\r
+                                               {\r
+                                               $nothumbimg = $tinybrowser['docroot'].$browsepath.$filename;\r
+                                               $mime = getimagesize($nothumbimg);\r
+                                               $im = convert_image($nothumbimg,$mime['mime']);\r
+                                               resizeimage($im,$tinybrowser['thumbsize'],$tinybrowser['thumbsize'],$thumbimg,$tinybrowser['thumbquality'],$mime['mime']);\r
+                                               imagedestroy($im);\r
+                                               $newthumbqty++;\r
+                                               }\r
+                                       }\r
+                               else \r
+                                       {\r
+                                       $file['width'][] = 'N/A';\r
+                                       $file['height'][] = 'N/A';\r
+                                       $file['dimensions'][] = 'N/A';\r
+                                       $file['type'][] = returnMIMEType($filename);\r
+                                       }\r
+                               }                       \r
+                       }\r
+               }\r
+       closedir($dh);\r
+       }\r
+// create file upload folder\r
+else\r
+       {\r
+       $success = createfolder($tinybrowser['docroot'].$browsepath,$tinybrowser['unixpermissions']);\r
+       if($success)\r
+               {\r
+               if($typenow=='image') createfolder($tinybrowser['docroot'].$browsepath.'_thumbs/',$tinybrowser['unixpermissions']);\r
+               $notify['type'][]='success';\r
+               $notify['message'][]=sprintf(TB_MSGMKDIR, $browsepath);\r
+               }\r
+       else\r
+               {\r
+               $notify['type'][]='error';\r
+               $notify['message'][]=sprintf(TB_MSGMKDIRFAIL, $browsepath);\r
+               }\r
+       }\r
+       \r
+// Assign directory structure to array\r
+$browsedirs=array();\r
+dirtree($browsedirs,$tinybrowser['filetype'][$typenow],$tinybrowser['docroot'],$tinybrowser['path'][$typenow]);\r
+       \r
+// generate alert if new thumbnails created\r
+if($newthumbqty>0)\r
+   {\r
+       $notify['type'][]='info';\r
+       $notify['message'][]=sprintf(TB_MSGNEWTHUMBS, $newthumbqty);\r
+       }\r
+       \r
+\r
+// determine sort order\r
+$sortorder = ($sorttypenow == 'asc' ? SORT_ASC : SORT_DESC);\r
+$num_of_files = (isset($file['name']) ? count($file['name']) : 0);\r
+\r
+if($num_of_files>0)\r
+       {\r
+       // sort files by selected order\r
+       sortfileorder($sortbynow,$sortorder,$file);\r
+       }\r
+\r
+// determine pagination\r
+if($tinybrowser['pagination']>0)\r
+       {\r
+       $showpage_start = ($showpagenow ? ($_REQUEST['showpage']*$tinybrowser['pagination'])-$tinybrowser['pagination'] : 0);\r
+       $showpage_end = $showpage_start+$tinybrowser['pagination'];\r
+       if($showpage_end>$num_of_files) $showpage_end = $num_of_files;\r
+       }\r
+else\r
+       {\r
+       $showpage_start = 0;\r
+       $showpage_end = $num_of_files;\r
+       }\r
+?>\r
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">\r
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">\r
+<head>\r
+<title>TinyBrowser :: <?php echo TB_BROWSE; ?></title>\r
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />\r
+<meta http-equiv="Pragma" content="no-cache" />\r
+<?php\r
+if(!$standalone && $tinybrowser['integration']=='tinymce')\r
+       {\r
+       ?><script language="javascript" type="text/javascript" src="../../tiny_mce_popup.js"></script>\r
+       <link rel="stylesheet" type="text/css" media="all" href="<?php echo $tinybrowser['tinymcecss']; ?>" /><?php\r
+       }\r
+else\r
+       {\r
+       ?><link rel="stylesheet" type="text/css" media="all" href="css/stylefull_tinybrowser.css" /><?php \r
+       }\r
+?>\r
+<link rel="stylesheet" type="text/css" media="all" href="css/style_tinybrowser.css.php" />\r
+<script language="javascript" type="text/javascript" src="js/tinybrowser.js.php?<?php echo substr($passfeid,1); ?>"></script>\r
+</head>\r
+<body<?php echo $rowhlightinit; ?>>\r
+<?php\r
+if(count($notify['type'])>0) alert($notify);\r
+form_open('foldertab',false,'tinybrowser.php','?type='.$typenow.$passviewtype.$passsortby.$passfeid);\r
+?>\r
+<div class="tabs">\r
+<ul>\r
+<li id="browse_tab" class="current"><span><a href="tinybrowser.php?type=<?php echo $typenow.$passfolder.$passfeid; ?>"><?php echo TB_BROWSE; ?></a></span></li><?php\r
+if($tinybrowser['allowupload']) \r
+       {\r
+       ?><li id="upload_tab"><span><a href="upload.php?type=<?php echo $typenow.$passfolder.$passfeid; ?>"><?php echo TB_UPLOAD; ?></a></span></li><?php\r
+       }\r
+if($tinybrowser['allowedit'] || $tinybrowser['allowdelete'])\r
+       {\r
+       ?><li id="edit_tab"><span><a href="edit.php?type=<?php echo $typenow.$passfolder.$passfeid; ?>"><?php echo TB_EDIT; ?></a></span></li><?php\r
+       }\r
+if($tinybrowser['allowfolders'])\r
+       {\r
+       ?><li id="folders_tab"><span><a href="folders.php?type=<?php echo $typenow.$passfolder.$passfeid; ?>"><?php echo TB_FOLDERS; ?></a></span></li><?php\r
+       }\r
+// Display folder select, if multiple exist\r
+if(count($browsedirs)>1)\r
+       {\r
+       ?><li id="folder_tab" class="right"><span><?php\r
+       form_select($browsedirs,'folder',TB_FOLDERCURR,urlencode($foldernow),true);\r
+       ?></span></li><?php\r
+       } \r
+?>\r
+</ul>\r
+</div>\r
+</form>\r
+<div class="panel_wrapper">\r
+<div id="general_panel" class="panel currentmod">\r
+<fieldset>\r
+<legend><?php echo TB_BROWSEFILES; ?></legend>\r
+<?php\r
+form_open('browse','custom','tinybrowser.php','?type='.$typenow.$passfolder.$passfeid);\r
+?>\r
+<div class="pushleft">\r
+<?php\r
+\r
+// Offer view type if file type is image\r
+if($typenow=='image')\r
+       {\r
+       $select = array(\r
+               array('thumb',TB_THUMBS),\r
+               array('detail',TB_DETAILS)\r
+       );\r
+       form_select($select,'viewtype',TB_VIEW,$viewtypenow,true);\r
+       }\r
+       \r
+// Show page select if pagination is set\r
+if($tinybrowser['pagination']>0)\r
+       {\r
+       $pagelimit = ceil($num_of_files/$tinybrowser['pagination'])+1;\r
+       $page = array();\r
+       for($i=1;$i<$pagelimit;$i++)\r
+               {\r
+               $page[] = array($i,TB_PAGE.' '.$i);\r
+               }\r
+       if($i>2) form_select($page,'showpage',TB_SHOW,$showpagenow,true);\r
+       }\r
+?></div><div class="pushright"><?php\r
+\r
+form_hidden_input('sortby',$sortbynow);\r
+form_hidden_input('sorttype',$sorttypenow);\r
+form_text_input('find',false,$findnow,25,50);\r
+form_submit_button('search',TB_SEARCH,'');\r
+\r
+?></div>\r
+<?php\r
+\r
+// if image show dimensions header\r
+if($typenow=='image')\r
+       {\r
+       $imagehead = '<th><a href="?type='.$typenow.$passfolder.$passfeid.$sortbyget['dimensions'].'"'.$thclass['dimensions'].'>'.TB_DIMENSIONS.'</a></th>';\r
+       }\r
+else $imagehead = '';\r
+\r
+echo '<div class="tabularwrapper"><table class="browse">'\r
+               .'<tr><th><a href="?type='.$typenow.$passfolder.$passfeid.$sortbyget['name'].'"'.$thclass['name'].'>'.TB_FILENAME.'</a></th>'\r
+               .'<th><a href="?type='.$typenow.$passfolder.$passfeid.$sortbyget['size'].'"'.$thclass['size'].'>'.TB_SIZE.'</a></th>'\r
+               .$imagehead\r
+               .'<th><a href="?type='.$typenow.$passfolder.$passfeid.$sortbyget['type'].'"'.$thclass['type'].'>'.TB_TYPE.'</th>'\r
+               .'<th><a href="?type='.$typenow.$passfolder.$passfeid.$sortbyget['modified'].'"'.$thclass['modified'].'>'.TB_DATE.'</th></tr>';\r
+\r
+// show image thumbnails, unless detail view is selected\r
+if($typenow=='image' && $viewtypenow != 'detail')\r
+       {\r
+       echo '</table></div>';\r
+\r
+       for($i=$showpage_start;$i<$showpage_end;$i++)\r
+               {\r
+               echo '<div class="img-browser"><a href="#" onclick="selectURL(\''.$linkpath.$file['name'][$i].'\');" title="'.TB_FILENAME.': '.$file['name'][$i]\r
+                               .'&#13;&#10;'.TB_DIMENSIONS.': '.$file['width'][$i].' x '.$file['height'][$i]\r
+                               .'&#13;&#10;'.TB_DATE.': '.date($tinybrowser['dateformat'],$file['modified'][$i])\r
+                               .'&#13;&#10;'.TB_TYPE.': '.$file['type'][$i]\r
+                               .'&#13;&#10;'.TB_SIZE.': '.bytestostring($file['size'][$i],1)\r
+                               .'"><img src="'.$thumbpath.'_thumbs/_'.$file['name'][$i]\r
+                               .'"  /><div class="filename">'.$file['name'][$i].'</div></a></div>';\r
+               }\r
+       }\r
+else\r
+       {\r
+       for($i=$showpage_start;$i<$showpage_end;$i++)\r
+               {\r
+               $alt = (IsOdd($i) ? 'r1' : 'r0');\r
+               echo '<tr class="'.$alt.'">';\r
+               if($typenow=='image') echo '<td><a class="imghover" href="#" onclick="selectURL(\''.$linkpath.$file['name'][$i].'\');" title="'.$file['name'][$i].'"><img src="'.$thumbpath.'_thumbs/_'.$file['name'][$i].'" alt="" />'.truncate_text($file['name'][$i],30).'</a></td>';\r
+               else echo '<td><a href="#" onclick="selectURL(\''.$linkpath.$file['name'][$i].'\');" title="'.$file['name'][$i].'">'.truncate_text($file['name'][$i],30).'</a></td>';\r
+               echo '<td>'.bytestostring($file['size'][$i],1).'</td>';\r
+               if($typenow=='image') echo '<td>'.$file['width'][$i].' x '.$file['height'][$i].'</td>'; \r
+               echo '<td>'.$file['type'][$i].'</td>'\r
+                       .'<td>'.date($tinybrowser['dateformat'],$file['modified'][$i]).'</td></tr>'."\n";\r
+               }\r
+       echo '</table></div>';\r
+       }\r
+?>\r
+</fieldset></div></div>\r
+<form name="passform"><input name = "fileurl" type="hidden" value= "" /></form>\r
+</body>\r
+</html>\r