Example #1
0
 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());
                 }
             }
         }
     }
 }
Example #2
0
 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());
                 }
             }
         }
     }
 }
Example #3
0
 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;
 }
Example #4
0
 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;
 }
Example #5
0
 public function resourcesResponse()
 {
     $extension = ExtensionMaster::getInstance()->getExtensionForNamespace($this->namespace);
     if ($extension) {
         $extension->downloadCss($this->params);
         die;
     }
     ExtensionMaster::getInstance()->send404Error();
 }
Example #6
0
 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;
 }
Example #7
0
 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);
 }
Example #8
0
 public function resourcesResponse()
 {
     $extension = $this->getExtension();
     if ($extension) {
         $extension->downloadAsset($this->params);
         die;
     }
     ExtensionMaster::getInstance()->send404Error();
 }
Example #9
0
 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;
                         }
                     }
                 }
             }
         }
     }
 }
Example #10
0
 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);
 }
Example #11
0
 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();
                             }
                         }
                     }
                 }
             }
         }
     }
 }
Example #12
0
 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;
 }
Example #13
0
 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";
                     }
                 }
             }
         }
     }
 }
Example #14
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;
 }
Example #15
0
 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"));
                 }
             }
         }
     }
 }
Example #17
0
 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);
     }
 }
Example #18
0
    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"];
     }
 }
Example #20
0
 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"));
             }
         }
     }
 }
Example #21
0
 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;
 }
Example #22
0
 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;
     }
 }
Example #23
0
 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();
 }
Example #24
0
 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();
     }
 }
Example #25
0
 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;
 }
Example #26
0
 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());
 }
Example #28
0
 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;
 }
Example #29
0
 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;
                             }
                         }
                     }
                 }
             }
         }
     }
 }
Example #30
0
 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;
 }