public function getCellData($cell, $contentItem) { if (!is_int($cell)) { throw new \Exception("cell must be an integer!!"); } if ($cell == 0) { return "<input style=\"margin-top:-4px\" type=\"checkbox\" onclick=\"if(this.checked) { jQuery('#{$contentItem->getId()}').css({'background-color':'#eee', 'boarder':'1px solid #eee'})} else {jQuery('#{$contentItem->getId()}').css({'background-color':'transparent', 'boarder':'1px solid white'})}\"></input>"; } else { if ($cell == 1) { //TODO return "<img src=\"" . PATH_URL . "explorer/asset/icons/mimetype/" . deriveIcon($contentItem->getRoom()) . "\"></img>"; } else { if ($cell == 2) { $url = \ExtensionMaster::getInstance()->getUrlForObjectId($contentItem->getId(), "view"); $desc = $contentItem->getDescription(); if ($desc !== 0 && $desc !== "") { $name = $desc; } else { $name = str_replace("%20", " ", $contentItem->getName()); } if (isset($url) && $url != "") { return "<a href=\"" . $url . "\" title=\"{$desc}\"> " . $name . "</a>"; } else { return $name; } } else { if ($cell == 3) { return getReadableDate($contentItem->getModificationTime()); } } } } }
public function getCellData($cell, $contentItem) { if (!is_int($cell)) { throw new \Exception("cell must be an integer!!"); } if ($cell == 1) { //TODO return "<img src=\"" . PATH_URL . "explorer/asset/icons/mimetype/" . deriveIcon($contentItem->getRoom()) . "\"></img>"; } else { if ($cell == 2) { $url = \ExtensionMaster::getInstance()->getUrlForObjectId($contentItem->getId(), "view"); $desc = $contentItem->getDescription(); if ($desc !== 0 && $desc !== "") { $name = $desc; } else { $name = str_replace("%20", " ", $contentItem->getName()); } if (isset($url) && $url != "") { return "<a href=\"" . $url . "\" title=\"{$desc}\"> " . $name . "</a>"; } else { return $name; } } else { if ($cell == 3) { return $contentItem->count(); } else { if ($cell == 4) { return getReadableDate($contentItem->getModificationTime()); } } } } }
public function frameResponse(\FrameResponseObject $frameResponseObject) { $html = ""; if (isset($this->params[0]) && $this->params[0] != "") { $extension = \ExtensionMaster::getInstance()->getExtensionById($this->params[0]); $html = $extension->getInfoHtml(); } else { $content = \Admin::getInstance()->loadTemplate("ExtensionIndex.template.html"); $extensions = \ExtensionMaster::getInstance()->getAllExtensions(); foreach ($extensions as $extension) { $content->setCurrentBlock("BLOCK_EXTERNSION"); $content->setVariable("EXTERNSION_ID", $extension->getId()); $content->setVariable("EXTERNSION_NAME", $extension->getName()); $content->setVariable("EXTERNSION_ICON", ""); $content->setVariable("EXTERNSION_VERSION", $extension->getVersion()); $content->parse("BLOCK_EXTERNSION"); } $html = $content->get(); } $rawHtml = new \Widgets\RawHtml(); $rawHtml->setHtml($html); $frameResponseObject->setTitle("Extension Information"); $frameResponseObject->addWidget($rawHtml); return $frameResponseObject; }
public function ajaxResponse(\AjaxResponseObject $ajaxResponseObject) { $idRequestObject = new \IdRequestObject(); $idRequestObject->setId($this->id); $extensions = \ExtensionMaster::getInstance()->getExtensionByType("IObjectExtension"); $commands = array(); foreach ($extensions as $extension) { if (strstr(strtolower(get_class($extension)), "portlet")) { $command = $extension->getCreateNewCommand($idRequestObject); if ($command) { $commands[] = $command; } } } $object = \steam_factory::get_object($GLOBALS["STEAM"]->get_id(), $this->id); $dialog = new \Widgets\Dialog(); $dialog->setTitle("Erstelle ein neues Objekt in Spalte " . $object->get_name()); $dialog->setCloseButtonLabel(null); $dialog->setPositionX($this->params["mouseX"]); $dialog->setPositionY($this->params["mouseY"]); $html = "<div id=\"wizard\" style=\"margin-left: 20px; margin-right: 20px\">"; foreach ($commands as $command) { $namespaces = $command->getExtension()->getUrlNamespaces(); $html .= "<a href=\"\" onclick=\"sendRequest('{$command->getCommandName()}', {'id':{$this->id}}, 'wizard', 'wizard', null, null, '{$namespaces[0]}');return false;\" title=\"{$command->getExtension()->getObjectReadableDescription()}\"><img src=\"{$command->getExtension()->getObjectIconUrl()}\"> {$command->getExtension()->getObjectReadableName()}</a><br>"; } $html .= "<div style=\"float:right\"><a class=\"button pill negative\" onclick=\"closeDialog();return false;\" href=\"#\">Abbrechen</a></div></div><div id=\"wizard_wrapper\"></div>"; $rawHtml = new \Widgets\RawHtml(); $rawHtml->setHtml($html); $dialog->addWidget($rawHtml); $ajaxResponseObject->setStatus("ok"); $ajaxResponseObject->addWidget($dialog); return $ajaxResponseObject; }
public function resourcesResponse() { $extension = ExtensionMaster::getInstance()->getExtensionForNamespace($this->namespace); if ($extension) { $extension->downloadCss($this->params); die; } ExtensionMaster::getInstance()->send404Error(); }
public static function processContent($html, $page) { $result = str_replace("%web_root%", $page->getSide()->getEngine()->getSideUrl(), $html); $extensions = \ExtensionMaster::getInstance()->getExtensionByType("ITagExtension"); foreach ($extensions as $extension) { $result = $extension->processContent($result, $page); } return $result; }
public function processData(\IRequestObject $requestObject) { $objectId = $requestObject->getId(); $steam = $GLOBALS["STEAM"]; $extensionMaster = \ExtensionMaster::getInstance(); $portalColumnExtension = $extensionMaster->getExtensionById("PortalColumn"); $this->getExtension()->addCSS(); $htmlBody = ""; $portalColumnObject = \steam_factory::get_object($GLOBALS["STEAM"]->get_id(), $objectId); $portlets = $portalColumnObject->get_inventory(); //handle column size $columnWidthPx = trim($portalColumnObject->get_attribute("bid:portal:column:width")); if (strEndsWith($columnWidthPx, "px")) { $columnWidth = str_replace("px", "", $columnWidthPx); $columnWidthExt = "px"; } else { if (strEndsWith($columnWidthPx, "%")) { $columnWidth = str_replace("%", "", $columnWidthPx); $columnWidthExt = "%"; } else { $columnWidth = $columnWidthPx; $columnWidthExt = "px"; } } if ((int) $columnWidth > 0) { $columnWidthPx = $columnWidth . $columnWidthExt; } else { $columnWidthPx = "200px"; } $this->rawHtmlWidget = new \Widgets\RawHtml(); $htmlBody .= '<div class="column" style="width:' . $columnWidthPx . ';">'; //popupmenu $popupmenu = new \Widgets\PopupMenu(); $popupmenu->setCommand("GetPopupMenu"); $popupmenu->setData($portalColumnObject); $popupmenu->setNamespace("PortalColumn"); $popupmenu->setElementId("portal-overlay"); $htmlBody .= '<h2 class="editbutton columnheadline"><div class="editbutton">' . $popupmenu->getHtml() . '</div><div style="margin-left:3px;">Spalte</div></h2>'; foreach ($portlets as $portlet) { //handle link objects as portlets $params = array(); if ($portlet instanceof \steam_link) { $params["referenced"] = true; $params["referenceId"] = $portlet->get_id(); $portlet = $portlet->get_link_object(); if ($portlet == NULL) { continue; } } $widgets = $extensionMaster->getWidgetsByObjectId($portlet->get_id(), "view", $params); $this->rawHtmlWidget->addWidgets($widgets); $data = \Widgets\Widget::getData($widgets); $htmlBody .= $data["html"]; } $htmlBody .= "</div>"; $this->rawHtmlWidget->setHtml($htmlBody); }
public function resourcesResponse() { $extension = $this->getExtension(); if ($extension) { $extension->downloadAsset($this->params); die; } ExtensionMaster::getInstance()->send404Error(); }
public function getCellData($cell, $contentItem) { if (!is_int($cell)) { throw new \Exception("cell must be an integer!!"); } if ($cell == 0) { return "<input style=\"margin-top:-4px\" type=\"checkbox\" onclick=\"event.stopPropagation(); if(this.checked) { jQuery('#{$contentItem->get_id()}').removeClass('listviewer-item-unhover').addClass('listviewer-item-selected') } else { jQuery('#{$contentItem->get_id()}').removeClass('listviewer-item-selected').addClass('listviewer-item-unhover') }\"></input>"; } else { if ($cell == 1) { return "<img src=\"" . PATH_URL . "explorer/asset/icons/mimetype/" . deriveIcon($contentItem) . "\"></img>"; } else { if ($cell == 2) { $url = \ExtensionMaster::getInstance()->getUrlForObjectId($contentItem->get_id(), "view"); $desc = $contentItem->get_attribute("OBJ_DESC"); if ($desc !== 0 && $desc !== "") { $name = $desc; } else { $name = str_replace("%20", " ", $contentItem->get_name()); } if ($name == "Trashbin") { $name = "Papierkorb"; } if (isset($url) && $url != "") { return "<a href=\"" . $url . "\" title=\"{$desc}\"> " . $name . "</a>"; } else { return $name; } } else { if ($cell == 3) { return getReadableDate($contentItem->get_attribute("OBJ_LAST_CHANGED")); } else { if ($cell == 4) { if ($contentItem instanceof \steam_document) { return getReadableSize($contentItem->get_content_size()); } else { if ($contentItem instanceof \steam_container) { try { $html = "<div style=\"color: #ccc\">" . count($contentItem->get_inventory()) . " Objekte</div>"; } catch (\steam_exception $e) { $html = "keine Berechtigung"; } return $html; } } } else { if ($cell == 5) { $popupMenu = new \Widgets\PopupMenu(); $popupMenu->setData($contentItem); return $popupMenu; } } } } } } }
public function processData(\IRequestObject $requestObject) { if ($requestObject instanceof \UrlRequestObject) { $this->params = $requestObject->getParams(); isset($this->params[0]) ? $this->id = $this->params[0] : ""; } else { if ($requestObject instanceof \IdRequestObject) { $this->id = $requestObject->getId(); } } $steam = $GLOBALS["STEAM"]; //get singleton and portlet path $portalInstance = \Portal::getInstance(); $portalPath = $portalInstance->getExtensionPath(); //template $templateFileName = $portalPath . "/ui/html/index.html"; $tmpl = new \HTML_TEMPLATE_IT(); $tmpl->loadTemplateFile($templateFileName); $this->getExtension()->addCSS(); $this->getExtension()->addJS(); $currentUser = $GLOBALS["STEAM"]->get_current_steam_user(); $object = $currentUser->get_workroom(); $objectId = $this->id; //get the portal object $this->portalObject = \steam_factory::get_object($GLOBALS["STEAM"]->get_id(), $objectId); $type = getObjectType($this->portalObject); if (!($type === "portal")) { \ExtensionMaster::getInstance()->send404Error(); die; } \Portal::getInstance()->setPortalObject($this->portalObject); //get the content of the portal object $portalColumns = $this->portalObject->get_inventory(); $htmlBody = ""; $extensionMaster = \ExtensionMaster::getInstance(); $count = 0; $htmlCollectorColRow[][] = array(); $col = 0; $row = 0; $this->rawHtmlWidget = new \Widgets\RawHtml(); foreach ($portalColumns as $columnObject) { $columnObjectId = $columnObject->get_id(); $widgets = $extensionMaster->getWidgetsByObjectId($columnObjectId, "view"); $this->rawHtmlWidget->addWidgets($widgets); $data = \Widgets\Widget::getData($widgets); $htmlBody .= $data["html"]; $count++; } $currentUser = $GLOBALS["STEAM"]->get_current_steam_user(); if (isset($this->portalObject) && $this->portalObject->check_access_write($currentUser)) { $htmlBody .= "<script>if (readCookie(\"portalEditMode\") === \"{$objectId}\") {portalLockButton({$objectId})}</script>"; } $tmpl->setVariable("BODY", $htmlBody); $htmlBodyTemplated = $tmpl->get(); $this->rawHtmlWidget->setHtml($htmlBodyTemplated); }
public function getCellData($cell, $contentItem) { if (!is_int($cell)) { throw new \Exception("cell must be an integer!!"); } if ($cell == 0) { return "<input style=\"margin-top:-4px\" type=\"checkbox\" onclick=\"event.stopPropagation(); if(this.checked) { jQuery('#{$contentItem->get_id()}').removeClass('listviewer-item-unhover').addClass('listviewer-item-selected') } else { jQuery('#{$contentItem->get_id()}').removeClass('listviewer-item-selected').addClass('listviewer-item-unhover') }\"></input>"; } else { if ($cell == 1) { return "<img src=\"" . PATH_URL . "explorer/asset/icons/mimetype/" . deriveIcon($contentItem) . "\"></img>"; } else { if ($cell == 2) { $url = \ExtensionMaster::getInstance()->getUrlForObjectId($contentItem->get_id(), "view"); $desc = $contentItem->get_attribute("OBJ_DESC"); if ($desc !== 0 && $desc !== "") { $name = $desc; } else { $name = str_replace("%20", " ", $contentItem->get_name()); } if ($name == "Trashbin") { $name = "Papierkorb"; } if (isset($url) && $url != "") { return "<a href=\"" . $url . "\" title=\"{$desc}\"> " . $name . "</a>"; } else { return $name; } } else { if ($cell == 3) { return getReadableDate($contentItem->get_attribute("OBJ_LAST_CHANGED")); } else { if ($cell == 4) { $competencesArray = $contentItem->getCompetences(); $competences = ""; foreach ($competencesArray as $competence) { $competences .= "<a href=\"/portfolio/ViewCompetence/?job=" . $competence->getJobAffiliation() . "&activity=" . $competence->getActivityAffiliation() . "&facet=" . $competence->getFacetAffiliation() . "\">" . $competence->short . " </a>"; } return $competences; } else { if ($cell == 6) { $popupMenu = new \Widgets\PopupMenu(); $popupMenu->setData($contentItem); $popupMenu->setElementId("listviewer-overlay"); return $popupMenu; } else { if ($cell == 5) { return $contentItem->getArtefactClass(); } } } } } } } }
public static function getObjectModel($steamObject) { $extensions = \ExtensionMaster::getInstance()->getExtensionByType("IObjectModelExtension"); $objectModels = array(); foreach ($extensions as $extension) { $objectModels = array_merge($objectModels, $extension->getObjectModels()); } foreach ($objectModels as $objectModel) { $om = $objectModel::getInstance($steamObject); if ($om) { return $om; } } return null; }
public function getCellData($cell, $contentItem) { if (!is_int($cell)) { throw new \Exception("cell must be an integer!!"); } if ($cell == 0) { return "<input style=\"margin-top:-4px\" type=\"checkbox\" onclick=\"if(this.checked) { jQuery('#{$contentItem->getId()}').css({'background-color':'#eee', 'boarder':'1px solid #eee'})} else {jQuery('#{$contentItem->getId()}').css({'background-color':'transparent', 'boarder':'1px solid white'})}\"></input>"; } else { if ($cell == 1) { //TODO return "<img src=\"" . PATH_URL . "explorer/asset/icons/mimetype/" . deriveIcon($contentItem->getRoom()) . "\"></img>"; } else { if ($cell == 2) { $url = \ExtensionMaster::getInstance()->getUrlForObjectId($contentItem->getId(), "view"); $desc = $contentItem->getDescription(); if ($desc !== 0 && $desc !== "") { $name = $desc; } else { $name = str_replace("%20", " ", $contentItem->getName()); } if (isset($url) && $url != "") { return "<a href=\"" . $url . "\" title=\"{$desc}\"> " . $name . "</a>"; } else { return $name; } } else { if ($cell == 3) { if ($contentItem instanceof \steam_document) { return getReadableSize($contentItem->get_content_size()); } else { if ($contentItem instanceof \steam_container) { try { $html = "<div style=\"color: #ccc\">" . count($contentItem->get_inventory()) . " Objekte</div>"; } catch (\steam_exception $e) { $html = "keine Berechtigung"; } return $html; } } } else { if ($cell == 4) { return "0"; } } } } } }
public function ajaxResponse(\AjaxResponseObject $ajaxResponseObject) { $rawHtml = new \Widgets\RawHtml(); $url = \ExtensionMaster::getInstance()->getUrlForObjectId($this->object->get_id(), "view"); $desc = $this->object->get_attribute("OBJ_DESC"); $name = getCleanName($this->object, 50); if (isset($url) && $url != "") { $html = "<a href=\"" . $url . "\" title=\"{$desc}\"> " . $name . "</a>"; } else { $html = $name; } $rawHtml->setHtml($html); $ajaxResponseObject->setStatus("ok"); $ajaxResponseObject->addWidget($rawHtml); return $ajaxResponseObject; }
public function frameResponse(\FrameResponseObject $frameResponseObject) { if (isset($this->id)) { $object = \steam_factory::get_object($GLOBALS["STEAM"]->get_id(), $this->id); if ($object instanceof \steam_document) { $mimetype = $object->get_attribute(DOC_MIME_TYPE); $objName = $object->get_name(); $objDesc = trim($object->get_attribute(OBJ_DESC)); if ($objDesc === 0 || $objDesc === "") { $name = $objName; } else { $name = $objDesc . " (" . $objName . ")"; } $actionBar = new \Widgets\ActionBar(); $actionBar->setActions(array(array("name" => "Anzeigen", "link" => PATH_URL . "Explorer/ViewDocument/" . $this->id . "/"), array("name" => "Bearbeiten", "link" => PATH_URL . "Explorer/EditDocument/" . $this->id . "/"), array("name" => "Eigenschaften", "ajax" => array("onclick" => array("command" => "properties", "params" => array("id" => $this->id), "requestType" => "popup"))), array("name" => "Rechte", "ajax" => array("onclick" => array("command" => "Sanctions", "params" => array("id" => $this->id), "requestType" => "popup"))))); $contentText = new \Widgets\TextareaCode(); $contentText->setWidth(945); $contentText->setRows(50); $contentText->setData($object); $contentText->setContentProvider(\Widgets\DataProvider::contentProvider()); $clearer = new \Widgets\Clearer(); // $html = ""; // if ($mimetype == "image/png" || $mimetype == "image/jpeg" || $mimetype == "image/gif") { // Image // $html = "<div style=\"text-align:center\"><img style=\"max-width:100%\" title=\"{$name}\" alt=\"Bild: {$name}\" src=\"" . PATH_URL . "Download/Document/" . $this->id . "/\"></div>"; // } else if ($mimetype == "text/html") { // $html = strip_tags($object->get_content(),"<h1><h2><h3><h4><h5><p><a><div><style><b><i><strong><img>"); // } else if (strstr($mimetype, "text")) { // $html = "<pre>{$object->get_content()}</pre>"; // } else { // header("location: " . PATH_URL . "Download/Document/" . $this->id . "/"); // } // $rawHtml = new \Widgets\RawHtml(); // $rawHtml->setHtml($html); //$rawHtml->addWidget($breadcrumb); //$rawHtml->addWidget($environment); //$rawHtml->addWidget($loader); $frameResponseObject->setTitle($name); $frameResponseObject->addWidget($actionBar); //$frameResponseObject->addWidget($rawHtml); $frameResponseObject->addWidget($contentText); $frameResponseObject->addWidget($clearer); return $frameResponseObject; } } else { ExtensionMaster::getInstance()->send404Error(); } }
public function getCellData($cell, $contentItem) { if (!is_int($cell)) { throw new \Exception("cell must be an integer!!"); } if ($cell == $this->rawImage) { return "<img src=\"" . PATH_URL . "explorer/asset/icons/mimetype/" . deriveIcon($contentItem->get_link_object()) . "\"></img>"; } else { if ($cell == $this->rawName) { $url = \ExtensionMaster::getInstance()->getUrlForObjectId($contentItem->get_link_object()->get_id(), "view"); $desc = $contentItem->get_link_object()->get_attribute("OBJ_DESC"); if (!($desc === false || $desc === 0 || $desc === "")) { $name = $desc; } else { $name = str_replace("%20", " ", $contentItem->get_link_object()->get_name()); } if ($name == "Trashbin") { $name = "Papierkorb"; } if (isset($url) && $url != "") { return "<a href=\"" . $url . "\" title=\"{$desc}\"> " . $name . "</a>"; } else { return $name; } } else { if ($cell == $this->rawMarker) { $html = ""; if ($contentItem instanceof \steam_exit) { $obj = $contentItem->get_exit(); } else { if ($contentItem instanceof \steam_link) { $obj = $contentItem->get_link_object(); } else { $obj = $contentItem; } } $html .= "<div class=\"marker\">" . \Explorer\Model\Sanction::getMarkerHtml($obj) . "</div>"; return $html; } else { if ($cell == $this->rawChangeDate) { return getReadableDate($contentItem->get_link_object()->get_attribute("OBJ_LAST_CHANGED")); } } } } }
public function processData(\IRequestObject $requestObject) { $this->params = $requestObject->getParams(); $this->id = $this->params["id"]; $this->user = $GLOBALS["STEAM"]->get_current_steam_user(); $object = \steam_factory::get_object($GLOBALS["STEAM"]->get_id(), $this->id); if (getObjectType($object) === "portal") { $portalInstance = \PortletTopic::getInstance(); $portalObjectId = $object->get_id(); \ExtensionMaster::getInstance()->callCommand("PortalCopy", "Portal", array("id" => $portalObjectId)); } else { if ($object instanceof \steam_link) { $copy = \steam_factory::create_link($GLOBALS["STEAM"]->get_id(), $object->get_link_object()); } else { $copy = \steam_factory::create_copy($GLOBALS["STEAM"]->get_id(), $object); } $copy->move($this->user); } }
public function ajaxResponse(\AjaxResponseObject $ajaxResponseObject) { $ajaxResponseObject->setStatus("ok"); $current_room = \steam_factory::get_object($GLOBALS["STEAM"]->get_id(), $this->id); $portal = \steam_factory::create_container($GLOBALS["STEAM"]->get_id(), $this->params["name"], $current_room); $portal->set_attribute("OBJ_TYPE", "container_portal_bid"); $columnWidth = array("1" => "900px", "2" => "200px;700px", "3" => "200px;500px;200px"); $columnCount = $this->params["columns"]; $columnWidth = explode(';', $columnWidth[$columnCount]); $columns = array(); for ($i = 1; $i <= $columnCount; $i++) { $columns[$i] = \steam_factory::create_container($GLOBALS["STEAM"]->get_id(), '' . $i, $portal, '' . $i); $columns[$i]->set_attributes(array("OBJ_TYPE" => "container_portalColumn_bid", "bid:portal:column:width" => $columnWidth[$i - 1])); } // populate columns with default portlets switch (count($columns)) { case 1: \ExtensionMaster::getInstance()->callCommand("Create", "PortletHeadline", array("parent" => $columns[1], "title" => $this->params["name"], "version" => "3.0")); \ExtensionMaster::getInstance()->callCommand("Create", "PortletMsg", array("parent" => $columns[1], "title" => "Meldungen", "version" => "3.0")); break; case 2: \ExtensionMaster::getInstance()->callCommand("Create", "PortletTopic", array("parent" => $columns[1], "title" => "Kategorien", "version" => "3.0")); \ExtensionMaster::getInstance()->callCommand("Create", "PortletHeadline", array("parent" => $columns[2], "title" => $this->params["name"], "version" => "3.0")); \ExtensionMaster::getInstance()->callCommand("Create", "PortletMsg", array("parent" => $columns[2], "title" => "Meldungen", "version" => "3.0")); break; case 3: \ExtensionMaster::getInstance()->callCommand("Create", "PortletTopic", array("parent" => $columns[1], "title" => "Kategorien", "version" => "3.0")); \ExtensionMaster::getInstance()->callCommand("Create", "PortletHeadline", array("parent" => $columns[2], "title" => $this->params["name"], "version" => "3.0")); \ExtensionMaster::getInstance()->callCommand("Create", "PortletMsg", array("parent" => $columns[2], "title" => "Meldungen", "version" => "3.0")); \ExtensionMaster::getInstance()->callCommand("Create", "PortletAppointment", array("parent" => $columns[3], "title" => "Termine", "version" => "3.0")); break; } $jswrapper = new \Widgets\JSWrapper(); $jswrapper->setJs(<<<END \t\tcloseDialog(); \t\tsendRequest("LoadContent", {"id":"{$this->id}"}, "explorerWrapper", "updater", null, null, "explorer"); END ); $ajaxResponseObject->addWidget($jswrapper); return $ajaxResponseObject; }
public function resourcesResponse() { if (is_array($this->data["content"])) { ExtensionMaster::getInstance()->send404Error(); } else { header("Pragma: private"); header("Cache-Control: must-revalidate, post-check=0, pre-check=0"); header("Content-Type: " . $this->data["mimetype"]); header("Content-Length:" . $this->data["contentsize"]); // The "attachment" statement in the line below forces the Browser's "Save as..." Dialog to pop up // Crappy: deleting the "attachment" statement leads into problems using "save as..." in browsers as they ignore the "filename" if "attachment" is missing. (Firefox does so...) // header( "Content-Disposition: attachment; filename=\"" . $data["name"] . "\""); if (isset($this->filename)) { //download was started using "/download/<id>/<filename>/" use <filename> as name header("Content-Disposition: attachment; filename=\"" . $this->filename . "\""); } else { header("Content-Disposition: attachment; filename=\"" . $this->data["name"] . "\""); } //stop notice, if database download is enabled @ob_flush(); print $this->data["content"]; } }
public function getCellData($cell, $contentItem) { if (!is_int($cell)) { throw new \Exception("cell must be an integer!!"); } if ($cell == $this->rawImage) { return "<img src=\"" . PATH_URL . "explorer/asset/icons/mimetype/" . deriveIcon($contentItem->get_link_object()) . "\"></img>"; } else { if ($cell == $this->rawName) { $url = \ExtensionMaster::getInstance()->getUrlForObjectId($contentItem->get_link_object()->get_id(), "view"); $desc = $contentItem->get_link_object()->get_attribute("OBJ_DESC"); $name = getCleanName($contentItem->get_link_object(), 50); if (isset($url) && $url != "") { return "<a href=\"" . $url . "\" title=\"{$desc}\"> " . $name . "</a>"; } else { return $name; } } else { if ($cell == $this->rawChangeDate) { return getReadableDate($contentItem->get_link_object()->get_attribute("OBJ_LAST_CHANGED")); } } } }
public function frameResponse(\FrameResponseObject $frameResponseObject) { $portal = \lms_portal::get_instance(); $user = \lms_steam::get_current_user(); $frameResponseObject->setTitle(gettext("Your Desktop")); // Cache for 7 Minutes $cache = get_cache_function($user->get_name(), 420); $feeds = $cache->call("koala_user::get_news_feeds_static", 0, 10, FALSE, $user); $home = \Home::getInstance(); //$home->addJS(); $content = $home->loadTemplate("home.template.html"); $infobar = new \Widgets\InfoBar(); $infobar->setHeadline(gettext("Hallo") . " " . $portal->get_user()->get_forename() . " " . $portal->get_user()->get_surname() . "!"); $content->setVariable("INFOBAR", $infobar->getHtml()); $captionImage = new \Widgets\CaptionImage(); $captionImage->setLink(PATH_URL . "user/index/" . $user->get_name() . "/"); $captionImage->setLinkText(gettext("To your profile")); $captionImage->setImageSrc(\lms_user::get_user_image_url(140, 185)); $captionImage->setImageAlt(gettext("Profile Image")); $captionImage->setImageTitle(gettext("Complete your Profile")); $content->setVariable("PROFILEIMAGE", $captionImage->getHtml()); $rawHtml = new \Widgets\RawHtml(); $rawHtml->addWidget($infobar); $rawHtml->addWidget($captionImage); $homeExtensions = \ExtensionMaster::getInstance()->getExtensionByType("IHomeExtension"); foreach ($homeExtensions as $homeExtension) { $content->setCurrentBlock("HOME_EXTENSION"); $widget = $homeExtension->getWidget(); $rawHtml->addWidget($widget); $content->setVariable("HOME_EXTENSION_CONTENT", $widget->getHtml()); $content->parse("HOME_EXTENSION"); } $rawHtml->setHtml($content->get()); $frameResponseObject->addWidget($rawHtml); return $frameResponseObject; }
public function handleRequest(AjaxRequestObject $ajaxRequestObject, AjaxResponseObject $ajaxResponseObject) { $response = new HttpResponse(); $extension = ExtensionMaster::getInstance()->getExtensionForNamespace($ajaxRequestObject->getNamespace()); if (isset($extension)) { if ($extension instanceof ICommandAdapter) { if ($ajaxRequestObject->getCommand() != "") { if ($ajaxRequestObject->getCommand() == "databinding") { $command = new Databinding(); } else { if ($extension->isValidCommand($ajaxRequestObject->getCommand())) { $command = $extension->getCommand($ajaxRequestObject->getCommand()); } } if ($command instanceof IAjaxCommand && $command->validateData($ajaxRequestObject)) { try { $command->processData($ajaxRequestObject); $ajaxResponseObject = $command->ajaxResponse($ajaxResponseObject); } catch (Exception $e) { $response->setStatus("400 Bad Request"); $response->write("Command processing error: \"{$e->getMessage()}\""); $response->flush(); if (DEVELOPMENT_MODE) { throw $e; } exit; } if ($ajaxResponseObject instanceof AjaxResponseObject) { $data = \Widgets\Widget::getData($ajaxResponseObject->getWidgets()); $stat = ""; if ($_SESSION["STATISTICS_LEVEL"] > 0) { $stat = "console.log('Serveranfragen: " . $GLOBALS["STEAM"]->get_request_count() . " / " . $GLOBALS["STEAM"]->get_globalrequest_count() . "');"; } if ($_SESSION["STATISTICS_LEVEL"] > 1 && isset($GLOBALS["page_time_start"])) { $requestMap = $GLOBALS["STEAM"]->get_globalrequest_map(); $requestTime = $GLOBALS["STEAM"]->get_globalrequest_time(); $requestString = ""; foreach ($requestMap as $method => $count) { $requestString .= "console.log('Methode {$method} -> {$count} mal in " . round($requestTime[$method] * 1000) . " ms');"; } $stat .= "console.log('Zeit: " . round((microtime(TRUE) - $GLOBALS["page_time_start"]) * 1000) . " ms');" . $requestString; } header("Content-type: text/plain"); $response->write(json_encode(array("status" => $ajaxResponseObject->getStatus(), "html" => $data["html"], "data" => $ajaxResponseObject->getData(), "css" => $data["css"], "js" => $data["js"] . $stat, "postjs" => $data["postjs"]))); $response->flush(); exit; } else { $response->setStatus("400 Bad Request"); $response->write("Wrong response type for \"{$ajaxRequestObject->getCommand()}\""); $response->flush(); exit; } } else { $response->setStatus("400 Bad Request"); $response->write("Command \"{$ajaxRequestObject->getCommand()}\" not valid."); $response->flush(); exit; } } else { $response->setStatus("400 Bad Request"); $response->write("Command parameter missing."); $response->flush(); exit; } } else { $response->setStatus("400 Bad Request"); $response->write("Extension doesn't support commands."); $response->flush(); exit; } } else { $response->setStatus("400 Bad Request"); $response->write("Not extension found for url"); $response->flush(); exit; } }
public static function get_menu_html($cacheid, $is_logged_in) { $koala_html_menu = new koala_html_menu(); if ($is_logged_in) { $user = lms_steam::get_current_user(); // HOME // removed for version 1_5 //$koala_html_menu->add_menu_entry( array( "name" => gettext( "Home" ), "link" => PATH_URL ) ); // YOU if (YOU_MENU) { $koala_html_menu->add_menu_entry(array("name" => MENU_YOU ? gettext("You") : $user->get_attribute("USER_FIRSTNAME") . " " . $user->get_attribute("USER_FULLNAME"), "link" => PATH_URL . "desktop/", "menu" => array(YOUR_DESKTOP ? array("name" => MENU_YOU ? gettext("Your desktop") : "Schreibtisch", "link" => PATH_URL . "desktop/") : "", YOUR_PORTFOLIO ? array("name" => MENU_YOU ? "Mein Portfolio" : "Portfolio", "link" => PATH_URL . "portfolio/") : "", YOUR_DOCUMENTS ? array("name" => MENU_YOU ? gettext("Your documents") : "Dokumente", "link" => PATH_URL . "explorer/") : "", YOUR_PROFILE ? array("name" => MENU_YOU ? gettext("Your profile") : "Profil", "link" => PATH_URL . "user/index/" . $user->get_name() . "/") : "", YOUR_BOOKMARKS ? array("name" => MENU_YOU ? gettext("Meine Lesezeichen") : "Lesezeichen", "link" => PATH_URL . "bookmarks/") : "", YOUR_SCHOOLBOOKMARKS ? array("name" => MENU_YOU ? gettext("Meine Schul-Lesezeichen") : "Schul-Lesezeichen", "link" => PATH_URL . "school/") : "", YOUR_CONTACTS ? array("name" => MENU_YOU ? gettext("Your contacts") : "Kontakte") : "", YOUR_MOKODESK && $user->get_attribute("LARS_DESKTOP") !== 0 ? array("name" => MENU_YOU ? gettext("Mein MokoDesk") : "MokoDesk", "link" => MOKODESK_URL) : ""))); } // COURSES if (YOUR_COURSES) { $scg = null; if (defined("STEAM_COURSES_GROUP")) { $scg = steam_factory::get_object($GLOBALS["STEAM"]->get_id(), STEAM_COURSES_GROUP, CLASS_GROUP); } if ($scg instanceof steam_group) { $current_semester = steam_factory::groupname_to_object($GLOBALS["STEAM"]->get_id(), $scg->get_groupname() . "." . STEAM_CURRENT_SEMESTER); if (!is_object($current_semester)) { throw new Exception("cant find current_semester. please check setting of CURRENT_SEMESTER in koala.def.php", E_CONFIGURATION); } $cache = get_cache_function($user->get_name()); $courses = $cache->call("lms_steam::user_get_booked_courses", $user->get_id()); //COURSES SUBMENU $submenu = array(YOUR_COURSES ? array("name" => gettext("Your courses"), "link" => PATH_URL . SEMESTER_URL . "/?filter=booked") : "", ALL_COURSES && (!ADMIN_ONLY_ALL_COURSES || ADMIN_ONLY_ALL_COURSES && lms_steam::is_koala_admin($user)) ? array("name" => gettext("Browse courses"), "link" => PATH_URL . SEMESTER_URL . "/") : ""); if (count($courses) > 0) { $submenu[] = koala_html_menu::get_separator(); } foreach ($courses as $course) { $submenu[] = array("name" => $course["COURSE_NAME"], "link" => $course["COURSE_LINK"]); } if (COURSES_MENU) { if (ADD_COURSE) { $koala_html_menu->add_menu_entry(array("name" => gettext("Courses"), "link" => PATH_URL . SEMESTER_URL . "/?filter=booked", "menu" => $submenu)); } else { $koala_html_menu->add_menu_entry(array("name" => gettext("Courses"), "menu" => $submenu)); } } } } // CONTACTS if (CONTACTS_MENU) { $koala_html_menu->add_menu_entry(array("name" => gettext("Contacts"), "link" => PATH_URL . "user/" . $user->get_name() . "/contacts/", "menu" => array(YOUR_CONTACTS ? array("name" => gettext("Contact list"), "link" => PATH_URL . "user/" . $user->get_name() . "/contacts/") : "", PROFILE_VISITORS ? array("name" => gettext("Visitors of your profile"), "link" => PATH_URL . "profile_visitors.php") : "", USER_SEARCH ? koala_html_menu::get_separator() : "", USER_SEARCH ? array("name" => gettext("Find people"), "link" => PATH_URL . "search/people/") : ""))); } // GROUPS if (YOUR_GROUPS) { $submenu = array(YOUR_GROUPS ? array("name" => gettext("Your groups"), "link" => PATH_URL . "user/" . $user->get_name() . "/groups/") : "", BROWSE_GROUPS ? array("name" => gettext("Browse groups"), "link" => PATH_URL . "groups/") : "", CREATE_GROUPS ? array("name" => gettext("Create group"), "link" => PATH_URL . "groups_create.php") : ""); $cache = get_cache_function($user->get_name(), 86400); $groups = $cache->call("lms_steam::user_get_groups", $user->get_name(), FALSE); usort($groups, "sort_objects"); if (count($groups) > 0) { $submenu[] = koala_html_menu::get_separator(); } foreach ($groups as $usergroup) { $submenu[] = array("name" => $usergroup["OBJ_NAME"], "link" => $usergroup["GROUP_LINK"]); } if (GROUPS_MENU) { $koala_html_menu->add_menu_entry(array("name" => gettext("Groups"), "link" => PATH_URL . "user/" . $user->get_name() . "/groups/", "menu" => $submenu)); } } // additional platform menus $menus = json_decode(PLATFROM_MENUS, true); if (!is_array($menus)) { $menus = array(); } foreach ($menus as $menu) { $koala_html_menu->add_menu_entry($menu); } $extensions = ExtensionMaster::getInstance()->getExtensionByType("IMenuExtension"); foreach ($extensions as $extension) { $entries = $extension->getMenuEntries(); if (isset($entries) && is_array($entries)) { foreach ($entries as $entry) { $koala_html_menu->add_menu_entry($entry); } } } // EXTRAS removed for Version 1_5 /* $koala_html_menu->add_menu_entry( array( "name" => gettext( "Extras" ), "link" => PATH_URL . "downloads/", "menu" => array( // SUBMENUS EXTRAS array( "name" => gettext( "Downloads" ), "link" => PATH_URL . "downloads/" ), array( "name" => gettext( "More information"), "link" => PATH_URL ), koala_html_menu::get_separator(), array( "name" => gettext( "Help"), "link" => HELP_URL ) ) ) ); */ } else { //removed for version 1_5 //$koala_html_menu->add_menu_entry( array( "name" => gettext( "Home" ), "link" => PATH_URL ) ); //$koala_html_menu->add_menu_entry( array( "name" => gettext( "Sign in" ), "link" => PATH_URL . "sign_in.php" ) ); //$koala_html_menu->add_menu_entry( array( "name" => gettext( "Downloads" ), "link" => PATH_URL . "downloads/" ) ); //$koala_html_menu->add_menu_entry(array("name" => " ", "link" => "#")); return "<div id='menu'></div>"; } return $koala_html_menu->get_html(); }
public function frameResponse(\FrameResponseObject $frameResponseObject) { if (isset($this->id)) { $object = \steam_factory::get_object($GLOBALS["STEAM"]->get_id(), $this->id); if ($object instanceof \steam_document) { $mimetype = $object->get_attribute(DOC_MIME_TYPE); $objName = $object->get_name(); $objDesc = trim($object->get_attribute(OBJ_DESC)); if ($objDesc === 0 || $objDesc === "") { $name = $objName; } else { $name = $objDesc . " (" . $objName . ")"; } $actionBar = new \Widgets\ActionBar(); if ($mimetype == "text/html") { $actionBar->setActions(array(array("name" => "Anzeigen", "link" => PATH_URL . "Explorer/ViewDocument/" . $this->id . "/"), array("name" => "Quelltext", "link" => PATH_URL . "Explorer/CodeEditDocument/" . $this->id . "/"), array("name" => "Eigenschaften", "ajax" => array("onclick" => array("command" => "properties", "params" => array("id" => $this->id), "requestType" => "popup"))), array("name" => "Rechte", "ajax" => array("onclick" => array("command" => "Sanctions", "params" => array("id" => $this->id), "requestType" => "popup"))))); } else { $actionBar->setActions(array(array("name" => "Anzeigen", "link" => PATH_URL . "Explorer/ViewDocument/" . $this->id . "/"), array("name" => "Eigenschaften", "ajax" => array("onclick" => array("command" => "properties", "params" => array("id" => $this->id), "requestType" => "popup"))), array("name" => "Rechte", "ajax" => array("onclick" => array("command" => "Sanctions", "params" => array("id" => $this->id), "requestType" => "popup"))))); } $contentText = new \Widgets\Textarea(); $contentText->setWidth(945); $contentText->setheight(400); $contentText->setData($object); $contentText->setTextareaClass("mce-full"); if ($mimetype !== "text/html") { $contentText->setTextareaClass("plain"); } $html = cleanHTML($object->get_content()); $dirname = dirname($object->get_path()) . "/"; preg_match_all('/src="([%a-z0-9.\\-_\\/]*)"/iU', $html, $matches); $orig_matches = $matches[0]; $path_matches = $matches[1]; foreach ($path_matches as $key => $path) { $path = urldecode($path); if (parse_url($path, PHP_URL_SCHEME) != null) { continue; } $ref_object = \steam_factory::get_object_by_name($GLOBALS["STEAM"]->get_id(), $dirname . $path); if ($ref_object instanceof \steam_object) { $new_path = PATH_URL . "Download/Document/" . $ref_object->get_id(); } else { $new_path = PATH_URL . "styles/standard/images/404.jpg"; } $html = str_replace($orig_matches[$key], "src=\"{$new_path}\" data-mce-src=\"{$path}\"", $html); } $contentText->setContentProvider(\Widgets\DataProvider::contentProvider($html)); $clearer = new \Widgets\Clearer(); // $html = ""; // if ($mimetype == "image/png" || $mimetype == "image/jpeg" || $mimetype == "image/gif") { // Image // $html = "<div style=\"text-align:center\"><img style=\"max-width:100%\" title=\"{$name}\" alt=\"Bild: {$name}\" src=\"" . PATH_URL . "Download/Document/" . $this->id . "/\"></div>"; // } else if ($mimetype == "text/html") { // $html = strip_tags($object->get_content(),"<h1><h2><h3><h4><h5><p><a><div><style><b><i><strong><img>"); // } else if (strstr($mimetype, "text")) { // $html = "<pre>{$object->get_content()}</pre>"; // } else { // header("location: " . PATH_URL . "Download/Document/" . $this->id . "/"); // } // $rawHtml = new \Widgets\RawHtml(); // $rawHtml->setHtml($html); //$rawHtml->addWidget($breadcrumb); //$rawHtml->addWidget($environment); //$rawHtml->addWidget($loader); $frameResponseObject->setTitle($name); $frameResponseObject->addWidget($actionBar); //$frameResponseObject->addWidget($rawHtml); $frameResponseObject->addWidget($contentText); $frameResponseObject->addWidget($clearer); return $frameResponseObject; } } else { ExtensionMaster::getInstance()->send404Error(); } }
public function frameResponse(\FrameResponseObject $frameResponseObject) { $artefact = \Artefacts::getById($this->artefactId); $actionBar = new \Widgets\ActionBar(); $actionBar->setActions(array(array("link" => "javascript:history.back()", "name" => "zurück"), array("name" => \Portfolio::getInstance()->getText("Beleg hinzufügen"), "ajax" => array("onclick" => array("command" => "UploadArtefactMessage", "params" => array("id" => $this->artefactId), "requestType" => "popup"))))); $breadcrumb = new \Widgets\Breadcrumb(); // $breadcrumb->setData(array(array("name"=>gettext("Manage Artefacts")))); // $breadcrumb->setData(array($artefact->getRoom())); $breadcrumb->setData(array(array("name" => $artefact->getName()))); $tabBar = new \Widgets\TabBar(); $tabBar->setTabs(array(array("name" => \Portfolio::getInstance()->getText("Dashboard"), "link" => $this->getextension()->getExtensionUrl() . "/"), array("name" => \Portfolio::getInstance()->getText("Competences"), "link" => $this->getExtension()->getExtensionUrl() . "ViewChart/"), array("name" => \Portfolio::getInstance()->getText("Artefacts"), "link" => $this->getExtension()->getExtensionUrl() . "ManageArtefacts/"), array("name" => $artefact->getName(), "link" => "#"))); $tabBar->setActiveTab(3); $clearer = new \Widgets\Clearer(); /* $loader = new \Widgets\Loader(); $loader->setWrapperId("artefactsWrapper"); $loader->setMessage("loading artefacts ..."); $loader->setCommand("loadArtefacts"); $loader->setParams(array()); $loader->setElementId("artefactsWrapper"); $loader->setType("updater"); */ $boxTip = new \Widgets\Box(); $boxTip->setTitle(\Portfolio::getInstance()->getText("Content of your Artefact")); $boxTip->setContent($artefact->getName() . "<br>" . +$artefact->getDescription()); // $content = "<pre>"; $content = ""; // $attributes = $artefact->get_attributes(); // foreach ($attributes as $attribute) { // $content .= $attribute . "<br>"; // } $content .= "Mime Type : " . $artefact->getMimeType() . "<br>"; // $content .= "</pre>"; $boxTip->setContent($content); $boxInfo = new \Widgets\Box(); $boxInfo->setTitle(\Portfolio::getInstance()->getText("Last Changes")); $boxInfo->setContent("TODO: Keine Änderungen vorhanden"); $boxDownload = new \Widgets\Box(); $boxDownload->setTitle(\Portfolio::getInstance()->getText("Download Artefact")); $boxDownload->setContent("<a href>TODO: Download</a>"); $boxDiscuss = new \Widgets\PortfolioViewBox(); $boxDiscuss->setTitle(\Portfolio::getInstance()->getText("Discuss View")); $boxDiscuss->setTitleLink($this->getextension()->getExtensionUrl() . "ViewChart/"); $boxDiscuss->setContent("Discuss view shows what other have commeted about your artefacts.if needed this content can be edited"); $boxDiscuss->setButtons(array(array("name" => "Edit", "link" => "#"), array("name" => "Manage Acess", "link" => $this->getextension()->getExtensionUrl() . "ManageArtefacts/"))); $boxCompetences = new \Widgets\PortfolioViewBox(); $boxCompetences->setTitle(\Portfolio::getInstance()->getText("Competences")); $htmlCompetences = ""; $competences = $artefact->getCompetences(); foreach ($competences as $competence) { $htmlCompetences .= "<br>" . $competence->short . ": " . $competence->name; } $boxCompetences->setContent($htmlCompetences); $url = \ExtensionMaster::getInstance()->getUrlForObjectId($artefact->get_id(), "competences"); $boxCompetences->setButtons(array(array("name" => "Set Competences", "link" => $url))); $frameResponseObject->setTitle("Manage Artefacts"); $frameResponseObject->addWidget($actionBar); $frameResponseObject->addWidget($breadcrumb); $frameResponseObject->addWidget($tabBar); $frameResponseObject->addWidget($clearer); $frameResponseObject->addWidget($boxTip); $frameResponseObject->addWidget($clearer); $frameResponseObject->addWidget($boxInfo); $frameResponseObject->addWidget($clearer); $frameResponseObject->addWidget($boxDownload); $frameResponseObject->addWidget($clearer); $frameResponseObject->addWidget($boxCompetences); $frameResponseObject->addWidget($clearer); //$frameResponseObject->addWidget($rawHtml); return $frameResponseObject; }
public function callCommand($commandName, $namespaceName, $params) { $extension = ExtensionMaster::getInstance()->getExtensionForNamespace($namespaceName); $ajaxRequestObject = new AjaxRequestObject(); $ajaxRequestObject->setNamespace($namespaceName); $ajaxRequestObject->setCommand($commandName); $ajaxRequestObject->setElementId(""); $ajaxRequestObject->setRequestType("internal"); $ajaxRequestObject->setParams($params); $command = $extension->getCommand($ajaxRequestObject->getCommand()); $command->validateData($ajaxRequestObject); $command->processData($ajaxRequestObject); return $command; }
public function getExtension() { return ExtensionMaster::getInstance()->getExtensionForNamespace($this->getNamespace()); }
private function getChronicEntry($steam_object) { $result = array("name" => "<img src=\"" . PATH_URL . "explorer/asset/icons/mimetype/" . deriveIcon($steam_object) . "\"></img> " . getCleanName($steam_object, 20), "link" => \ExtensionMaster::getInstance()->getUrlForObjectId($steam_object->get_id(), "view")); return $result; }
public function getCellData($cell, $contentItem) { if (!is_int($cell)) { throw new \Exception("cell must be an integer!!"); } if ($cell == $this->rawCheckbox) { return "<input style=\"margin-top:-4px\" type=\"checkbox\" onclick=\"event.stopPropagation(); if(this.checked) { jQuery('#{$contentItem->get_id()}').removeClass('listviewer-item-unhover').addClass('listviewer-item-selected') } else { jQuery('#{$contentItem->get_id()}').removeClass('listviewer-item-selected').addClass('listviewer-item-unhover') }\"></input>"; } else { if ($cell == $this->rawImage) { return "<img src=\"" . PATH_URL . "explorer/asset/icons/mimetype/" . deriveIcon($contentItem->get_link_object()) . "\"></img>"; } else { if ($cell == $this->rawName) { $url = \ExtensionMaster::getInstance()->getUrlForObjectId($contentItem->get_link_object()->get_id(), "view"); $desc = $contentItem->get_link_object()->get_attribute("OBJ_DESC"); if (!($desc === false || $desc === 0 || $desc === "")) { $name = $desc; } else { $name = str_replace("%20", " ", $contentItem->get_link_object()->get_name()); } if ($name == "Trashbin") { $name = "Papierkorb"; } if (isset($url) && $url != "") { return "<a href=\"" . $url . "\" title=\"{$desc}\"> " . $name . "</a>"; } else { return $name; } } else { if ($cell == $this->rawMarker) { $html = ""; if ($contentItem->get_link_object()->check_access_read(\steam_factory::get_user($GLOBALS["STEAM"]->get_id(), STEAM_GUEST_LOGIN)) || $contentItem->get_link_object()->check_access_read(\steam_factory::get_group($GLOBALS["STEAM"]->get_id(), "steam"))) { $html .= "<img onclick=\"event.stopPropagation(); this.src='" . PATH_URL . "bookmarks/asset/icons/star_inactive_16.png' \" style=\"cursor: pointer\" title=\"Öffentlich lesbar.\" src=\"" . PATH_URL . "explorer/asset/icons/public_16.png\"></img>"; } //$html .= "<img onclick=\"event.stopPropagation(); this.src='".PATH_URL."bookmarks/asset/icons/star_inactive_16.png' \" style=\"cursor: pointer\" title=\"Als Lesezeichen markiert.\" src=\"".PATH_URL."bookmarks/asset/icons/star_16.png\"></img>"; return $html; } else { if ($cell == $this->rawChangeDate) { return getReadableDate($contentItem->get_link_object()->get_attribute("OBJ_LAST_CHANGED")); } else { if ($cell == $this->rawSize) { if ($contentItem->get_link_object() instanceof \steam_document) { return getReadableSize($contentItem->get_link_object()->get_content_size()); } else { if ($contentItem->get_link_object() instanceof \steam_container) { try { $html = "<div style=\"color: #ccc\">" . count($contentItem->get_link_object()->get_inventory()) . " Objekte</div>"; } catch (\steam_exception $e) { $html = "keine Berechtigung"; } return $html; } } } else { if ($cell == $this->rawMenu) { $popupMenu = new \Widgets\PopupMenu(); $popupMenu->setData($contentItem); $popupMenu->setElementId("listviewer-overlay"); return $popupMenu; } } } } } } } }
public function frameResponse(\FrameResponseObject $frameResponseObject) { $tabBar = new \Widgets\TabBar(); $tabBar->setTabs(array(array("name" => \Portfolio::getInstance()->getText("Dashboard"), "link" => $this->getextension()->getExtensionUrl() . "/"), array("name" => \Portfolio::getInstance()->getText("Competences"), "link" => $this->getExtension()->getExtensionUrl() . "ViewChart/"), array("name" => \Portfolio::getInstance()->getText("Artefacts"), "link" => $this->getExtension()->getExtensionUrl() . "ManageArtefacts/"))); $tabBar->setActiveTab(1); $breadcrumb = new \Widgets\Breadcrumb(); $breadcrumb->setData(array(array("name" => \Portfolio::getInstance()->getText("Chart"), "link" => $this->getExtension()->getExtensionUrl() . "ViewChart/"), array("name" => \Portfolio::getInstance()->getText("View Competance")))); \CompetenceRaster::initReadCompetences(); $comptetences = \CompetenceRaster::$competences; $collected = \CompetenceRaster::getCollectedCompetences(); $jobs = \CompetenceRaster::getJobs(); $activities = \CompetenceRaster::getActivityFields(); $facets = \CompetenceRaster::getFacets(); $html = "<br>"; if ($this->showCollected) { $html .= "<h1>Gesammelte Kompetenzen</h1>"; } else { $html .= "<h1>Offene Kompetenzen</h1>"; } foreach ($jobs as $job) { if (!($this->job == "" || $this->job == $job->name)) { continue; } $html .= "<h2>" . $job->description . "</h2>"; $html .= '<table class="grid">'; foreach ($activities as $activity) { if (!($this->activity == "" || $this->activity == $activity->short)) { continue; } $html .= "<tr><td colspan=7><h4>" . $activity->name . "</h4></td><tr>"; foreach ($facets as $facet) { if (!($this->facet == "" || $this->facet == $facet->short)) { continue; } $comptetences = \CompetenceRaster::getCompetences($job->name, $activity->short, $facet->short); foreach ($comptetences as $competence) { $url = "#"; $text = ""; if (!$this->showCollected && isset($collected[$job->name . $activity->short . $facet->short . $competence->getIndex()])) { continue; } elseif ($this->showCollected && !isset($collected[$job->name . $activity->short . $facet->short . $competence->getIndex()])) { //$artefact = Artefacts::getById($collected[$job->name . $activity->short . $facet->short . $competence->getIndex() . "ID"]); continue; } if ($this->showCollected && isset($collected[$job->name . $activity->short . $facet->short . $competence->getIndex()])) { $artefactId = $collected[$job->name . $activity->short . $facet->short . $competence->getIndex() . "ID"]; $text = "Artefakt"; $url = \ExtensionMaster::getInstance()->getUrlForObjectId($artefactId, "view"); } $checked = isset($collected[$job->name . $activity->short . $facet->short . $competence->getIndex()]) ? "checked=true" : ""; $html .= "<tr><td>" . $competence->job . "</td>"; $html .= "<td>" . $competence->activity . "</td>"; $html .= "<td>" . $competence->facet . "</td>"; $html .= "<td >" . $competence->index . "</td>"; $html .= "<td>" . $competence->name . "</td>"; $html .= "<td>" . "<input type=checkbox disabled=true " . $checked . "</td>"; $html .= "<td><a href=\"" . $url . "\">" . $text . "</a></td></tr>"; } } } $html .= "</table>"; } $frameResponseObject->setTitle("Competence View"); $rawHtml = new \Widgets\RawHtml(); $rawHtml->setHtml($html); $frameResponseObject->addWidget($breadcrumb); $frameResponseObject->addWidget($tabBar); $frameResponseObject->addWidget($rawHtml); return $frameResponseObject; }