예제 #1
0
 public function picasa()
 {
     global $_FILES;
     $rss = getRequest('rss');
     $_SESSION['picasa_rss'] = getRequest('rss');
     if (!$rss) {
         $cacheDirectory = mainConfiguration::getInstance()->includeParam('system.runtime-cache');
         if (is_file($cacheDirectory . "picasa")) {
             $rss = unserialize(file_get_contents($cacheDirectory . "picasa"));
         }
     }
     $mode = (string) getRequest("param0");
     if ($mode == "files") {
         $targetFolder = (string) getRequest('folder-name');
         $targetFolder = "./images/cms/data/" . $targetFolder;
         $folderExists = umiDirectory::requireFolder($targetFolder, "./images/cms/data/");
         $this->setDataType("list");
         $data = array('target-folder' => $targetFolder);
         $this->setActionType("view");
         $this->setData($data);
         return $this->doData();
     }
     if ($mode == "do") {
         header("Content-type: text/html");
         $targetFolder = "picasa";
         switch ($action = getRequest('action-mode')) {
             case "new":
                 $title = (string) getRequest('new-title');
                 $body = (string) getRequest('new-body');
                 $elementId = (int) $this->addNewPicasaPhotoalbum($title, $body);
                 break;
             case "add":
                 $elementId = (int) getRequest('photoalbum-id');
                 break;
             case "put":
                 $elementId = false;
                 $targetFolder = (string) getRequest('folder-name');
                 break;
             default:
                 throw new publicAdminException("Unkown action \"{$action}\"");
         }
         if ($elementId) {
             $element = selector::get('page')->id($elementId);
             if ($element) {
                 $targetFolder = $element->getAltName();
             }
         }
         $targetFolder = "./images/cms/data/" . $targetFolder;
         $folderExists = umiDirectory::requireFolder($targetFolder, "./images/cms/data/");
         if (!$folderExists) {
             throw new publicAdminException("Folder \"{$targetFolder}\" doesn't exists");
         }
         $titles = getRequest('title');
         if (defined('CURRENT_VERSION_LINE') && CURRENT_VERSION_LINE != 'demo') {
             $i = 0;
             foreach ($_FILES as $key => $info) {
                 if ($info['error']) {
                     continue;
                 }
                 $name = $info['name'];
                 $key = str_replace("?size=640", "", $key);
                 $key = str_replace("_jpg", ".jpg", $key);
                 $title = $titles[$i++];
                 $file = umiFile::manualUpload($name, $info['tmp_name'], $info['size'], $targetFolder);
                 if ($elementId && $file instanceof umiFile) {
                     if ($file->getIsBroken()) {
                         throw new publicAdminException("Image is broken");
                     }
                     $this->addPicasaPhoto($elementId, $info['name'], $title, $file);
                 }
             }
         } else {
             throw new publicAdminException("Forbidden in demo-mode");
         }
         switch ($action) {
             case "put":
                 header("Content-type: text/plain");
                 $folderName = (string) getRequest('folder-name');
                 echo "http://" . getServer('HTTP_HOST') . "/admin/photoalbum/picasa/files/?folder-name=" . $folderName;
                 exit;
                 break;
             default:
                 header("Content-type: text/plain");
                 if ($elementId) {
                     $force = umiHierarchy::getInstance()->forceAbsolutePath(true);
                     $link = umiHierarchy::getInstance()->getPathById($elementId);
                     echo $link;
                     umiHierarchy::getInstance()->forceAbsolutePath($force);
                 }
                 exit;
         }
     }
     $this->setDataType("list");
     $this->setActionType("create");
     $data = array('xml:picasa-rss' => $rss);
     $this->setData($data);
     return $this->doData();
 }
 public static function autoImport(selector $v8be74552df93e31bbdd6b36ed74bdb6a, $vb8c8ec69026adfe891bf5e618eabb17b = false)
 {
     $v7f2db423a49b305459147332fb01cf87 = outputBuffer::current();
     $v7f2db423a49b305459147332fb01cf87->contentType('text/html');
     $v7f2db423a49b305459147332fb01cf87->push("<script type='text/javascript'>\n");
     if (isset($_FILES['csv-file'])) {
         $v1ded0622d3320f26b47f514fabab54f1 = getArrayKey($_FILES, 'csv-file');
         $vb068931cc450442b63f5b3d276ea4297 = getArrayKey($v1ded0622d3320f26b47f514fabab54f1, 'name');
         $v656840677a2dbd5ab56a2202e415b293 = getArrayKey($v1ded0622d3320f26b47f514fabab54f1, 'tmp_name');
         $vcb5e100e5a9a3e7f6d1fd97512215282 = getArrayKey($v1ded0622d3320f26b47f514fabab54f1, 'error');
         $vf7bd60b75b29d79b660a2859395c1a24 = getArrayKey($v1ded0622d3320f26b47f514fabab54f1, 'size');
         if ($vcb5e100e5a9a3e7f6d1fd97512215282) {
             $v7f2db423a49b305459147332fb01cf87->push("alert('Failed to upload file');\n");
         } else {
             $v2245023265ae4cf87d02c8b6ba991139 = mainConfiguration::getInstance();
             $v8c7dd922ad47494fc02c388e12c00eac = umiFile::manualUpload($vb068931cc450442b63f5b3d276ea4297, $v656840677a2dbd5ab56a2202e415b293, $vf7bd60b75b29d79b660a2859395c1a24, $v2245023265ae4cf87d02c8b6ba991139->includeParam('system.runtime-cache'));
             if (!$v8c7dd922ad47494fc02c388e12c00eac instanceof iUmiFile || $v8c7dd922ad47494fc02c388e12c00eac->getIsBroken()) {
                 $v7f2db423a49b305459147332fb01cf87->push("alert('Upload file is broken');\n");
             } else {
                 $v93473a7344419b15c4219cc2b6c64c6f = new quickCsvImporter($v8c7dd922ad47494fc02c388e12c00eac);
                 $v93473a7344419b15c4219cc2b6c64c6f->forceHierarchy = $vb8c8ec69026adfe891bf5e618eabb17b;
                 $v0e8133eb006c0f85ed9444ae07a60842 = array();
                 $v6942e8fa62b3cc9d93881a58210e2fd7 = array();
                 foreach ($v8be74552df93e31bbdd6b36ed74bdb6a->types as $v599dcce2998a6b40b1e38e8c6006cb0a) {
                     if (!is_null($v599dcce2998a6b40b1e38e8c6006cb0a->objectType)) {
                         $v0e8133eb006c0f85ed9444ae07a60842[] = $v599dcce2998a6b40b1e38e8c6006cb0a->objectType;
                     }
                     if (!is_null($v599dcce2998a6b40b1e38e8c6006cb0a->hierarchyType)) {
                         $v6942e8fa62b3cc9d93881a58210e2fd7[] = $v599dcce2998a6b40b1e38e8c6006cb0a->hierarchyType;
                     }
                 }
                 if (!$vb8c8ec69026adfe891bf5e618eabb17b && !sizeof($v8be74552df93e31bbdd6b36ed74bdb6a->hierarchy)) {
                     if (sizeof($v0e8133eb006c0f85ed9444ae07a60842)) {
                         $v93473a7344419b15c4219cc2b6c64c6f->importAsObjects($v0e8133eb006c0f85ed9444ae07a60842[0]);
                         $v7f2db423a49b305459147332fb01cf87->push("//Upload completed\n");
                     }
                 } else {
                     if (sizeof($v6942e8fa62b3cc9d93881a58210e2fd7) > 1) {
                         $vacf567c9c3d6cf7c6e2cc0ce108e0631 = false;
                         for ($v865c0c0b4ab0e063e5caa3387c1a8741 = sizeof($v6942e8fa62b3cc9d93881a58210e2fd7) - 1; $v865c0c0b4ab0e063e5caa3387c1a8741 >= 0; $v865c0c0b4ab0e063e5caa3387c1a8741--) {
                             if ($v6942e8fa62b3cc9d93881a58210e2fd7[$v865c0c0b4ab0e063e5caa3387c1a8741]->getId() == umiHierarchyTypesCollection::getInstance()->getTypeByName('comments', 'comment')->getId()) {
                                 continue;
                             }
                             $vacf567c9c3d6cf7c6e2cc0ce108e0631 = $v6942e8fa62b3cc9d93881a58210e2fd7[$v865c0c0b4ab0e063e5caa3387c1a8741]->getId();
                             break;
                         }
                         $v72352a4d26581ef082a6d2243c5a6b88 = false;
                         if (is_array($v8be74552df93e31bbdd6b36ed74bdb6a->hierarchy) && sizeof($v8be74552df93e31bbdd6b36ed74bdb6a->hierarchy)) {
                             $v72352a4d26581ef082a6d2243c5a6b88 = $v8be74552df93e31bbdd6b36ed74bdb6a->hierarchy[0]->elementId;
                         }
                         if ($v72352a4d26581ef082a6d2243c5a6b88) {
                             $vfabf67ff39a368b3c0eae3c66d81cc5e = umiHierarchy::getInstance()->getDominantTypeId($v72352a4d26581ef082a6d2243c5a6b88);
                             if ($vfabf67ff39a368b3c0eae3c66d81cc5e) {
                                 $v726e8e4809d4c1b28a6549d86436a124 = umiObjectTypesCollection::getInstance()->getType($vfabf67ff39a368b3c0eae3c66d81cc5e);
                                 if ($ve6d258c789c675bb2d39aa58e3bc6fb0 = $v726e8e4809d4c1b28a6549d86436a124->getHierarchyTypeId()) {
                                     $vacf567c9c3d6cf7c6e2cc0ce108e0631 = $ve6d258c789c675bb2d39aa58e3bc6fb0;
                                 }
                             }
                         }
                         $v93473a7344419b15c4219cc2b6c64c6f->importAsElements($vacf567c9c3d6cf7c6e2cc0ce108e0631, $v72352a4d26581ef082a6d2243c5a6b88);
                     }
                 }
                 $v8c7dd922ad47494fc02c388e12c00eac->delete();
             }
         }
     } else {
         $v7f2db423a49b305459147332fb01cf87->push("alert('File is not posted');\n");
     }
     $v7f2db423a49b305459147332fb01cf87->push("window.parent.csvQuickImportCallback();\n</script>\n");
     $v7f2db423a49b305459147332fb01cf87->end();
 }