Example #1
0
 function event_CreateRevision(&$data)
 {
     $res = sql::query("\r\n\t\t\t\tSELECT \r\n\t\t\t\t\t*\r\n\t\t\t\tFROM \r\n\t\t\t\t\t" . _TABLE_PREFIX_ . "contents_movie\r\n\t\t\t\tWHERE \r\n\t\t\t\t\tID = '" . $data['id'] . "' AND\r\n\t\t\t\t\trevision = '" . $data['from'] . "'\r\n\t\t\t");
     while ($row = sql::fetch_array($res, MYSQL_ASSOC)) {
         $directory = _BASE_MEDIA_ . 'movies/';
         $filename = files::getUniqueName($row['type'], $directory);
         copy($directory . $row['filename'], $directory . $filename);
         sql::query("\r\n\t\t\t\t\tINSERT INTO \r\n\t\t\t\t\t\t" . _TABLE_PREFIX_ . "contents_movie \r\n\t\t\t\t\tSET \r\n\t\t\t\t\t\tID='" . $data['id'] . "', \r\n\t\t\t\t\t\trevision='" . $data['to'] . "',\r\n\t\t\t\t\t\tfilename='" . addslashes($filename) . "',\r\n\t\t\t\t\t\tname='" . addslashes($row['name']) . "',\r\n\t\t\t\t\t\ttype='" . addslashes($row['type']) . "',\r\n\t\t\t\t\t\tsize='" . $row['size'] . "', \r\n\t\t\t\t\t\twidth='" . $row['width'] . "', \r\n\t\t\t\t\t\theight='" . $row['height'] . "', \r\n\t\t\t\t\t\tautostart='" . $row['autostart'] . "'\r\n\t\t\t\t");
     }
 }
Example #2
0
 function action_medialibrary($args)
 {
     global $lang, $user;
     $folder = isset($_REQUEST['folder']) ? $_REQUEST['folder'] : (isset($_SESSION['lastFolder']) ? $_SESSION['lastFolder'] : 1);
     $_SESSION['lastFolder'] = $folder;
     $res = sql::query("\r\n\t\t\t\tSELECT \r\n\t\t\t\t\t*\r\n\t\t\t\tFROM\r\n\t\t\t\t\t" . _TABLE_PREFIX_ . "media_folder\r\n\t\t\t\tWHERE\r\n\t\t\t\t\tID = '" . $folder . "'\r\n\t\t\t");
     if (sql::num_rows($res) == 0) {
         $res = sql::query("\r\n\t\t\t\t\tSELECT \r\n\t\t\t\t\t\t*\r\n\t\t\t\t\tFROM\r\n\t\t\t\t\t\t" . _TABLE_PREFIX_ . "media_folder\r\n\t\t\t\t\tORDER BY\r\n\t\t\t\t\t\t`order`\r\n\t\t\t\t\tLIMIT 1\r\n\t\t\t\t");
         if ($row = sql::fetch_array($res)) {
             $folder = $row['ID'];
         }
     }
     $flash = false;
     // Map Flash upload name to regular upload name
     if (isset($_FILES['Filedata'])) {
         $flash = true;
         $_FILES['file'] =& $_FILES['Filedata'];
     }
     if ($_SERVER['REQUEST_METHOD'] == 'POST' && isset($_FILES['file'])) {
         if ($_FILES['file']['error'] > UPLOAD_ERR_OK) {
             error_log('Could not upload file because error ' . $_FILES['file']['error'] . ' occurred');
         } else {
             if (is_uploaded_file($_FILES['file']['tmp_name'])) {
                 $directory = _BASE_MEDIA_ . 'images/';
                 $original = $_FILES['file']['name'];
                 $contenttype = files::getCleanContentType($_FILES['file']['type'], $_FILES['file']['name']);
                 $filename = files::getUniqueName($contenttype, $directory);
                 if (files::allowedContentType($contenttype, 'picture')) {
                     // Move file to the media directory
                     move_uploaded_file($_FILES['file']['tmp_name'], $directory . $filename);
                     // Get information from the file...
                     list($width, $height) = getimagesize($directory . $filename);
                     $size = round(filesize($directory . $filename) / 1024);
                     // Insert it into the database
                     $res = sql::query("\r\n\t\t\t\t\t\t\t\tINSERT INTO\r\n\t\t\t\t\t\t\t\t\t" . _TABLE_PREFIX_ . "media\r\n\t\t\t\t\t\t\t\tSET\r\n\t\t\t\t\t\t\t\t\tfolder = '" . $folder . "',\r\n\t\t\t\t\t\t\t\t\tfilename = '" . addslashes($filename) . "',\r\n\t\t\t\t\t\t\t\t\toriginal = '" . addslashes(basename($original)) . "',\r\n\t\t\t\t\t\t\t\t\twidth = '" . $width . "',\r\n\t\t\t\t\t\t\t\t\theight = '" . $height . "',\r\n\t\t\t\t\t\t\t\t\tsize = '" . $size . "',\r\n\t\t\t\t\t\t\t\t\tmodified = NOW()\r\n\t\t\t\t\t\t\t");
                     if ($flash) {
                         // Workaround for a Flash bug on OS X.. We need to send back content... any content will do
                         echo " ";
                         flush();
                     }
                 } else {
                     error_log('Could not upload file because its mimetype was not recognized or rejected');
                 }
             } else {
                 error_log('Could not upload file because it got lost on the server');
             }
         }
         if ($flash == false) {
             header('Location: ' . url::action('medialibrary') . '?folder=' . $folder);
         }
         exit;
     } else {
         if (isset($_REQUEST['json'])) {
             if ($_REQUEST['json'] == 'editImage' && isset($_REQUEST['image'])) {
                 $id = intval($_REQUEST['image']);
                 $res = sql::query("\r\n\t\t\t\t\t\t\tUPDATE\r\n\t\t\t\t\t\t\t\t" . _TABLE_PREFIX_ . "media\r\n\t\t\t\t\t\t\tSET\r\n\t\t\t\t\t\t\t\toriginal = '" . addslashes($_REQUEST['value']) . "'\r\n\t\t\t\t\t\t\tWHERE\r\n\t\t\t\t\t\t\t\tfolder = '" . $folder . "' AND\r\n\t\t\t\t\t\t\t\tid = '" . addslashes($id) . "'\r\n\t\t\t\t\t\t");
                 echo $_REQUEST['value'];
                 exit;
             }
             if ($_REQUEST['json'] == 'moveImage' && isset($_REQUEST['image'])) {
                 $ids = explode(',', $_REQUEST['image']);
                 while (list(, $id) = each($ids)) {
                     $res = sql::query("\r\n\t\t\t\t\t\t\t\tUPDATE\r\n\t\t\t\t\t\t\t\t\t" . _TABLE_PREFIX_ . "media\r\n\t\t\t\t\t\t\t\tSET\r\n\t\t\t\t\t\t\t\t\tfolder = '" . $folder . "'\r\n\t\t\t\t\t\t\t\tWHERE\r\n\t\t\t\t\t\t\t\t\tid = '" . addslashes($id) . "'\r\n\t\t\t\t\t\t\t");
                 }
                 exit;
             }
             if ($_REQUEST['json'] == 'deleteImage' && isset($_REQUEST['image'])) {
                 $ids = explode(',', $_REQUEST['image']);
                 while (list(, $id) = each($ids)) {
                     $res = sql::query("\r\n\t\t\t\t\t\t\t\tUPDATE\r\n\t\t\t\t\t\t\t\t\t" . _TABLE_PREFIX_ . "media\r\n\t\t\t\t\t\t\t\tSET\r\n\t\t\t\t\t\t\t\t\tdeleted = 1\r\n\t\t\t\t\t\t\t\tWHERE\r\n\t\t\t\t\t\t\t\t\tfolder = '" . $folder . "' AND\r\n\t\t\t\t\t\t\t\t\tid = '" . addslashes($id) . "'\r\n\t\t\t\t\t\t\t");
                 }
                 exit;
             }
             if ($_REQUEST['json'] == 'orderFolder' && isset($_REQUEST['folders'])) {
                 $order = 0;
                 while (list(, $id) = each($_REQUEST['folders'])) {
                     $res = sql::query("\r\n\t\t\t\t\t\t\t\tUPDATE\r\n\t\t\t\t\t\t\t\t\t" . _TABLE_PREFIX_ . "media_folder\r\n\t\t\t\t\t\t\t\tSET\r\n\t\t\t\t\t\t\t\t\t`order` = " . $order . "\r\n\t\t\t\t\t\t\t\tWHERE\r\n\t\t\t\t\t\t\t\t\tID = '" . addslashes($id) . "'\r\n\t\t\t\t\t\t\t");
                     $order++;
                 }
                 exit;
             }
             if ($_REQUEST['json'] == 'editFolder' && isset($_REQUEST['value'])) {
                 $res = sql::query("\r\n\t\t\t\t\t\t\tUPDATE\r\n\t\t\t\t\t\t\t\t" . _TABLE_PREFIX_ . "media_folder\r\n\t\t\t\t\t\t\tSET\r\n\t\t\t\t\t\t\t\tname = '" . addslashes($_REQUEST['value']) . "'\r\n\t\t\t\t\t\t\tWHERE\r\n\t\t\t\t\t\t\t\tID = '" . addslashes($folder) . "'\r\n\t\t\t\t\t\t");
                 echo $_REQUEST['value'];
                 exit;
             }
             if ($_REQUEST['json'] == 'deleteFolder') {
                 $res = sql::query("\r\n\t\t\t\t\t\t\tDELETE FROM\r\n\t\t\t\t\t\t\t\t" . _TABLE_PREFIX_ . "media_folder\r\n\t\t\t\t\t\t\tWHERE\r\n\t\t\t\t\t\t\t\tID = '" . addslashes($folder) . "'\r\n\t\t\t\t\t\t");
                 exit;
             }
             if ($_REQUEST['json'] == 'newFolder') {
                 $res = sql::query("\r\n\t\t\t\t\t\t\tSELECT \r\n\t\t\t\t\t\t\t\tMAX(`order`) AS max\r\n\t\t\t\t\t\t\tFROM\r\n\t\t\t\t\t\t\t\t" . _TABLE_PREFIX_ . "media_folder\r\n\t\t\t\t\t\t");
                 if ($row = sql::fetch_array($res)) {
                     $order = $row['max'] + 1;
                 } else {
                     $order = 0;
                 }
                 $res = sql::query("\r\n\t\t\t\t\t\t\tINSERT INTO\r\n\t\t\t\t\t\t\t\t" . _TABLE_PREFIX_ . "media_folder\r\n\t\t\t\t\t\t\tSET\r\n\t\t\t\t\t\t\t\t`name` = '" . addslashes($user->lang->s('untitled')) . "',\r\n\t\t\t\t\t\t\t\t`order` = " . $order . "\r\n\t\t\t\t\t\t");
                 echo '[{id: "' . sql::insert_id() . '", name: "' . addslashes($user->lang->s('untitled')) . '"}]';
                 exit;
             }
         }
         // Show contents....
         $files = array();
         $res = sql::query("\r\n\t\t\t\t\tSELECT \r\n\t\t\t\t\t\t*\r\n\t\t\t\t\tFROM\r\n\t\t\t\t\t\t" . _TABLE_PREFIX_ . "media\r\n\t\t\t\t\tWHERE\r\n\t\t\t\t\t\tfolder = '" . $folder . "' AND\r\n\t\t\t\t\t\tdeleted = 0\r\n\t\t\t\t\tORDER BY\r\n\t\t\t\t\t\tmodified DESC\r\n\t\t\t\t");
         while ($row = sql::fetch_array($res)) {
             $files[] = array('id' => $row['ID'], 'imageurl' => _BASE_URL_ . '/media/images/' . $row['filename'], 'thumburl' => _BASE_URL_ . '/media/images/' . $row['filename'] . '?s{size}', 'name' => $row['original'], 'width' => $row['width'], 'height' => $row['height'], 'size' => $row['size']);
         }
         $res = sql::query("\r\n\t\t\t\t\tSELECT \r\n\t\t\t\t\t\t*\r\n\t\t\t\t\tFROM\r\n\t\t\t\t\t\t" . _TABLE_PREFIX_ . "media_folder\r\n\t\t\t\t\tORDER BY\r\n\t\t\t\t\t\t`order`\r\n\t\t\t\t");
         while ($row = sql::fetch_array($res)) {
             $folders[] = $row;
         }
         if (isset($_REQUEST['json']) && $_REQUEST['json'] == 'loadData') {
             $tpl = new Template($this->getTemplate('data.template'));
         } else {
             $tpl = new Template($this->getTemplate('main.template'));
         }
         $tpl->set("files", $files);
         $tpl->set("folders", $folders);
         $tpl->set("current_folder", $folder);
         echo $tpl->fetch();
         exit;
     }
 }