public function install() { $strReturn = ""; $strReturn .= "Installing table packageserver_log...\n"; $arrFields = array(); $arrFields["log_id"] = array("char20", false); $arrFields["log_query"] = array("text", true); $arrFields["log_ip"] = array("char254", true); $arrFields["log_hostname"] = array("char254", true); $arrFields["log_date"] = array("long", true); if (!$this->objDB->createTable("packageserver_log", $arrFields, array("log_id"), array("log_date"), false)) { $strReturn .= "An error occurred! ...\n"; } //register the module $this->registerModule("packageserver", _packageserver_module_id_, "class_module_packageserver_portal.php", "class_module_packageserver_admin.php", $this->objMetadata->getStrVersion(), true); $strReturn .= "creating package-upload-repository...\n"; $objFilesytem = new class_filesystem(); $objFilesytem->folderCreate("/files/packages"); $objRepo = new class_module_mediamanager_repo(); $objRepo->setStrPath("/files/packages"); $objRepo->setStrViewFilter(".zip"); $objRepo->setStrUploadFilter(".zip"); $objRepo->setStrTitle("Packageserver packages"); $objRepo->updateObjectToDb(); class_carrier::getInstance()->getObjRights()->addGroupToRight(class_module_system_setting::getConfigValue("_guests_group_id_"), $objRepo->getSystemid(), class_rights::$STR_RIGHT_RIGHT2); $strReturn .= "Registering system-constants...\n"; $this->registerConstant("_packageserver_repo_id_", "", class_module_system_setting::$int_TYPE_STRING, _packageserver_module_id_); $strReturn .= "Setting aspect assignments...\n"; if (class_module_system_aspect::getAspectByName("content") != null) { $objModule = class_module_system_module::getModuleByName($this->objMetadata->getStrTitle()); $objModule->setStrAspect(class_module_system_aspect::getAspectByName("content")->getSystemid()); $objModule->updateObjectToDb(); } return $strReturn; }
/** * @param string $formErrors * * @return string */ private function uploadForm($formErrors = "") { $strReturn = ""; //validate the rights $objFilemanagerRepo = new class_module_mediamanager_repo($this->arrElementData["char2"]); if ($objFilemanagerRepo->rightRight1()) { $strTemplateID = $this->objTemplate->readTemplate("/element_portalupload/" . $this->arrElementData["char1"], "portalupload_uploadform"); $strDlFolderId = ""; if ($this->getParam("action") == "mediaFolder") { $strDlFolderId = $this->getParam("systemid"); } $arrTemplate = array(); $arrTemplate["portaluploadDlfolder"] = $strDlFolderId; // check if there was an successfull upload before if ($this->getParam("uploadSuccess") == "1") { $arrTemplate["portaluploadSuccess"] = $this->getLang("portaluploadSuccess"); } $arrTemplate["formErrors"] = $formErrors; $strAllowedFileRegex = uniStrReplace(array(".", ","), array("", "|"), $objFilemanagerRepo->getStrUploadFilter()); $arrTemplate["formAction"] = class_link::getLinkPortalHref($this->getPagename(), "", $this->getAction(), "", $strDlFolderId); $arrTemplate["maxFileSize"] = class_carrier::getInstance()->getObjConfig()->getPhpMaxUploadSize(); $arrTemplate["acceptFileTypes"] = $strAllowedFileRegex != "" ? "/(\\.|\\/)(" . $strAllowedFileRegex . ")\$/i" : "''"; $arrTemplate["elementId"] = $this->arrElementData["content_id"]; $arrTemplate["mediamanagerRepoId"] = $objFilemanagerRepo->getSystemid(); $strReturn .= $this->fillTemplate($arrTemplate, $strTemplateID); } else { $strReturn .= $this->getLang("commons_error_permissions"); } return $strReturn; }
public function testFileSync() { echo "test mediamanager...\n"; if (class_module_system_module::getModuleByName("samplecontent") == null || !is_file(_realpath_ . "/files/images/samples/IMG_3000.JPG")) { return; } $objFilesystem = new class_filesystem(); $objFilesystem->folderCreate(_filespath_ . "/images/autotest"); $objFilesystem->fileCopy(_filespath_ . "/images/samples/IMG_3000.JPG", _filespath_ . "/images/autotest/IMG_3000.jpg"); $objFilesystem->fileCopy(_filespath_ . "/images/samples/IMG_3000.JPG", _filespath_ . "/images/autotest/IMG_3000.png"); $objFilesystem->fileCopy(_filespath_ . "/images/samples/IMG_3000.JPG", _filespath_ . "/images/autotest/PA021805.JPG"); $objFilesystem->fileCopy(_filespath_ . "/images/samples/IMG_3000.JPG", _filespath_ . "/images/autotest/test.txt"); $objRepo = new class_module_mediamanager_repo(); $objRepo->setStrPath(_filespath_ . "/images/autotest"); $objRepo->setStrTitle("autotest repo"); $objRepo->setStrViewFilter(".jpg,.png"); $objRepo->updateObjectToDb(); $objRepo->syncRepo(); $arrFiles = class_module_mediamanager_file::loadFilesDB($objRepo->getSystemid()); $this->assertEquals(3, count($arrFiles)); foreach ($arrFiles as $objOneFile) { $objOneFile->deleteObjectFromDatabase(); } $objRepo->deleteObjectFromDatabase(); $arrFiles = $objFilesystem->getFilelist(_filespath_ . "/images/autotest"); $this->assertEquals(1, count($arrFiles)); $this->assertEquals("test.txt", array_values($arrFiles)[0]); }
/** * Does the hard work: installs the module and registers needed constants * * @return string */ public function install() { $strReturn = ""; $strReturn .= "Creating picture upload folder\n"; if (!is_dir(_realpath_ . _filespath_ . "/images/upload")) { mkdir(_realpath_ . _filespath_ . "/images/upload", 0777, true); } $strReturn .= "Creating new picture repository\n"; $objRepo = new class_module_mediamanager_repo(); if ($this->strContentLanguage == "de") { $objRepo->setStrTitle("Hochgeladene Bilder"); } else { $objRepo->setStrTitle("Picture uploads"); } $objRepo->setStrPath(_filespath_ . "/images/upload"); $objRepo->setStrUploadFilter(".jpg,.png,.gif,.jpeg"); $objRepo->setStrViewFilter(".jpg,.png,.gif,.jpeg"); $objRepo->updateObjectToDb(); $objRepo->syncRepo(); $strReturn .= "ID of new repo: " . $objRepo->getSystemid() . "\n"; $strReturn .= "Setting the repository as the default images repository\n"; $objSetting = class_module_system_setting::getConfigByName("_mediamanager_default_imagesrepoid_"); $objSetting->setStrValue($objRepo->getSystemid()); $objSetting->updateObjectToDb(); $strReturn .= "Creating file upload folder\n"; if (!is_dir(_realpath_ . _filespath_ . "/public")) { mkdir(_realpath_ . _filespath_ . "/public", 0777, true); } $strReturn .= "Creating new file repository\n"; $objRepo = new class_module_mediamanager_repo(); if ($this->strContentLanguage == "de") { $objRepo->setStrTitle("Hochgeladene Dateien"); } else { $objRepo->setStrTitle("File uploads"); } $objRepo->setStrPath(_filespath_ . "/downloads"); $objRepo->setStrUploadFilter(".zip,.pdf,.txt"); $objRepo->setStrViewFilter(".zip,.pdf,.txt"); $objRepo->updateObjectToDb(); $objRepo->syncRepo(); $strReturn .= "ID of new repo: " . $objRepo->getSystemid() . "\n"; $strReturn .= "Setting the repository as the default files repository\n"; $objSetting = class_module_system_setting::getConfigByName("_mediamanager_default_filesrepoid_"); $objSetting->setStrValue($objRepo->getSystemid()); $objSetting->updateObjectToDb(); return $strReturn; }
public function testJsonList() { $objFilesystem = new class_filesystem(); $objFilesystem->folderCreate("/files/packageservertest"); $objFilesystem->folderCreate("/files/packageservertest/t"); file_put_contents(_realpath_ . "/files/packageservertest/t/metadata.xml", $this->getStrMetadata()); $objFilesystem->folderCreate("/files/packageservertest/t/system"); file_put_contents(_realpath_ . "/files/packageservertest/t/system/test.txt", $this->getStrMetadata()); $objZip = new class_zip(); $objZip->openArchiveForWriting("/files/packageservertest/autotest.zip"); $objZip->addFile("/files/packageservertest/t/metadata.xml", "/metadata.xml"); $objZip->addFile("/files/packageservertest/t/system/test.txt", "/system/test.txt"); $objZip->closeArchive(); $objFilesystem->folderDeleteRecursive("/files/packageservertest/t"); $objMediamanagerRepo = new class_module_mediamanager_repo(); $objMediamanagerRepo->setStrPath("/files/packageservertest"); $objMediamanagerRepo->setStrTitle("autotest packages"); $objMediamanagerRepo->updateObjectToDb(); class_module_mediamanager_file::syncRecursive($objMediamanagerRepo->getSystemid(), $objMediamanagerRepo->getStrPath()); /** @var $objPortalServer class_module_packageserver_portal */ $objPortalServer = class_module_system_module::getModuleByName("packageserver")->getPortalInstanceOfConcreteModule(); $strJson = $objPortalServer->action("list"); $this->assertNotNull($strJson); $arrData = json_decode($strJson, true); $this->assertTrue(isset($arrData["numberOfTotalItems"])); $this->assertTrue(isset($arrData["items"])); $this->assertTrue(isset($arrData["protocolVersion"])); $this->assertEquals(1, count($arrData["items"])); $arrItem = $arrData["items"][0]; $this->assertTrue(isset($arrItem["systemid"])); $this->assertTrue(isset($arrItem["title"])); $this->assertTrue(isset($arrItem["version"])); $this->assertTrue(isset($arrItem["description"])); $this->assertTrue(isset($arrItem["type"])); $this->assertEquals("Autotest", $arrItem["title"]); $this->assertEquals("3.9.1", $arrItem["version"]); $this->assertEquals("demo", $arrItem["description"]); $this->assertEquals("MODULE", $arrItem["type"]); $objMediamanagerRepo->deleteObjectFromDatabase(); $objFilesystem->fileDelete("/files/packageservertest/autotest.zip"); }
/** * Does the hard work: installs the module and registers needed constants * * @return string */ public function install() { $strReturn = ""; if (class_module_system_module::getModuleByName("mediamanager") == null) { return "Mediamanger not installed, skipping element\n"; } //fetch navifolder-id $strNaviFolderId = ""; $arrFolder = class_module_pages_folder::getFolderList(); foreach ($arrFolder as $objOneFolder) { if ($objOneFolder->getStrName() == "mainnavigation") { $strNaviFolderId = $objOneFolder->getSystemid(); } } $strReturn .= "Creating new downloads...\n"; $objDownloads = new class_module_mediamanager_repo(); $objDownloads->setStrTitle("Sample downloads"); $objDownloads->setStrPath("/files/downloads"); $objDownloads->updateObjectToDb(); $strDownloadsID = $objDownloads->getSystemid(); $objDownloads->syncRepo(); $strReturn .= "Adding download-permissions for guests...\n"; class_carrier::getInstance()->getObjRights()->addGroupToRight(class_module_system_setting::getConfigValue("_guests_group_id_"), $objDownloads->getSystemid(), "right2"); $strReturn .= "Adding rating-permissions for guests...\n"; class_carrier::getInstance()->getObjRights()->addGroupToRight(class_module_system_setting::getConfigValue("_guests_group_id_"), $objDownloads->getSystemid(), "right3"); $strReturn .= "Creating new downloads page...\n"; $objPage = new class_module_pages_page(); $objPage->setStrName("downloads"); $objPage->setStrBrowsername("Downloads"); $objPage->setStrTemplate("standard.tpl"); $objPage->updateObjectToDb($strNaviFolderId); $strDownloadsPageId = $objPage->getSystemid(); $strReturn .= "ID of new page: " . $strDownloadsPageId . "\n"; $strReturn .= "Adding pagelement to new page\n"; $objPagelement = new class_module_pages_pageelement(); if (class_module_pages_element::getElement("downloads") != null) { $objPagelement->setStrPlaceholder("special_news|guestbook|downloads|gallery|galleryRandom|form|tellafriend|maps|search|navigation|faqs|postacomment|votings|userlist|rssfeed|tagto|portallogin|portalregistration|portalupload|directorybrowser|lastmodified|tagcloud|downloadstoplist|flash|mediaplayer|tags|eventmanager"); $objPagelement->setStrName("special"); $objPagelement->setStrElement("downloads"); $objPagelement->updateObjectToDb($strDownloadsPageId); $strElementId = $objPagelement->getSystemid(); $strQuery = "UPDATE " . _dbprefix_ . "element_downloads\n SET download_id = ?,\n download_template = ?\n WHERE content_id = ? "; if ($this->objDB->_pQuery($strQuery, array($strDownloadsID, "downloads.tpl", $strElementId))) { $strReturn .= "downloads element created.\n"; } else { $strReturn .= "Error creating downloads element.\n"; } } $strReturn .= "Adding headline-element to new page\n"; if (class_module_pages_element::getElement("row") != null) { $objPagelement = new class_module_pages_pageelement(); $objPagelement->setStrPlaceholder("headline_row"); $objPagelement->setStrName("headline"); $objPagelement->setStrElement("row"); $objPagelement->updateObjectToDb($strDownloadsPageId); $strElementId = $objPagelement->getSystemid(); $strQuery = "UPDATE " . _dbprefix_ . "element_paragraph\n SET paragraph_title = ?\n WHERE content_id = ?"; if ($this->objDB->_pQuery($strQuery, array("Downloads", $strElementId))) { $strReturn .= "Headline element created.\n"; } else { $strReturn .= "Error creating headline element.\n"; } } return $strReturn; }
/** * Does the hard work: installs the module and registers needed constants * * @return string */ public function install() { if (class_module_system_module::getModuleByName("mediamanager") == null) { return "Mediamanger not installed, skipping element\n"; } $strReturn = ""; //fetch navifolder-id $strNaviFolderId = ""; $arrFolder = class_module_pages_folder::getFolderList(); foreach ($arrFolder as $objOneFolder) { if ($objOneFolder->getStrName() == "mainnavigation") { $strNaviFolderId = $objOneFolder->getSystemid(); } } $strReturn .= "Creating new gallery...\n"; $objGallery = new class_module_mediamanager_repo(); $objGallery->setStrTitle("Sample Gallery"); $objGallery->setStrPath(_filespath_ . "/images/samples"); $objGallery->setStrUploadFilter(".jpg,.png,.gif,.jpeg"); $objGallery->setStrViewFilter(".jpg,.png,.gif,.jpeg"); $objGallery->updateObjectToDb(); $objGallery->syncRepo(); $strGalleryID = $objGallery->getSystemid(); $strReturn .= "Modify rights to allow guests to rate images...\n"; class_carrier::getInstance()->getObjRights()->addGroupToRight(class_module_system_setting::getConfigValue("_guests_group_id_"), $objGallery->getSystemid(), "right3"); $strReturn .= "Creating new gallery page...\n"; $objPage = new class_module_pages_page(); $objPage->setStrName("gallery"); $objPage->setStrBrowsername("Gallery"); $objPage->setStrTemplate("standard.tpl"); $objPage->updateObjectToDb($strNaviFolderId); $strGalleryPageId = $objPage->getSystemid(); $strReturn .= "ID of new page: " . $strGalleryPageId . "\n"; $strReturn .= "Adding pagelement to new page\n"; if (class_module_pages_element::getElement("gallery") != null) { $objPagelement = new class_module_pages_pageelement(); $objPagelement->setStrPlaceholder("special_news|guestbook|downloads|gallery|galleryRandom|form|tellafriend|maps|search|navigation|faqs|postacomment|votings|userlist|rssfeed|tagto|portallogin|portalregistration|portalupload|directorybrowser|lastmodified|tagcloud|downloadstoplist|flash|mediaplayer|tags|eventmanager"); $objPagelement->setStrName("special"); $objPagelement->setStrElement("gallery"); $objPagelement->updateObjectToDb($strGalleryPageId); $strElementId = $objPagelement->getSystemid(); $strQuery = "UPDATE " . _dbprefix_ . "element_gallery\n SET gallery_id = ?,\n gallery_mode = ?,\n gallery_template = ?,\n gallery_maxh_d = ?,\n gallery_maxw_d = ?,\n gallery_imagesperpage = ?,\n gallery_text = ?,\n gallery_text_x = ?,\n gallery_text_y = ?\n WHERE content_id = ? "; if ($this->objDB->_pQuery($strQuery, array($strGalleryID, 0, "gallery_imagelightbox.tpl", 600, 600, 0, "(c) kajona.de", 5, 15, $strElementId))) { $strReturn .= "Gallery element created.\n"; } else { $strReturn .= "Error creating Gallery element.\n"; } } $strReturn .= "Adding headline-element to new page\n"; if (class_module_pages_element::getElement("row") != null) { $objPagelement = new class_module_pages_pageelement(); $objPagelement->setStrPlaceholder("headline_row"); $objPagelement->setStrName("headline"); $objPagelement->setStrElement("row"); $objPagelement->updateObjectToDb($strGalleryPageId); $strElementId = $objPagelement->getSystemid(); $strQuery = "UPDATE " . _dbprefix_ . "element_paragraph\n SET paragraph_title = ?\n WHERE content_id = ?"; if ($this->objDB->_pQuery($strQuery, array("Gallery", $strElementId))) { $strReturn .= "Headline element created.\n"; } else { $strReturn .= "Error creating headline element.\n"; } } $strReturn .= "Adding paragraph-element to new page\n"; if (class_module_pages_element::getElement("paragraph") != null) { $objPagelement = new class_module_pages_pageelement(); $objPagelement->setStrPlaceholder("text_paragraph"); $objPagelement->setStrName("text"); $objPagelement->setStrElement("paragraph"); $objPagelement->updateObjectToDb($strGalleryPageId); $strElementId = $objPagelement->getSystemid(); $arrParams = array(); if ($this->strContentLanguage == "de") { $arrParams[] = ""; $arrParams[] = "Alle Beispielbilder © by kajona.de"; $arrParams[] = $strElementId; } else { $arrParams[] = ""; $arrParams[] = "All sample images © by kajona.de"; $arrParams[] = $strElementId; } $strQuery = "UPDATE " . _dbprefix_ . "element_paragraph\n SET paragraph_title = ?,\n paragraph_content = ?\n WHERE content_id = ?"; if ($this->objDB->_pQuery($strQuery, $arrParams)) { $strReturn .= "Paragraph element created.\n"; } else { $strReturn .= "Error creating paragraph element.\n"; } } return $strReturn; }
/** * @return array */ public function getNavigationNodes() { $arrReturn = array(); $objRepo = new class_module_mediamanager_repo($this->arrElementData["repo_id"]); $objPoint = new class_module_navigation_point(); $objPoint->setIntRecordStatus(1); $objPoint->setStrName($objRepo->getStrTitle()); $objPoint->setStrPageI($this->getPagename()); $objPoint->setSystemid($objRepo->getSystemid()); $objPoint->setStrLinkSystemid($objRepo->getSystemid()); $objPoint->setStrLinkAction("mediaFolder"); $objPoint->setBitIsForeignNode(true); $arrReturn["node"] = $objPoint; $arrReturn["subnodes"] = $this->getNavigationNodesHelper($objPoint->getSystemid()); return $arrReturn; }
private function updateFilemanager() { echo "Updating filemanager to new mediamanager structure...\n"; echo "Checking installation state of mediamanager...\n"; if (!in_array(_dbprefix_ . "filemanager", $this->objDB->getTables())) { echo "Filemanager table missing, no update required.\n"; return true; } $strOldDefaultImagesRepo = $this->getValueOfSetting("_filemanager_default_imagesrepoid_"); $strOldDefaultFilesRepo = $this->getValueOfSetting("_filemanager_default_filesrepoid_"); echo "Migrating old filemanager repos to new mediamanager repos...\n"; $strQuery = "SELECT * FROM " . _dbprefix_ . "filemanager"; $arrRows = $this->objDB->getPArray($strQuery, array()); foreach ($arrRows as $arrOneRow) { if (!validateSystemid($arrOneRow["filemanager_foreign_id"])) { echo "migrating old repo " . $arrOneRow["filemanager_name"] . "\n"; echo " old path: " . $arrOneRow["filemanager_path"] . "\n"; //convert the path $strPath = $this->convertOldPath($arrOneRow["filemanager_path"]); echo " new path: " . $strPath . "\n"; $objRepo = new class_module_mediamanager_repo(); $objRepo->setStrPath($strPath); $objRepo->setStrTitle($arrOneRow["filemanager_name"]); $objRepo->setStrViewFilter($arrOneRow["filemanager_view_filter"]); $objRepo->setStrUploadFilter($arrOneRow["filemanager_upload_filter"]); $objRepo->updateObjectToDb(); $objRepo->syncRepo(); if ($arrOneRow["filemanager_id"] == $strOldDefaultFilesRepo) { $objSetting = class_module_system_setting::getConfigByName("_mediamanager_default_filesrepoid_"); $objSetting->setStrValue($objRepo->getSystemid()); $objSetting->updateObjectToDb(); echo " setting as default files repo\n"; } if ($arrOneRow["filemanager_id"] == $strOldDefaultImagesRepo) { $objSetting = class_module_system_setting::getConfigByName("_mediamanager_default_imagesrepoid_"); $objSetting->setStrValue($objRepo->getSystemid()); $objSetting->updateObjectToDb(); echo " setting as default images repo\n"; } } echo " deleting repo from tables\n"; $strQuery = "DELETE FROM " . _dbprefix_ . "filemanager WHERE filemanager_id = ?"; $this->objDB->_pQuery($strQuery, array($arrOneRow["filemanager_id"])); $this->deleteSystemRecord($arrOneRow["filemanager_id"]); } echo "Deleting filemanager module...\n"; $this->removeModule("filemanager"); $this->objDB->_pQuery("DROP TABLE " . _dbprefix_ . "filemanager", array()); $this->removeSetting("_filemanager_default_imagesrepoid_"); $this->removeSetting("_filemanager_default_filesrepoid_"); $this->removeSetting("_filemanager_foldersize_"); $this->removeSetting("_filemanager_show_foreign_"); return true; }