/** * Renders the list of available packages or any other kind of gui-representation * of the packageprovider. * * Whenever the provider is capable of uploading new packages, the copy & n upload process * should be triggered by the admin-class again. * So make sure links or forms point to * module = packagemanager * action = uploadPackage * provider = class_na,e * The provider will be called using the processPackageUpload method. * * @return string */ public function renderPackageList() { $objToolkit = class_carrier::getInstance()->getObjToolkit("admin"); $objLang = class_carrier::getInstance()->getObjLang(); $strReturn = ""; $strReturn .= $objToolkit->getTextRow($objLang->getLang("provider_local_uploadhint", "packagemanager")); $strReturn .= $objToolkit->divider(); $strReturn .= $objToolkit->formHeader(getLinkAdminHref("packagemanager", "uploadPackage"), generateSystemid(), "multipart/form-data"); $strReturn .= $objToolkit->formInputUpload("provider_local_file", $objLang->getLang("provider_local_file", "packagemanager")); $strReturn .= $objToolkit->formInputHidden("provider", __CLASS__); $strReturn .= $objToolkit->formInputSubmit(); $strReturn .= $objToolkit->formClose(); return $strReturn; }
/** * Returns a list of all categories and all postacomment * The list could be filtered by categories * * @return string * @permissions view * @autoTestable */ protected function actionList() { //a small filter would be nice... $strReturn = $this->objToolkit->formHeader(getLinkAdminHref($this->arrModule["modul"], "list")); $arrPages = array(); $arrPages[""] = "---"; foreach (class_module_pages_page::getAllPages() as $objOnePage) { $arrPages[$objOnePage->getSystemid()] = $objOnePage->getStrName(); } $strReturn .= $this->objToolkit->formInputDropdown("filterId", $arrPages, $this->getLang("postacomment_filter"), $this->getParam("filterId")); $strReturn .= $this->objToolkit->formInputSubmit($this->getLang("postacomment_dofilter")); $strReturn .= $this->objToolkit->formClose(); $strReturn .= $this->objToolkit->divider(); $objArraySectionIterator = new class_array_section_iterator(class_module_postacomment_post::getNumberOfPostsAvailable(false, $this->getParam("filterId"))); $objArraySectionIterator->setPageNumber((int) ($this->getParam("pv") != "" ? $this->getParam("pv") : 1)); $objArraySectionIterator->setArraySection(class_module_postacomment_post::loadPostList(false, $this->getParam("filterId"), false, "", $objArraySectionIterator->calculateStartPos(), $objArraySectionIterator->calculateEndPos())); $strReturn .= $this->renderList($objArraySectionIterator); return $strReturn; }
/** * @return string */ public function getStrReloadUrl() { if ($this->strReloadParam != "") { return getLinkAdminHref("system", "systemTasks", "&task=" . $this->getStrInternalTaskName() . $this->strReloadParam); } else { return ""; } }
/** * Method still being kept for legacy elements, so admin-elements not yet switched to annotations * @param string $strMode * * @return string */ private function generateLegacyEdit($strMode = "edit") { $strReturn = ""; //Right before we do anything, load the data of the current element $arrElementData = $this->arrElementData; //Load the form generated by the element $strFormElement = $this->getEditForm(array_merge($arrElementData, $this->getAllParams())); //Start by creating the form & action $strReturn .= $this->objToolkit->formHeader(getLinkAdminHref("pages_content", "saveElement"), "elEditForm"); //validation errors? if ($this->bitDoValidation) { $this->validateForm(); } $strReturn .= $this->objToolkit->getValidationErrors($this, "saveElement"); //add a folder containing optional system-fields $strSystemFields = ""; $bitShow = false; $objStartDate = null; if (isset($arrElementData["system_date_start"]) && $arrElementData["system_date_start"] > 0) { $objStartDate = new class_date($arrElementData["system_date_start"]); $bitShow = true; } $objEndDate = null; if (isset($arrElementData["system_date_end"]) && $arrElementData["system_date_end"] > 0) { $objEndDate = new class_date($arrElementData["system_date_end"]); $bitShow = true; } $strInternalTitle = isset($arrElementData["page_element_ph_title"]) ? $arrElementData["page_element_ph_title"] : ""; if ($strInternalTitle != "") { $bitShow = true; } $strSystemFields .= $this->objToolkit->formInputText("page_element_ph_title", $this->getLang("page_element_ph_title", "pages"), $strInternalTitle); $strSystemFields .= $this->objToolkit->formDateSingle("start", $this->getLang("page_element_start", "pages"), $objStartDate); $strSystemFields .= $this->objToolkit->formDateSingle("end", $this->getLang("page_element_end", "pages"), $objEndDate); //add content from sub-classes $strSystemFields .= $this->strSystemFormElements; $strReturn .= $this->objToolkit->formOptionalElementsWrapper($strSystemFields, $this->getLang("page_element_system_folder", "pages"), $bitShow); //Adding the element-stuff $strReturn .= $strFormElement; //Language is placed right here instead as a hidden field if ($strMode == "edit") { $strReturn .= $this->objToolkit->formInputHidden("page_element_ph_language", $arrElementData["page_element_ph_language"]); } else { $strReturn .= $this->objToolkit->formInputHidden("page_element_ph_language", $this->getLanguageToWorkOn()); } $strReturn .= $this->objToolkit->formInputHidden("placeholder", $this->getParam("placeholder")); $strReturn .= $this->objToolkit->formInputHidden("systemid", $this->getSystemid()); $strReturn .= $this->objToolkit->formInputHidden("mode", $strMode); $strReturn .= $this->objToolkit->formInputHidden("element", $this->getParam("element")); //An finally the submit Button $strEventhandler = ""; if ($this->getParam("pe") == 1) { $strReturn .= $this->objToolkit->formInputHidden("peClose", "1"); } $strReturn .= $this->objToolkit->formInputSubmit($this->getLang("commons_save"), "Submit", $strEventhandler); $strReturn .= $this->objToolkit->formClose(); //and close the element return $strReturn; }
/** * Returns a list of users belonging to a specified group * * @param class_admin_formgenerator $objForm * * @return string * @permissions edit */ protected function actionGroupMember(class_admin_formgenerator $objForm = null) { $strReturn = ""; if ($this->getSystemid() != "") { $objGroup = new class_module_user_group($this->getSystemid()); //validate possible blocked groups $bitRenderEdit = $this->isGroupEditable($objGroup); $objSourceGroup = $objGroup->getObjSourceGroup(); $strReturn .= $this->objToolkit->formHeadline($this->getLang("group_memberlist") . "\"" . $objGroup->getStrName() . "\""); $objUsersources = new class_module_user_sourcefactory(); if ($objUsersources->getUsersource($objGroup->getStrSubsystem())->getMembersEditable() && $bitRenderEdit) { if ($objForm == null) { $objForm = $this->getGroupMemberForm($objGroup); } $arrFolder = $this->objToolkit->getLayoutFolder($objForm->renderForm(getLinkAdminHref($this->getArrModule("modul"), "addUserToGroup")), $this->getLang("group_add_user")); $strReturn .= $this->objToolkit->getFieldset($arrFolder[1], $arrFolder[0]); } $objIterator = new class_array_section_iterator($objSourceGroup->getNumberOfMembers()); $objIterator->setPageNumber((int) ($this->getParam("pv") != "" ? $this->getParam("pv") : 1)); $objIterator->setArraySection($objSourceGroup->getUserIdsForGroup($objIterator->calculateStartPos(), $objIterator->calculateEndPos())); $strReturn .= $this->objToolkit->listHeader(); $intI = 0; foreach ($objIterator as $strSingleMemberId) { $objSingleMember = new class_module_user_user($strSingleMemberId); $strAction = ""; if ($objUsersources->getUsersource($objGroup->getStrSubsystem())->getMembersEditable() && $bitRenderEdit) { $strAction .= $this->objToolkit->listDeleteButton($objSingleMember->getStrUsername() . " (" . $objSingleMember->getStrForename() . " " . $objSingleMember->getStrName() . ")", $this->getLang("mitglied_loeschen_frage"), class_link::getLinkAdminHref($this->getArrModule("modul"), "groupMemberDelete", "&groupid=" . $objGroup->getSystemid() . "&userid=" . $objSingleMember->getSystemid())); } $strReturn .= $this->objToolkit->genericAdminList($objSingleMember->getSystemid(), $objSingleMember->getStrDisplayName(), getImageAdmin("icon_user"), $strAction, $intI++); } $strReturn .= $this->objToolkit->listFooter() . $this->objToolkit->getPageview($objIterator, "user", "groupMember", "systemid=" . $this->getSystemid()); } return $strReturn; }
/** * @return string * @permissions right1 */ protected function actionStartInstance() { $strReturn = ""; $objHandler = new class_module_workflows_handler($this->getSystemid()); $objWorkflow = new class_module_workflows_workflow(); $objWorkflow->setStrClass($objHandler->getStrHandlerClass()); $objWorkflow->setStrAffectedSystemid($this->getParam("instance_systemid")); $objWorkflow->setStrResponsible($this->getParam("instance_responsible_id")); $objWorkflow->updateObjectToDb(); $this->adminReload(getLinkAdminHref($this->getArrModule("modul"), "list")); return $strReturn; }
/** * Saves the passed values to db * * @throws class_exception * @return string "" in case of success */ protected function actionSaveGuestbook() { $strReturn = ""; if (!$this->validateData()) { $this->setParam("eintragen_fehler", $this->getLang("eintragen_fehler")); return $this->actionInsertGuestbook($this->getAllParams()); } $objBook = new class_module_guestbook_guestbook($this->arrElementData["guestbook_id"]); //check rights if ($objBook->rightRight1()) { //create a post-object $objPost = new class_module_guestbook_post(); $objPost->setStrGuestbookPostName($this->getParam("gb_post_name")); $objPost->setStrGuestbookPostEmail($this->getParam("gb_post_email")); $objPost->setStrGuestbookPostPage($this->getParam("gb_post_page")); $objPost->setStrGuestbookPostText($this->getParam("gb_post_text")); $objPost->setIntGuestbookPostDate(time()); //save obj to db if (!$objPost->updateObjectToDb($objBook->getSystemid())) { throw new class_exception("Error saving entry", class_exception::$level_ERROR); } $strMailtext = $this->getLang("new_post_mail"); $strMailtext .= getLinkAdminHref("guestbook", "edit", "&systemid=" . $objPost->getSystemid(), false); $objMessageHandler = new class_module_messaging_messagehandler(); $arrGroups = array(); $allGroups = class_module_user_group::getObjectList(); foreach ($allGroups as $objOneGroup) { if (class_rights::getInstance()->checkPermissionForGroup($objOneGroup->getSystemid(), class_rights::$STR_RIGHT_EDIT, $this->getObjModule()->getSystemid())) { $arrGroups[] = $objOneGroup; } } $objMessageHandler->sendMessage($strMailtext, $arrGroups, new class_messageprovider_guestbook()); //Flush the page from cache $this->flushPageFromPagesCache($this->getPagename()); $this->portalReload(getLinkPortalHref($this->getPagename())); } else { $strReturn = $this->getLang("commons_error_permissions"); } return $strReturn; }
/** * Generates the list of favorite tags for the current user. * Returned structure is json based. * * @return string * @permissions view */ protected function actionGetFavoriteTags() { class_session::getInstance()->sessionClose(); class_carrier::getInstance()->getObjSession()->setBitBlockDbUpdate(true); class_module_system_changelog::$bitChangelogEnabled = false; $arrReturn = array(); $arrFavorites = class_module_tags_favorite::getAllFavoritesForUser(class_carrier::getInstance()->getObjSession()->getUserID(), 0, 10); foreach ($arrFavorites as $objOneFavorite) { $arrReturn[] = array("name" => $objOneFavorite->getStrDisplayName(), "onclick" => "location.href='" . getLinkAdminHref("tags", "showAssignedRecords", "&systemid=" . $objOneFavorite->getMappedTagSystemid(), false) . "'", "url" => getLinkAdminHref("tags", "showAssignedRecords", "&systemid=" . $objOneFavorite->getMappedTagSystemid(), false)); } class_response_object::getInstance()->setStrResponseType(class_http_responsetypes::STR_TYPE_JSON); return json_encode($arrReturn); }
/** * Renders the list of changes for the passed systemrecord. * May be called from other modules in order to get the rendered list for a single record. * In most cases rendered as a overlay, so in folderview mode * * @param string $strSystemid sytemid to filter * @param string $strSourceModule source-module, required for a working pageview * @param string $strSourceAction source-action, required for a working pageview * @param bool $bitBlockFolderview * * @return string * @since 3.4.0 * @autoTestable * @permissions changelog */ public function actionGenericChangelog($strSystemid = "", $strSourceModule = "system", $strSourceAction = "genericChangelog", $bitBlockFolderview = false) { if (!$bitBlockFolderview && $this->getParam("bitBlockFolderview") == "") { $this->setArrModuleEntry("template", "/folderview.tpl"); } if ($strSystemid == "") { $strSystemid = $this->getSystemid(); } if (!validateSystemid($strSystemid) && $this->getObjModule()->rightChangelog()) { $strReturn = $this->objToolkit->warningBox($this->getLang("generic_changelog_no_systemid")); $strReturn .= $this->objToolkit->formHeader(getLinkAdminHref("system", "genericChangeLog", "bitBlockFolderview=1")); $strReturn .= $this->objToolkit->formInputText("systemid", "systemid"); $strReturn .= $this->objToolkit->formInputSubmit(); $strReturn .= $this->objToolkit->formClose(); return $strReturn; // return "asd"; } $strReturn = ""; // check needed rights - done twice since public and callable by not only the controller // if(!class_carrier::getInstance()->getObjRights()->validatePermissionString(class_rights::$STR_RIGHT_CHANGELOG, $this->getObjModule())) // return $this->getLang("commons_error_permissions"); //showing a list using the pageview $objArraySectionIterator = new class_array_section_iterator(class_module_system_changelog::getLogEntriesCount($strSystemid)); $objArraySectionIterator->setPageNumber((int) ($this->getParam("pv") != "" ? $this->getParam("pv") : 1)); $objArraySectionIterator->setArraySection(class_module_system_changelog::getLogEntries($strSystemid, $objArraySectionIterator->calculateStartPos(), $objArraySectionIterator->calculateEndPos())); $arrData = array(); $arrHeader = array(); $arrHeader[] = $this->getLang("commons_date"); $arrHeader[] = $this->getLang("change_user"); if ($strSystemid == "") { $arrHeader[] = $this->getLang("change_module"); } if ($strSystemid == "") { $arrHeader[] = $this->getLang("change_record"); } $arrHeader[] = $this->getLang("change_action"); $arrHeader[] = $this->getLang("change_property"); $arrHeader[] = $this->getLang("change_oldvalue"); $arrHeader[] = $this->getLang("change_newvalue"); /** @var $objOneEntry class_changelog_container */ foreach ($objArraySectionIterator as $objOneEntry) { $arrRowData = array(); /** @var interface_versionable|class_model $objTarget */ $objTarget = $objOneEntry->getObjTarget(); $strOldValue = $objOneEntry->getStrOldValue(); $strNewValue = $objOneEntry->getStrNewValue(); if ($objTarget != null) { $strOldValue = $objTarget->renderVersionValue($objOneEntry->getStrProperty(), $strOldValue); $strNewValue = $objTarget->renderVersionValue($objOneEntry->getStrProperty(), $strNewValue); } $strOldValue = htmlStripTags($strOldValue); $strNewValue = htmlStripTags($strNewValue); $arrRowData[] = dateToString($objOneEntry->getObjDate()); $arrRowData[] = $this->objToolkit->getTooltipText(uniStrTrim($objOneEntry->getStrUsername(), 15), $objOneEntry->getStrUsername()); if ($strSystemid == "") { $arrRowData[] = $objTarget != null ? $objTarget->getArrModule("modul") : ""; } if ($strSystemid == "") { $arrRowData[] = $objTarget != null ? $this->objToolkit->getTooltipText(uniStrTrim($objTarget->getVersionRecordName(), 20), $objTarget->getVersionRecordName() . " " . $objOneEntry->getStrSystemid()) : ""; } $arrRowData[] = $objTarget != null ? $this->objToolkit->getTooltipText(uniStrTrim($objTarget->getVersionActionName($objOneEntry->getStrAction()), 15), $objTarget->getVersionActionName($objOneEntry->getStrAction())) : ""; $arrRowData[] = $objTarget != null ? $this->objToolkit->getTooltipText(uniStrTrim($objTarget->getVersionPropertyName($objOneEntry->getStrProperty()), 20), $objTarget->getVersionPropertyName($objOneEntry->getStrProperty())) : ""; $arrRowData[] = $this->objToolkit->getTooltipText(uniStrTrim($strOldValue, 20), $strOldValue); $arrRowData[] = $this->objToolkit->getTooltipText(uniStrTrim($strNewValue, 20), $strNewValue); $arrData[] = $arrRowData; } $objManager = new class_module_packagemanager_manager(); if ($objManager->getPackage("phpexcel") != null) { $strReturn .= $this->objToolkit->getContentToolbar(array(class_link::getLinkAdmin($this->getArrModule("modul"), "genericChangelogExportExcel", "&systemid=" . $strSystemid, class_adminskin_helper::getAdminImage("icon_excel") . " " . $this->getLang("change_export_excel"), "", "", false))); } $strReturn .= $this->objToolkit->dataTable($arrHeader, $arrData); $strReturn .= $this->objToolkit->getPageview($objArraySectionIterator, $strSourceModule, $strSourceAction, "&systemid=" . $strSystemid . "&bitBlockFolderview=" . $this->getParam("bitBlockFolderview")); return $strReturn; }
/** * Renders a legend below the current calendar in order to illustrate the different event-types. * * @param array $arrEntries * * @return string */ public function getCalendarFilter(array $arrEntries) { $strTemplateID = $this->objTemplate->readTemplate("/elements.tpl", "calendar_filter"); $strTemplateEntryID = $this->objTemplate->readTemplate("/elements.tpl", "calendar_filter_entry"); $strEntries = ""; foreach ($arrEntries as $strId => $strName) { $strChecked = class_carrier::getInstance()->getObjSession()->getSession($strId) == "disabled" ? "" : "checked"; $strEntries .= $this->objTemplate->fillTemplate(array("filterid" => $strId, "filtername" => $strName, "checked" => $strChecked), $strTemplateEntryID); } return $this->objTemplate->fillTemplate(array("entries" => $strEntries, "action" => getLinkAdminHref("dashboard", "calendar")), $strTemplateID); }
/** * Inits the update of the passed package, of given. * Therefore, the built-in method processPackgeUpload * should be used. * * @param $strTitle * * @return mixed */ public function initPackageUpdate($strTitle) { $arrMetadata = $this->searchPackage($strTitle); if (count($arrMetadata) == 1) { $arrMetadata = $arrMetadata[0]; } if (isset($arrMetadata["systemid"])) { $strUrl = getLinkAdminHref(self::$STR_MODULE_NAME, "uploadPackage", "&provider=" . get_class($this) . "&systemid=" . $arrMetadata["systemid"]); $strUrl = str_replace("_webpath_", _webpath_, $strUrl); $strUrl = str_replace("_indexpath_", _indexpath_, $strUrl); class_response_object::getInstance()->setStrRedirectUrl($strUrl); } }
/** * Return an on-lick link for the passed object. * This link is used by the backend-search for the autocomplete-field * * @see getLinkAdminHref() * @return mixed */ public function getSearchAdminLinkForObject() { return getLinkAdminHref("votings", "listAnswers", "&systemid=" . $this->getSystemid()); }
/** * Creates a small form to set the date-interval of the current report * * @param \interface_admin_statsreports|null $objReport * * @return string */ private function createDateSelector(interface_admin_statsreports $objReport = null) { $strReturn = ""; //And create the selector $strReturn .= $this->objToolkit->formHeader(getLinkAdminHref($this->arrModule["modul"], $this->getParam("action"))); $strReturn .= $this->objToolkit->formInputHidden("sort", $this->getParam("sort")); $strReturn .= $this->objToolkit->formInputHidden("action", $this->getParam("action")); $strReturn .= $this->objToolkit->formInputHidden("filter", "true"); $strReturn .= $this->objToolkit->formDateSingle("start", $this->getLang("start"), $this->objDateStart); $strReturn .= $this->objToolkit->formDateSingle("end", $this->getLang("ende"), $this->objDateEnd); //create interval dropdown? if ($objReport != null) { if ($objReport instanceof interface_admin_statsreports) { if ($objReport->isIntervalable()) { $arrOption = array(); $arrOption["1"] = $this->getLang("interval_1day"); $arrOption["2"] = $this->getLang("interval_2days"); $arrOption["7"] = $this->getLang("interval_7days"); $arrOption["15"] = $this->getLang("interval_15days"); $arrOption["30"] = $this->getLang("interval_30days"); $arrOption["60"] = $this->getLang("interval_60days"); $strReturn .= $this->objToolkit->formInputDropdown("interval", $arrOption, $this->getLang("interval"), $this->intInterval); } } } $strReturn .= $this->objToolkit->formInputSubmit($this->getLang("filtern")); $strReturn .= $this->objToolkit->formClose(); $strReturn = "<div class=\"dateSelector\">" . $strReturn . "</div>"; return $strReturn; }