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 processData(\IRequestObject $requestObject) { $objectId = $requestObject->getId(); $portlet = $portletObject = \steam_factory::get_object($GLOBALS["STEAM"]->get_id(), $objectId); //icon $referIcon = \Portal::getInstance()->getAssetUrl() . "icons/refer_white.png"; //reference handling $params = $requestObject->getParams(); if (isset($params["referenced"]) && $params["referenced"] == true) { $portletIsReference = true; $referenceId = $params["referenceId"]; } else { $portletIsReference = false; } $portletName = $portlet->get_attribute(OBJ_DESC); $this->getExtension()->addCSS(); $this->getExtension()->addJS(); //old bib include_once PATH_BASE . "koala-core/lib/bid/slashes.php"; //get content of portlet $content = $portlet->get_attribute("bid:portlet:content"); if (is_array($content) && count($content) > 0) { array_walk($content, "_stripslashes"); } else { $content = array(); } $portletInstance = \PortletRss::getInstance(); $portletPath = $portletInstance->getExtensionPath(); $num_items = isset($content["num_items"]) ? $content["num_items"] : 0; if (isset($content["address"])) { $feed = new \SimplePie(); $feed->set_cache_location(PATH_CACHE); $feed->set_feed_url(derive_url($content["address"])); $feed->init(); if ($num_items == 0) { $items = $feed->get_items(); } else { $items = array_slice($feed->get_items(), 0, $num_items); } } $desc_length = isset($content["desc_length"]) ? $content["desc_length"] : 0; if (isset($content["allow_html"])) { $allow_html = $content["allow_html"] == "checked" ? true : false; } else { $allow_html = false; } $UBB = new \UBBCode(); include_once PATH_BASE . "koala-core/lib/bid/derive_url.php"; $portletFileName = $portletPath . "/ui/html/index.html"; $tmpl = new \HTML_TEMPLATE_IT(); $tmpl->loadTemplateFile($portletFileName); $tmpl->setVariable("EDIT_BUTTON", ""); $tmpl->setVariable("PORTLET_ID", $portlet->get_id()); $tmpl->setVariable("RSS_NAME", $portletName); //refernce icon if ($portletIsReference) { $tmpl->setVariable("REFERENCE_ICON", "<img src='{$referIcon}'>"); } //popupmenu if (!$portletIsReference && $portlet->check_access_write($GLOBALS["STEAM"]->get_current_steam_user())) { $popupmenu = new \Widgets\PopupMenu(); $popupmenu->setData($portlet); $popupmenu->setNamespace("PortletRss"); $popupmenu->setElementId("portal-overlay"); $tmpl->setVariable("POPUPMENU", $popupmenu->getHtml()); } if ($portletIsReference && $portlet->check_access_write($GLOBALS["STEAM"]->get_current_steam_user())) { $popupmenu = new \Widgets\PopupMenu(); $popupmenu->setData($portlet); $popupmenu->setNamespace("Portal"); $popupmenu->setElementId("portal-overlay"); $popupmenu->setParams(array(array("key" => "sourceObjectId", "value" => $portlet->get_id()), array("key" => "linkObjectId", "value" => $referenceId))); $popupmenu->setCommand("PortletGetPopupMenuReference"); $tmpl->setVariable("POPUPMENU", $popupmenu->getHtml()); } if (sizeof($content) > 0) { if ($feed->error()) { $tmpl->setVariable("NOITEMSTEXT", "RSS-Ladefehler"); } else { if (count($items) == 0) { $tmpl->setVariable("NOITEMSTEXT", "RSS-Feed ist leer."); } else { foreach ($items as $item) { $tmpl->setCurrentBlock("BLOCK_RSS_ITEM"); if ($allow_html) { $itemtitle = $item->get_title(); $itemdesc = $item->get_description(); } else { $itemtitle = strip_tags($item->get_title()); $itemdesc = strip_tags($item->get_description()); } if ($desc_length == 0) { $itemdesc = ""; } else { if ($desc_length > 0 && strlen($itemdesc) > $desc_length) { $itemdesc = substr($itemdesc, 0, $desc_length) . "..."; } } $tmpl->setVariable("ITEMTITLE", $itemtitle); $tmpl->setVariable("ITEMDESC", $itemdesc); $tmpl->setVariable("ITEMURL", derive_url($item->get_permalink())); $tmpl->setVariable("LINK", ""); $tmpl->parse("BLOCK_RSS_ITEM"); } } } } else { $tmpl->setVariable("NOITEMSTEXT", "RSS-Feed nicht konfiguriert."); } $htmlBody = $tmpl->get(); $this->content = $htmlBody; //widgets $outputWidget = new \Widgets\RawHtml(); $outputWidget->setHtml($htmlBody); $outputWidget->addWidget(new \Widgets\PopupMenu()); $this->rawHtmlWidget = $outputWidget; }
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 (isset($url) && $url != "") { return "<a href=\"" . $url . "\" title=\"{$desc}\"> " . $name . "</a>"; } else { return $name; } } else { if ($cell == 3) { $competencesArray = $contentItem->getCompetences(); $competences = ""; foreach ($competencesArray as $competence) { $competences .= "<a href=\"/portfolio/ViewCompetence/" . $competence->getJobAffiliation() . "/" . $competence->getActivityAffiliation() . "/" . $competence->getFacetAffiliation() . "/" . "\">" . $competence->short . " </a>"; } return $competences; } else { if ($cell == 4) { $popupMenu = new \Widgets\PopupMenu(); $popupMenu->setData($contentItem); return $popupMenu; } } } } } }
public function processData(\IRequestObject $requestObject) { $objectId = $requestObject->getId(); $portletInstance = \PortletMedia::getInstance(); $portletPath = $portletInstance->getExtensionPath(); $portlet = $portletObject = \steam_factory::get_object($GLOBALS["STEAM"]->get_id(), $objectId); //icon $referIcon = \Portal::getInstance()->getAssetUrl() . "icons/refer_white.png"; //reference handling $params = $requestObject->getParams(); if (isset($params["referenced"]) && $params["referenced"] == true) { $portletIsReference = true; $referenceId = $params["referenceId"]; } else { $portletIsReference = false; } //hack include_once PATH_BASE . "koala-core/lib/bid/slashes.php"; //get content of portlet $content = $portlet->get_attribute("bid:portlet:content"); if (is_array($content) && count($content) > 0) { array_walk($content, "_stripslashes"); } else { $content = array(); } if (sizeof($content) > 0) { $portletFileName = $portletPath . "/ui/html/index.html"; $tmpl = new \HTML_TEMPLATE_IT(); $tmpl->loadTemplateFile($portletFileName); //popupmenu if (!$portletIsReference && $portlet->check_access_write($GLOBALS["STEAM"]->get_current_steam_user())) { $popupmenu = new \Widgets\PopupMenu(); $popupmenu->setData($portlet); $popupmenu->setNamespace("PortletMedia"); $popupmenu->setElementId("portal-overlay"); $tmpl->setVariable("POPUPMENU", $popupmenu->getHtml()); } if ($portletIsReference && $portlet->check_access_write($GLOBALS["STEAM"]->get_current_steam_user())) { $popupmenu = new \Widgets\PopupMenu(); $popupmenu->setData($portlet); $popupmenu->setNamespace("Portal"); $popupmenu->setElementId("portal-overlay"); $popupmenu->setParams(array(array("key" => "sourceObjectId", "value" => $portlet->get_id()), array("key" => "linkObjectId", "value" => $referenceId))); $popupmenu->setCommand("PortletGetPopupMenuReference"); $tmpl->setVariable("POPUPMENU", $popupmenu->getHtml()); } $tmpl->setVariable("EDIT_BUTTON", ""); $tmpl->setVariable("PORTLET_ID", $portlet->get_id()); $tmpl->setVariable("HEADLINE", $content["headline"]); //refernce icon if ($portletIsReference) { $tmpl->setVariable("REFERENCE_ICON", "<img src='{$referIcon}'>"); } $tmpl->setVariable("URL", $content["url"]); $tmpl->setVariable("DESCRIPTION", $content["description"]); $media_type = $content["media_type"]; if ($media_type == "image") { $tmpl->setCurrentBlock("image"); $tmpl->parse("MEDIA_ELEMENT", "image"); $tmpl->parse("image"); } else { if ($media_type == "movie") { $tmpl->setCurrentBlock("movie"); $width = str_replace(array("px", "%"), "", $portlet->get_environment()->get_attribute("bid:portal:column:width")) - 10; $media_player = $portletInstance->getAssetUrl() . 'mediaplayer.swf'; $tmpl->setVariable("MEDIA_PLAYER", $media_player); $tmpl->setVariable("MEDIA_PLAYER_WIDTH", $width); $tmpl->setVariable("MEDIA_PLAYER_HEIGHT", round($width * 3 / 4)); $tmpl->parse("movie"); } else { if ($media_type == "audio") { $tmpl->setCurrentBlock("audio"); $width = str_replace(array("px", "%"), "", $portlet->get_environment()->get_attribute("bid:portal:column:width")) - 10; $media_player = $portletInstance->getAssetUrl() . 'emff_lila_info.swf'; $tmpl->setVariable("MEDIA_PLAYER", $media_player); $tmpl->setVariable("MEDIA_PLAYER_WIDTH", $width); $tmpl->setVariable("MEDIA_PLAYER_HEIGHT", round($width * 11 / 40)); $tmpl->parse("audio"); } } } if ($portlet->check_access_write($GLOBALS["STEAM"]->get_current_steam_user())) { $tmpl->setCurrentBlock("BLOCK_EDIT_BUTTON"); $tmpl->setVariable("PORTLET_ID_EDIT", $portlet->get_id()); $tmpl->parse("BLOCK_EDIT_BUTTON"); } //output $htmlBody = $tmpl->get(); } else { //output for no content $htmlBody = ""; } $this->content = $htmlBody; //widgets $outputWidget = new \Widgets\RawHtml(); $outputWidget->setHtml($htmlBody); //popummenu $popupmenu = new \Widgets\PopupMenu(); $popupmenu->setData($portlet); $popupmenu->setNamespace("PortletMedia"); $popupmenu->setElementId("portal-overlay"); $outputWidget->addWidget($popupmenu); $this->rawHtmlWidget = $outputWidget; }
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 processData(\IRequestObject $requestObject) { $objectId = $requestObject->getId(); $portlet = $portletObject = \steam_factory::get_object($GLOBALS["STEAM"]->get_id(), $objectId); $portletName = $portlet->get_attribute(OBJ_DESC); //icon $referIcon = \Portal::getInstance()->getAssetUrl() . "icons/refer_white.png"; //reference handling $params = $requestObject->getParams(); if (isset($params["referenced"]) && $params["referenced"] == true) { $portletIsReference = true; $referenceId = $params["referenceId"]; } else { $portletIsReference = false; } $this->getExtension()->addCSS(); $this->getExtension()->addJS(); $htmlBody = ""; //hack include_once PATH_BASE . "koala-core/lib/bid/slashes.php"; //get content of portlet $content = $portlet->get_attribute("bid:portlet:content"); if (is_array($content) && count($content) > 0) { array_walk($content, "_stripslashes"); } else { $content = array(); } //get singleton and portlet path $portletInstance = \PortletTermplan::getInstance(); $portletPath = $portletInstance->getExtensionPath(); //create template $portletFileName = $portletPath . "/ui/html/index.html"; $tmpl = new \HTML_TEMPLATE_IT(); $tmpl->loadTemplateFile($portletFileName); if (sizeof($content) > 0) { //popupmenu if (!$portletIsReference && $portlet->check_access_write($GLOBALS["STEAM"]->get_current_steam_user())) { $popupmenu = new \Widgets\PopupMenu(); $popupmenu->setData($portlet); $popupmenu->setNamespace("PortletTermplan"); $popupmenu->setElementId("portal-overlay"); $tmpl->setVariable("POPUPMENU", $popupmenu->getHtml()); } if ($portletIsReference && $portlet->check_access_write($GLOBALS["STEAM"]->get_current_steam_user())) { $popupmenu = new \Widgets\PopupMenu(); $popupmenu->setData($portlet); $popupmenu->setNamespace("Portal"); $popupmenu->setElementId("portal-overlay"); $popupmenu->setParams(array(array("key" => "sourceObjectId", "value" => $portlet->get_id()), array("key" => "linkObjectId", "value" => $referenceId))); $popupmenu->setCommand("PortletGetPopupMenuReference"); $tmpl->setVariable("POPUPMENU", $popupmenu->getHtml()); } $startDate = $content["start_date"]; $endDate = $content["end_date"]; if (time() > mktime(0, 0, 0, $startDate["month"], $startDate["day"], $startDate["year"]) && time() < mktime(24, 0, 0, $endDate["month"], $endDate["day"], $endDate["year"])) { $pollActive = true; } else { $pollActive = false; } $options = $content["options"]; $optionsVotecount = $content["options_votecount"]; $max_votecount = 1; foreach ($optionsVotecount as $option_votecount) { if ($option_votecount > $max_votecount) { $max_votecount = $option_votecount; } } $tmpl->setVariable("POLL_NAME", $portletName); //refernce icon if ($portletIsReference) { $tmpl->setVariable("REFERENCE_ICON", "<img src='{$referIcon}'>"); } $tmpl->setVariable("POLL_TOPIC", $content["poll_topic"]); //advanced result //decode content mapping $encodedVoteUserMapping = $portlet->get_attribute("termChoices"); if ($encodedVoteUserMapping == "0") { $mapping = array(); } else { $mapping = json_decode($encodedVoteUserMapping, true); } $currentUser = $GLOBALS["STEAM"]->get_current_steam_user(); $currentUserName = $currentUser->get_full_name(); $currentUserLogin = $currentUser->get_name(); //fehler //create table $userTimeTable = "<br/><table border='0' style='margin:auto;border-color:#C0C0C0;width:98%'>"; //headline $userTimeTable .= "<tr>"; $userTimeTable .= "<th style='background-color:#E0E0E0;'>Name</th>"; $optionsCount = 0; foreach ($options as $option) { if ($option != "") { //show $optionsCount++; $optionText = $this->termplanCutItemLenght($option); $userTimeTable .= "<th style='background-color:#E0E0E0;'>{$optionText}</th>"; } } $userTimeTable .= "</tr>"; $userVoteArray = array(); foreach ($mapping as $username => $encodedTermChoices) { @($voteUserArray = explode("#", $voteXuser)); //TODO $votes = explode(":", substr($encodedTermChoices, 12)); $user = $username; foreach ($votes as $vote) { if (isset($userVoteArray[$user][$vote]) && $userVoteArray[$user][$vote] == "X") { //hier den umschalter $userVoteArray[$user][$vote] = "N"; } else { $userVoteArray[$user][$vote] = "X"; } } } //initialize votecount $voteCount = array(); $voteCount[0] = 0; $voteCount[1] = 0; $voteCount[2] = 0; $voteCount[3] = 0; $voteCount[4] = 0; $voteCount[5] = 0; if (!("guest" == $GLOBALS["STEAM"]->get_current_steam_user()->get_name())) { //its not allowed for guest to vote //create first line for current user $userTimeTable .= "<tr>"; $userTimeTable .= "<td style='font-weight: bold;'>{$currentUserName}</td>"; if (isset($userVoteArray[$currentUserLogin])) { $votingForCurrentUser = $userVoteArray[$currentUserLogin]; } else { $votingForCurrentUser = array(); } $backGroundGreen = "#99EE99"; for ($i = 0; $i < $optionsCount; $i++) { //$userTimeTable.= "<td>"; $portletId = $portlet->get_id(); if (isset($votingForCurrentUser[$i]) && $votingForCurrentUser[$i] == "X") { if (!$pollActive) { $userTimeTable .= "<td style='background-color:{$backGroundGreen};'>"; } if ($pollActive) { $userTimeTable .= "<td style='background-color:{$backGroundGreen};'>"; } $voteCommand = 'sendRequest("VoteTerm", {"portletObjectId": "' . $objectId . '", "termId": "' . $i . '"}, "", "popup", "","", "PortletTermplan");return false;'; if ($pollActive) { $userTimeTable .= "<input onclick='{$voteCommand};' type='checkbox' name='termitem' value='{$i}' checked='checked'>"; } if (!$pollActive) { $userTimeTable .= "X"; } $voteCount[$i]++; $userTimeTable .= "</td>"; } else { $userTimeTable .= "<td>"; $voteCommand = 'sendRequest("VoteTerm", {"portletObjectId": "' . $objectId . '", "termId": "' . $i . '"}, "", "popup", "","", "PortletTermplan");return false;'; if ($pollActive) { $userTimeTable .= "<input onclick='{$voteCommand};' type='checkbox' name='termitem' value='{$i}'>"; } if (!$pollActive) { $userTimeTable .= ""; } $userTimeTable .= "</td>"; } } $userTimeTable .= "</tr>"; } //sort the users //$userVoteArray $sortedNames = array(); foreach ($userVoteArray as $login => $userElement) { $userObject = \steam_factory::get_user($GLOBALS["STEAM"]->get_id(), $login); $userRealName = $userObject->get_full_name(); $sortedNames[$login] = $userRealName; } asort($sortedNames, SORT_STRING); //resorting the other array foreach ($sortedNames as $userName => $realName) { $sortedNames[$userName] = $userVoteArray[$userName]; } $userVoteArraySorted = $sortedNames; //table for other users foreach ($userVoteArraySorted as $user => $userElement) { if ($user == $currentUserLogin) { continue; } //create row $userTimeTable .= "<tr>"; $userObject = \steam_factory::get_user($GLOBALS["STEAM"]->get_id(), $user); $realName = $userObject->get_full_name(); //create other users if ($currentUserName == $realName) { //DO NOTHING } else { $userTimeTable .= "<td>{$realName}</td>"; } for ($i = 0; $i < $optionsCount; $i++) { //create field if (isset($userElement[$i]) && $userElement[$i] == "X") { if ($currentUserName == $realName) { $userTimeTable .= "<td></td>"; //DO NOTHING } else { $userTimeTable .= "<td style='background-color:{$backGroundGreen};'>X</td>"; } $voteCount[$i]++; } else { $userTimeTable .= "<td></td>"; if ($currentUserName == $realName) { //DO NOTHING } } } $userTimeTable .= "</tr>"; } //count and show results $userTimeTable .= "<tr>"; $userTimeTable .= "<td>Summe</td>"; $portletId = $portlet->get_id(); for ($i = 0; $i < $optionsCount; $i++) { $userTimeTable .= "<td id='" . $portletId . "TermSum{$i}'>{$voteCount[$i]}</td>"; } $userTimeTable .= "</tr>"; $userTimeTable .= "</table>"; //table created $tmpl->setVariable("USER_VOTE_TABLE", $userTimeTable); $htmlBody = $tmpl->get(); //widgets $outputWidget = new \Widgets\RawHtml(); $outputWidget->setHtml($htmlBody); $this->rawHtmlWidget = $outputWidget; } }
public function processData(\IRequestObject $requestObject) { $objectId = $requestObject->getId(); $portlet = $portletObject = \steam_factory::get_object($GLOBALS["STEAM"]->get_id(), $objectId); $portlet_name = $portlet->get_attribute(OBJ_DESC); $params = $requestObject->getParams(); //icon $referIcon = \Portal::getInstance()->getAssetUrl() . "icons/refer_white.png"; //reference handling if (isset($params["referenced"]) && $params["referenced"] == true) { $portletIsReference = true; $referenceId = $params["referenceId"]; } else { $portletIsReference = false; } //hack include_once PATH_BASE . "koala-core/lib/bid/slashes.php"; //get content of portlet $content = $portlet->get_attribute("bid:portlet:content"); if (is_array($content) && count($content) > 0) { array_walk($content, "_stripslashes"); } else { $content = array(); } $portletInstance = \PortletAppointment::getInstance(); $portletPath = $portletInstance->getExtensionPath(); $portletFileName = $portletPath . "/ui/html/index.html"; $tmpl = new \HTML_TEMPLATE_IT(); $tmpl->loadTemplateFile($portletFileName); $tmpl->setVariable("PORTLET_ID", $portlet->get_id()); $tmpl->setVariable("APPOINTMENT_NAME", $portlet_name); $tmpl->setVariable("linkurl", ""); //refernce icon if ($portletIsReference) { $tmpl->setVariable("REFERENCE_ICON", "<img src='{$referIcon}'>"); } //main popupmenu if (!$portletIsReference && $portlet->check_access_write($GLOBALS["STEAM"]->get_current_steam_user())) { $tmpl->setCurrentBlock("BLOCK_EDIT_BUTTON_MAIN"); $tmpl->setVariable("PORTLET_ID_EDIT", $portlet->get_id()); $popupmenu = new \Widgets\PopupMenu(); $popupmenu->setData($portlet); $popupmenu->setNamespace("PortletAppointment"); $popupmenu->setElementId("portal-overlay"); $popupmenu->setCommand("GetPopupMenu"); $tmpl->setVariable("POPUPMENU", $popupmenu->getHtml()); } if ($portletIsReference && $portlet->check_access_write($GLOBALS["STEAM"]->get_current_steam_user())) { $popupmenu = new \Widgets\PopupMenu(); $popupmenu->setData($portlet); $popupmenu->setNamespace("Portal"); $popupmenu->setElementId("portal-overlay"); $popupmenu->setParams(array(array("key" => "sourceObjectId", "value" => $portlet->get_id()), array("key" => "linkObjectId", "value" => $referenceId))); $popupmenu->setCommand("PortletGetPopupMenuReference"); $tmpl->setVariable("POPUPMENU", $popupmenu->getHtml()); } $tmpl->parse("BLOCK_EDIT_BUTTON_MAIN"); $UBB = new \UBBCode(); include_once PATH_BASE . "koala-core/lib/bid/derive_url.php"; if (sizeof($content) > 0) { $indexCount = 0; foreach ($content as $appointment) { $tmpl->setCurrentBlock("BLOCK_TERM"); //term popupmenu if (!$portletIsReference && $portlet->check_access_write($GLOBALS["STEAM"]->get_current_steam_user())) { $tmpl->setCurrentBlock("BLOCK_EDIT_BUTTON_MAIN"); $tmpl->setVariable("PORTLET_ID_EDIT", $portlet->get_id()); $popupmenu = new \Widgets\PopupMenu(); $popupmenu->setCommand("GetPopupMenuTerm"); $popupmenu->setData($portlet); $popupmenu->setNamespace("PortletAppointment"); $popupmenu->setElementId("portal-overlay"); $popupmenu->setParams(array(array("key" => "termIndex", "value" => $indexCount))); $tmpl->setVariable("POPUPMENU_ENTRY", $popupmenu->getHtml()); $tmpl->parse("BLOCK_EDIT_BUTTON_TERM"); } $indexCount++; $tmpl->setVariable("STARTDATE", $appointment["start_date"]["day"] . "." . $appointment["start_date"]["month"] . "." . $appointment["start_date"]["year"]); if (trim($appointment["location"]) != "" && trim($appointment["location"]) != "0") { $tmpl->setCurrentBlock("BLOCK_TERM_LOCATION"); $tmpl->setVariable("LOCATION", $UBB->encode($appointment["location"])); $tmpl->setVariable("LOCATION_ROW", ""); $tmpl->parse("BLOCK_TERM_LOCATION"); } if ($appointment["end_date"]["day"] != "") { $tmpl->setCurrentBlock("BLOCK_TERM_ENDDATE"); $tmpl->setVariable("ENDDATE", $appointment["end_date"]["day"] . "." . $appointment["end_date"]["month"] . "." . $appointment["end_date"]["year"]); $tmpl->setVariable("ENDDATE_ROW", ""); $tmpl->parse("BLOCK_TERM_ENDDATE"); } if ($appointment["start_time"]["hour"] != "") { $tmpl->setCurrentBlock("BLOCK_TERM_TIME"); $tmpl->setVariable("TIME", $appointment["start_time"]["hour"] . "." . $appointment["start_time"]["minutes"] . " Uhr"); $tmpl->setVariable("TIME_ROW", ""); $tmpl->parse("BLOCK_TERM_TIME"); } if (trim($appointment["description"]) != "" && trim($appointment["description"]) != "0") { $tmpl->setCurrentBlock("BLOCK_TERM_DESCRIPTION"); $tmpl->setVariable("DESCRIPTION", $UBB->encode($appointment["description"])); $tmpl->parse("BLOCK_TERM_DESCRIPTION"); } if (trim($appointment["linkurl"]) != "" && trim($appointment["linkurl"]) != "0") { $tmpl->setCurrentBlock("BLOCK_TERM_LINK"); $tmpl->setVariable("LINKURL", derive_url($appointment["linkurl"])); $tmpl->setVariable("TOPIC", $UBB->encode($appointment["topic"])); $tmpl->parse("BLOCK_TERM_LINK"); } else { $tmpl->setCurrentBlock("BLOCK_TERM_NOLINK"); $tmpl->setVariable("TOPIC", $UBB->encode($appointment["topic"])); $tmpl->parse("BLOCK_TERM_NOLINK"); } $tmpl->parse("BLOCK_TERM"); } } $htmlBody = $tmpl->get(); $this->content = $htmlBody; //widgets $outputWidget = new \Widgets\RawHtml(); $outputWidget->setHtml($htmlBody); //popummenu $outputWidget->addWidget(new \Widgets\PopupMenu()); $this->rawHtmlWidget = $outputWidget; }
public function processData(\IRequestObject $requestObject) { $htmlBody = ""; $objectId = $requestObject->getId(); $portlet = $portletObject = \steam_factory::get_object($GLOBALS["STEAM"]->get_id(), $objectId); //icon $referIcon = \Portal::getInstance()->getAssetUrl() . "icons/refer_white.png"; //reference handling $params = $requestObject->getParams(); if (isset($params["referenced"]) && $params["referenced"] == true) { $portletIsReference = true; $referenceId = $params["referenceId"]; } else { $portletIsReference = false; } $portletName = $portlet->get_attribute(OBJ_DESC); $this->getExtension()->addCSS(); $this->getExtension()->addJS(); //hack //include_once("/Users/mjako/koala-development-workspace-next/koala-core/lib/bid/slashes.php"); include_once PATH_BASE . "/koala-core/lib/bid/slashes.php"; //get content of portlet $content = $portlet->get_attribute("bid:portlet:content"); if (is_array($content) && count($content) > 0) { array_walk($content, "_stripslashes"); } else { $content = array(); } $UBB = new \UBBCode(); include_once PATH_BASE . "koala-core/lib/bid/derive_url.php"; $portletInstance = \PortletTopic::getInstance(); $portletPath = $portletInstance->getExtensionPath(); $portletFileName = $portletPath . "/ui/html/index.html"; $tmpl = new \HTML_TEMPLATE_IT(); $tmpl->loadTemplateFile($portletFileName); $tmpl->setVariable("PORTLET_ID", $portlet->get_id()); $tmpl->setVariable("PORTLET_NAME", $portletName); //refernce icon if ($portletIsReference) { $tmpl->setVariable("REFERENCE_ICON", "<img src='{$referIcon}'>"); } //popupmenu main if (!$portletIsReference && $portlet->check_access_write($GLOBALS["STEAM"]->get_current_steam_user())) { $tmpl->setCurrentBlock("BLOCK_EDIT_BUTTON_MAIN"); $tmpl->setVariable("PORTLET_ID_EDIT", $portlet->get_id()); $popupmenu = new \Widgets\PopupMenu(); $popupmenu->setData($portlet); $popupmenu->setNamespace("PortletTopic"); $popupmenu->setElementId("portal-overlay"); $popupmenu->setCommand("GetPopupMenu"); $popupmenu->setParams(array(array("key" => "menu", "value" => "nerd"))); $tmpl->setVariable("POPUPMENU", $popupmenu->getHtml()); $tmpl->parse("BLOCK_EDIT_BUTTON_MAIN"); } if ($portletIsReference && $portlet->check_access_write($GLOBALS["STEAM"]->get_current_steam_user())) { $popupmenu = new \Widgets\PopupMenu(); $popupmenu->setData($portlet); $popupmenu->setNamespace("Portal"); $popupmenu->setElementId("portal-overlay"); $popupmenu->setParams(array(array("key" => "sourceObjectId", "value" => $portlet->get_id()), array("key" => "linkObjectId", "value" => $referenceId))); $popupmenu->setCommand("PortletGetPopupMenuReference"); $tmpl->setVariable("POPUPMENU", $popupmenu->getHtml()); $tmpl->parse("BLOCK_EDIT_BUTTON_MAIN"); } if (sizeof($content) > 0) { $categoryCount = 0; foreach ($content as $category) { $tmpl->setCurrentBlock("category"); //popupmenu category if ($portlet->check_access_write($GLOBALS["STEAM"]->get_current_steam_user())) { $tmpl->setCurrentBlock("BLOCK_EDIT_BUTTON_CATEGORY"); $tmpl->setVariable("PORTLET_ID_EDIT", $portlet->get_id()); $popupmenu = new \Widgets\PopupMenu(); $popupmenu->setData($portlet); $popupmenu->setNamespace("PortletTopic"); $popupmenu->setElementId("portal-overlay"); $popupmenu->setCommand("GetPopupMenuCategory"); $popupmenu->setParams(array(array("key" => "category", "value" => $categoryCount))); $tmpl->setVariable("POPUPMENU", $popupmenu->getHtml()); $tmpl->parse("BLOCK_EDIT_BUTTON_CATEGORY"); } $tmpl->setVariable("CATEGORY_TITLE", $UBB->encode($category["title"])); $tmpl->setVariable("TOPIC_ENTRY", ""); if (isset($category["topics"])) { $entryCount = 0; foreach ($category["topics"] as $topic) { $tmpl->setCurrentBlock("topic_entry"); //popupmenu topic if ($portlet->check_access_write($GLOBALS["STEAM"]->get_current_steam_user())) { $tmpl->setCurrentBlock("BLOCK_EDIT_BUTTON_TOPIC"); $tmpl->setVariable("PORTLET_ID_EDIT", $portlet->get_id()); $popupmenu = new \Widgets\PopupMenu(); $popupmenu->setData($portlet); $popupmenu->setNamespace("PortletTopic"); $popupmenu->setElementId("portal-overlay"); $popupmenu->setCommand("GetPopupMenuEntry"); $popupmenu->setParams(array(array("key" => "category", "value" => $categoryCount), array("key" => "entry", "value" => $entryCount))); $tmpl->setVariable("POPUPMENU", $popupmenu->getHtml()); $tmpl->parse("BLOCK_EDIT_BUTTON_TOPIC"); } if (trim($topic["link_url"]) != "") { $tmpl->setCurrentBlock("TOPIC_LINK"); $tmpl->setVariable("TOPIC_TITLE", $UBB->encode($topic["title"])); $tmpl->setVariable("TOPIC_LINK_URL", revealPath($topic["link_url"], $portlet->get_path())); $tmpl->setVariable("TOPIC_LINK_TARGET", $topic["link_target"] == "checked" ? "_blank" : "_top"); $tmpl->parse("TOPIC_LINK"); } else { $tmpl->setCurrentBlock("TOPIC_NOLINK"); $tmpl->setVariable("TOPIC_TITLE", $UBB->encode($topic["title"])); $tmpl->parse("TOPIC_NOLINK"); } $tmpl->setVariable("TOPIC_DESCRIPTION", $UBB->encode($topic["description"])); //if there is a url parse headline as link if (trim($topic["link_url"]) == "") { //$tmpl->parse("TOPIC_DISPLAY_TITLE", "topic_display_title"); } else { //$tmpl->parse("TOPIC_DISPLAY_TITLE", "topic_display_title_link"); } //if there is a description parse out $tmpl->setCurrentBlock("topic_display_description"); if (trim($topic["description"]) == "") { $tmpl->setVariable("TOPIC_DISPLAY_DESCRIPTION", ""); } else { //$tmpl->parse("TOPIC_DISPLAY_DESCRIPTION", "topic_display_description"); } $tmpl->parse("topic_display_description"); //parse out every topic $tmpl->parse("topic_entry"); $entryCount++; } } //parse out category $tmpl->parse("category"); $categoryCount++; } } else { $tmpl->setVariable("CATEGORY", ""); } $htmlBody = $tmpl->get(); $this->content = $htmlBody; //widgets $outputWidget = new \Widgets\RawHtml(); $outputWidget->setHtml($htmlBody); //popummenu $outputWidget->addWidget(new \Widgets\PopupMenu()); $this->rawHtmlWidget = $outputWidget; }
public function processData(\IRequestObject $requestObject) { $objectId = $requestObject->getId(); $portlet = $portletObject = \steam_factory::get_object($GLOBALS["STEAM"]->get_id(), $objectId); //icon $referIcon = \Portal::getInstance()->getAssetUrl() . "icons/refer_white.png"; //reference handling $params = $requestObject->getParams(); if (isset($params["referenced"]) && $params["referenced"] == true) { $portletIsReference = true; $referenceId = $params["referenceId"]; } else { $portletIsReference = false; } //hack include_once PATH_BASE . "koala-core/lib/bid/slashes.php"; //get content of portlet $content = $portlet->get_attribute("bid:portlet:content"); if (is_array($content) && count($content) > 0) { array_walk($content, "_stripslashes"); } else { $content = array(); } //get singleton and portlet path $portletInstance = \PortletHeadline::getInstance(); $portletPath = $portletInstance->getExtensionPath(); if (sizeof($content) > 0) { $portletFileName = $portletPath . "/ui/html/index.html"; $tmpl = new \HTML_TEMPLATE_IT(); $tmpl->loadTemplateFile($portletFileName); //popupmenu if (!$portletIsReference && $portlet->check_access_write($GLOBALS["STEAM"]->get_current_steam_user())) { $popupmenu = new \Widgets\PopupMenu(); $popupmenu->setData($portlet); $popupmenu->setNamespace("PortletHeadline"); $popupmenu->setElementId("portal-overlay"); $tmpl->setVariable("POPUPMENU", $popupmenu->getHtml()); } if ($portletIsReference && $portlet->check_access_write($GLOBALS["STEAM"]->get_current_steam_user())) { $popupmenu = new \Widgets\PopupMenu(); $popupmenu->setData($portlet); $popupmenu->setNamespace("Portal"); $popupmenu->setElementId("portal-overlay"); $popupmenu->setParams(array(array("key" => "sourceObjectId", "value" => $portlet->get_id()), array("key" => "linkObjectId", "value" => $referenceId))); $popupmenu->setCommand("PortletGetPopupMenuReference"); $tmpl->setVariable("POPUPMENU", $popupmenu->getHtml()); } $UBB = new \UBBCode(); include_once PATH_BASE . "koala-core/lib/bid/derive_url.php"; $tmpl->setVariable("DUMMY", ""); $tmpl->setVariable("EDIT_BUTTON", ""); $tmpl->setVariable("PORTLET_ID", $portlet->get_id()); $tmpl->setVariable("ALIGNMENT", trim($content["alignment"])); $tmpl->setVariable("HEADLINE", $UBB->encode($content["headline"])); //refernce icon if ($portletIsReference) { $tmpl->setVariable("REFERENCE_ICON", "<img src='{$referIcon}'>"); } $tmpl->setVariable("SIZE", trim($content["size"])); if ($portlet->check_access_write($GLOBALS["STEAM"]->get_current_steam_user())) { $tmpl->setCurrentBlock("BLOCK_EDIT_BUTTON"); $tmpl->setVariable("PORTLET_ID_EDIT", $portlet->get_id()); $tmpl->parse("BLOCK_EDIT_BUTTON"); } $htmlBody = $tmpl->get(); } else { $htmlBody = ""; } $this->content = $htmlBody; //widgets $outputWidget = new \Widgets\RawHtml(); //popummenu $outputWidget->addWidget(new \Widgets\PopupMenu()); $outputWidget->setHtml($htmlBody); $this->rawHtmlWidget = $outputWidget; }
public function getCellData($cell, $contentItem) { if (!is_int($cell)) { throw new \Exception("cell must be an integer!!"); } $objType = getObjectType($contentItem); if ($cell == $this->rawCheckbox) { if (!$contentItem instanceof \steam_trashbin) { return "<input id=\"{$contentItem->get_id()}_checkbox\" style=\"margin-top:-4px\" type=\"checkbox\" onclick=\"event.stopPropagation(); if(this.checked) { jQuery('#{$contentItem->get_id()}').addClass('listviewer-item-selected') } else { jQuery('#{$contentItem->get_id()}').removeClass('listviewer-item-selected') }\"></input>"; } else { return ""; } } else { if ($cell == $this->rawImage) { return "<img src=\"" . PATH_URL . "explorer/asset/icons/mimetype/" . deriveIcon($contentItem) . "\"></img>"; } else { if ($cell == $this->rawName) { $tipsy = new \Widgets\Tipsy(); $tipsy->setElementId($contentItem->get_id() . "_" . $this->rawName); $tipsy->setHtml("<div style=\"font-weight:bold; width:100px; float:left;\">Besitzer</div> <img style=\"margin: 3px\" align=\"middle\" src=\"" . PATH_URL . "download/image/" . $contentItem->get_creator()->get_attribute(OBJ_ICON)->get_id() . "/30/30\"> " . $contentItem->get_creator()->get_attribute(USER_FIRSTNAME) . " " . $contentItem->get_creator()->get_attribute(USER_FULLNAME) . "<br clear=\"all\">" . "<div style=\"font-weight:bold; width:100px; float:left;\">zuletzt geändert</div> " . getFormatedDate($contentItem->get_attribute(OBJ_LAST_CHANGED)) . "<br>" . "<div style=\"font-weight:bold; width:100px; float:left;\">erstellt</div> " . getFormatedDate($contentItem->get_attribute(OBJ_CREATION_TIME)) . "<br>"); $url = PATH_URL . "explorer/index/" . $contentItem->get_id() . "/"; $desc = $contentItem->get_attribute("OBJ_DESC"); //$name = $objectModel->getReadableName(); $name = getCleanName($contentItem, 50); if (isset($url) && $url != "") { return "<a href=\"" . $url . "\" title=\"{$desc}\"> " . $name . "</a>" . "<script>" . $tipsy->getHtml() . "</script>"; } else { return $name . "<script>" . $tipsy->getHtml() . "</script>"; } } else { if ($cell == $this->rawMarker) { $html = ""; if ($objType == "referenceFile") { $html .= "<div class=\"marker\">" . \Explorer\Model\Sanction::getMarkerHtml($contentItem->get_link_object()) . "</div>"; } else { $html .= "<div class=\"marker\">" . \Explorer\Model\Sanction::getMarkerHtml($contentItem) . "</div>"; } $html .= "<div class=\"marker\" id=\"{$contentItem->get_id()}_BookmarkMarkerWrapper\">"; $linkError = false; if ($contentItem instanceof \steam_exit) { $exitObject = $contentItem->get_exit(); if ($exitObject instanceof \steam_object) { $id = $exitObject->get_id(); } else { $linkError = true; $html .= "<div style=\"color:red\">Link defekt</div>"; } } else { if ($contentItem instanceof \steam_link) { $linkObject = $contentItem->get_link_object(); if ($linkObject instanceof \steam_object) { $id = $linkObject->get_id(); } else { $linkError = true; $html .= "<div style=\"color:red\">Link defekt</div>"; } } else { $id = $contentItem->get_id(); } } if (!$linkError && \Bookmarks\Model\Bookmark::isBookmark($id)) { $html .= \Bookmarks\Model\Bookmark::getMarkerHtml($id); } $html .= "</div>"; return $html; } else { if ($cell == $this->rawChangeDate) { if ($objType == "referenceFile") { return getReadableDate($contentItem->get_link_object()->get_attribute("OBJ_LAST_CHANGED")); } else { return getReadableDate($contentItem->get_attribute("OBJ_LAST_CHANGED")); } } else { if ($cell == $this->rawSize) { return getObjectReadableSize($contentItem); } else { if ($cell == $this->rawMenu) { $popupMenu = new \Widgets\PopupMenu(); $popupMenu->setData($contentItem); $popupMenu->setElementId("listviewer-overlay"); return $popupMenu; } } } } } } } }
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 frameResponse(\FrameResponseObject $frameResponseObject) { $rawHtml = new \Widgets\RawHtml(); $forumId = $this->forumId; $category_id = $this->id; $myExtension = \Forum::getInstance(); $myExtension->addCSS("style_topics.css"); //****************************************************** //** sTeam Server Connection //****************************************************** $steam = $GLOBALS["STEAM"]; /** log-in user */ $steamUser = \lms_steam::get_current_user(); /** id of the log-in user */ $steamUserId = $steamUser->get_id(); /** the login user name */ $steamUserLoginName = $steamUser->get_name(); $steamUserName = $steamUser->get_full_name(); /** the current category */ $category = \steam_factory::get_object($steam->get_id(), $category_id); /** additional required attributes */ $categoryAttributes = $category->get_attributes(array(OBJ_NAME, OBJ_DESC, OBJ_CREATION_TIME, "bid:description", "DOC_LAST_MODIFIED", "DOC_USER_MODIFIED"), 1); /** the content of the current category */ $categoryContent = $category->get_content(1); /** the creater of the current category */ $categoryCreator = $category->get_creator(1); /** the current forum */ $forum = $category->get_annotating(1); $category_allowed_write = $category->check_access_write($steamUser, 1); $category_allowed_read = $category->check_access_read($steamUser, 1); $category_allowed_annotate = $category->check_access_annotate($steamUser, 1); // flush the buffer $result = $steam->buffer_flush(); $categoryAttributes = $result[$categoryAttributes]; $categoryContent = $result[$categoryContent]; $categoryCreator = $result[$categoryCreator]; $categoryCreatorId = $categoryCreator->get_id(); $categoryAttributes["DOC_USER_MODIFIED"]->get_attributes(array(OBJ_NAME), 1); $forum = $result[$forum]; $category_allowed_write = $result[$category_allowed_write]; $category_allowed_read = $result[$category_allowed_read]; $category_allowed_annotate = $result[$category_allowed_annotate]; $category_allowed_sanction = $category->check_access(SANCTION_SANCTION); /** the environment of the forum object */ $forumEnvironment = $forum->get_environment(); /** additional required attributes */ $forumEnvironmentAttributes = $forumEnvironment->get_attributes(array(OBJ_NAME, OBJ_DESC), 1); /** additional required attributes */ $forumAttributes = $forum->get_attributes(array(OBJ_NAME, OBJ_DESC, "bid:description", "bid_forum_subtitle"), 1); /** the creator of the forum */ $forumCreator = $forum->get_creator(1); /** attributes of the creator of the category */ $categoryCreatorAttributes = $categoryCreator->get_attributes(array(OBJ_NAME, OBJ_DESC, OBJ_ICON), 1); $result = $steam->buffer_flush(); $forumAttributes = $result[$forumAttributes]; $forumCreator = $result[$forumCreator]; $categoryCreatorAttributes = $result[$categoryCreatorAttributes]; $forumEnvironmentAttributes = $result[$forumEnvironmentAttributes]; /** attributes of the creator of the forum object */ $forumCreatorAttributes = $forumCreator->get_attributes(array(OBJ_NAME, OBJ_DESC, OBJ_ICON), 1); $result = $steam->buffer_flush(); $forumCreatorAttributes = $result[$forumCreatorAttributes]; $forumCreatorId = $forumCreator->get_id(); //\Forum::getInstance()->addCSS(); if ($category_allowed_read) { $messages = $category->get_annotations(false, 1); $result = $steam->buffer_flush(); $messages = $result[$messages]; sort($messages); if (count($messages) > 0) { foreach ($messages as $message) { if (!empty($message)) { $id = $message->get_id(); $messageAttributes[$id] = $message->get_attributes(array(OBJ_NAME, OBJ_DESC, OBJ_CREATION_TIME, "DOC_LAST_MODIFIED", "DOC_USER_MODIFIED"), 1); $messageAccessWrite[$id] = $message->check_access_write($steamUser, 1); $messageContent[$id] = $message->get_content(1); $messageCreator[$id] = $message->get_creator(1); } } $result = $steam->buffer_flush(); foreach ($messages as $message) { $id = $message->get_id(); $messageAttributes[$id] = $result[$messageAttributes[$id]]; $messageContent[$id] = $result[$messageContent[$id]]; $messageCreator[$id] = $result[$messageCreator[$id]]; $messageCreator[$id]->get_attributes(array(OBJ_NAME), 1); $messageAttributes[$id]["DOC_USER_MODIFIED"]->get_attributes(array(OBJ_NAME), 1); $messageAccessWrite[$id] = $result[$messageAccessWrite[$id]]; } $result = $steam->buffer_flush(); } } //START CHECK RIGHTS OF THE CURRENT USER //$isReplyEditable= $category->get_attribute("bid:forum:is_editable"); //if(trim($isReplyEditable) == "checked"){ // $isReplyEditable=true; //} else{ // $isReplyEditable=false; //} $isForumCreator = false; $isTopicCreator = false; $canAnnotate = $category_allowed_write || $category_allowed_annotate; $canRead = $category_allowed_read; $hasSanctionRights = $category_allowed_sanction; if ($forumCreatorId == $steamUserId) { $isForumCreator = true; $isTopicCreator = true; $canAnnotate = true; $canRead = true; } elseif ($categoryCreatorId == $steamUserId) { $isTopicCreator = true; $canAnnotate = true; $canRead = true; } elseif ($canAnnotate) { $canRead = true; } //END CHECK RIGHTS OF THE CURRENT USER $content = \Forum::getInstance()->loadTemplate("forumShowTopic.template.html"); $addIcon = \Forum::getInstance()->getAssetUrl() . "icons/new.gif"; $editIcon = \Forum::getInstance()->getAssetUrl() . "icons/message_edit.gif"; $deleteIcon = \Forum::getInstance()->getAssetUrl() . "icons/message_delete.gif"; if ($category_allowed_read) { $content->setVariable("FORUM_NAME", $forumAttributes["OBJ_DESC"]); $content->setVariable("CATEGORIE_NAME", $categoryAttributes[OBJ_DESC]); $content->setVariable("FORUM_OWNER", $forumCreator->get_full_name()); $content->setVariable("FORUM_OWNER_URL", PATH_URL . "profile/index/" . $forumCreator->get_name()); $content->setVariable("CATEGORIE_DESCRIPTION", $categoryAttributes["bid:description"]); $content->setVariable("CATEGORIE_CREATOR", $categoryCreator->get_full_name()); $content->setVariable("CATEGORIE_CREATION_TIME", date("j.m.Y G:i", $categoryAttributes['OBJ_CREATION_TIME'])); $content->setVariable("CATEGORIE_CREATOR_URL", PATH_URL . "profile/index/" . $categoryCreator->get_name()); $content->setVariable("CATEGORIE_CONTENT", $categoryContent); if ($canAnnotate) { $popupMenu = new \Widgets\PopupMenu(); $popupMenu->setData($category); $popupMenu->setElementId("overlay_menu"); $popupMenu->setParams(array(array("key" => "forum", "value" => $forumId), array("key" => "category", "value" => $category_id))); $content->setVariable("POPUP_MENU", $popupMenu->getHtml()); $rawHtml->addWidget($popupMenu); } if ($categoryAttributes[OBJ_CREATION_TIME] != $categoryAttributes["DOC_LAST_MODIFIED"]) { if (strlen(trim($categoryContent)) > 0) { $content->setVariable("AUTHOR_EDIT", $categoryAttributes["DOC_USER_MODIFIED"]->get_full_name()); $content->setVariable("TIMESTAMP_EDIT", date("j.m.Y G:i", $categoryAttributes["DOC_LAST_MODIFIED"])); } else { $content->setVariable("AUTHOR_DELETE", $categoryAttributes["DOC_USER_MODIFIED"]->get_full_name()); $content->setVariable("TIMESTAMP_DELETE", date("j.m.Y G:i", $categoryAttributes["DOC_LAST_MODIFIED"])); } } $column_width = 763; if ($category->get_attribute("bid:forum:category:picture_id") !== 0) { $picture_width = $category->get_attribute("bid:forum:category:picture_width") != 0 ? $category->get_attribute("bid:forum:category:picture_width") : ""; if (extract_percentual_length($picture_width) == "") { $bare_picture_width = extract_length($picture_width); if ($bare_picture_width == "") { $picture_width = ""; } else { if ($bare_picture_width > $column_width - 25) { $picture_width = $column_width - 25; } } } $content->setVariable("MESSAGE_PICTURE_URL1", getDownloadUrlForObjectId($category->get_attribute("bid:forum:category:picture_id"))); if ($category->get_attribute("bid:forum:category:picture_alignment") !== "none") { $content->setVariable("MESSAGE_PICTURE_ALIGNMENT1", $category->get_attribute("bid:forum:category:picture_alignment")); } else { $content->setVariable("MESSAGE_PICTURE_ALIGNMENT1", ""); } $content->setVariable("MESSAGE_PICTURE_WIDTH1", $picture_width); } if (is_array($messages) && isset($messages)) { if (count($messages) > 0) { $content->setVariable("EXISTS_REPLY", "Antworten"); } foreach ($messages as $message) { $id = $message->get_id(); $content->setCurrentBlock("message"); $content->setVariable("MESSAGE_CONTENT", $messageContent[$id]); $content->setVariable("MESSAGE_CREATOR", $messageCreator[$id]->get_full_name()); $content->setVariable("MESSAGE_CREATOR_PROFILE", PATH_URL . "profile/index/" . $messageCreator[$id]->get_name()); $content->setVariable("MESSAGE_CREATION_TIME", date("j.m.Y G:i", $messageAttributes[$id][OBJ_CREATION_TIME])); $content->setVariable("MESSAGE_NAME", $messageAttributes[$id][OBJ_DESC]); $content->setVariable("MES_ID", "message_" . $id); if ($messageAttributes[$id][OBJ_CREATION_TIME] != $messageAttributes[$id]["DOC_LAST_MODIFIED"]) { if (strlen(trim($messageContent[$id])) > 0) { $content->setVariable("AUTHOR_MES_EDIT", $messageAttributes[$id]["DOC_USER_MODIFIED"]->get_full_name()); $content->setVariable("TIMESTAMP_MES_EDIT", date("j.m.Y G:i", $messageAttributes[$id]["DOC_LAST_MODIFIED"])); } else { $content->setVariable("AUTHOR_MES_DELETE", $messageAttributes[$id]["DOC_USER_MODIFIED"]->get_full_name()); $content->setVariable("TIMESTAMP_MES_DELETE", date("j.m.Y G:i", $messageAttributes[$id]["DOC_LAST_MODIFIED"])); } } if ($canAnnotate) { $popupMenu2 = new \Widgets\PopupMenu(); $popupMenu2->setData($message); $popupMenu2->setElementId("overlay_menu2"); $popupMenu2->setParams(array(array("key" => "forum", "value" => $forumId), array("key" => "category", "value" => $category_id))); $content->setVariable("POPUP_MENU2", $popupMenu2->getHtml()); $rawHtml->addWidget($popupMenu2); } if ($message->get_attribute("bid:forum:category:picture_id") !== 0) { $content->setCurrentBlock("BLOCK_MESSAGE_PICTURE"); $picture_width = $message->get_attribute("bid:forum:category:picture_width") != "0" ? trim($message->get_attribute("bid:forum:category:picture_width")) : ""; if (extract_percentual_length($picture_width) == "") { $bare_picture_width = extract_length($picture_width); if ($bare_picture_width == "") { $picture_width = ""; } else { if ($bare_picture_width > $column_width - 25) { $picture_width = $column_width - 25; } } } $content->setVariable("MESSAGE_PICTURE_URL", getDownloadUrlForObjectId($message->get_attribute("bid:forum:category:picture_id"))); if ($message->get_attribute("bid:forum:category:picture_alignment") !== "none") { $content->setVariable("MESSAGE_PICTURE_ALIGNMENT", $message->get_attribute("bid:forum:category:picture_alignment")); } else { $content->setVariable("MESSAGE_PICTURE_ALIGNMENT", ""); } $content->setVariable("MESSAGE_PICTURE_WIDTH", $picture_width); } $content->parse("message"); } } } else { $content->setVariable("NO_ACCESS", "Sie haben keine Berechtigung diesen Inhalt zu betrachten!\n\t\t\tBitte wenden Sie sich an die Forumsverwaltung!"); } $rawHtml->setHtml($content->get()); $actions = array(); if ($canAnnotate) { $actions[] = array("name" => "Antworten", "ajax" => array("onclick" => array("command" => "newReply", "params" => array("id" => $this->id, "forum" => $forumId), "requestType" => "popup"))); } if ($isForumCreator) { //$actions[] = array("name" => "Eigenschaften", "ajax"=>array("onclick"=>array("command"=>"EditTopic", "params"=>array("id"=>$this->id ,"forum" => $forumId), "requestType"=>"popup"))); } //if($category->check_access(SANCTION_SANCTION,$steamUser)){ //if($isForumCreator || $hasSanctionRights){ // $actions[] = array("name"=>"Rechte", "ajax"=>array("onclick"=>array("command"=>"Sanctions", "params"=>array("id"=>$this->id) , "requestType"=>"popup", "namespace"=>"explorer"))); //} $frameResponseObject->setTitle("Forum - " . $forumAttributes["OBJ_DESC"] . " - Thema - " . $categoryAttributes["OBJ_DESC"] . " "); $parent = $forum->get_environment(); if ($parent instanceof \steam_container) { $parentLink = PATH_URL . "explorer/Index/" . $parent->get_id(); } else { $parentLink = ""; } $title = $categoryAttributes[OBJ_DESC]; // $breadcrumb = new \Widgets\Breadcrumb(); // $breadcrumb->setData(array($parentLink, array("name" => "<img src=\"".PATH_URL."explorer/asset/icons/mimetype/".deriveIcon(\Explorer::getInstance())."\"></img> " . $title . " " . \Explorer\Model\Sanction::getMarkerHtml(\Explorer::getInstance(), false)))); $actionbar = new \Widgets\ActionBar(); $actionbar->setActions($actions); // $explorerId=$forum->get_environment()->get_id(); //$frameResponseObject->setHeadline(array(array("name" =>"Zurück zu ". $forumAttributes["OBJ_DESC"], "link" => PATH_URL ."forum/index/". $forumId))); $widget = new \Widgets\RawHtml(); $html = '<div id="backToForum">Zurück zu '; $html1 = '<a href="' . PATH_URL . "forum/index/" . $forumId . '">'; $html2 = $forum->get_name() . '</a></div>'; $widget->setHtml($html . $html1 . $html2); $frameResponseObject->addWidget($widget); $frameResponseObject->addWidget($actionbar); $frameResponseObject->addWidget($rawHtml); return $frameResponseObject; }
public function processData(\IRequestObject $requestObject) { $objectId = $requestObject->getId(); $portlet = $portletObject = \steam_factory::get_object($GLOBALS["STEAM"]->get_id(), $objectId); $params = $requestObject->getParams(); //icon $referIcon = \Portal::getInstance()->getAssetUrl() . "icons/refer_white.png"; //reference handling if (isset($params["referenced"]) && $params["referenced"] == true) { $portletIsReference = true; $referenceId = $params["referenceId"]; } else { $portletIsReference = false; } $this->getExtension()->addCSS(); $this->getExtension()->addJS(); $portletName = $portlet->get_attribute(OBJ_DESC); //hack include_once PATH_BASE . "koala-core/lib/bid/slashes.php"; //get content of portlet $content = $portlet->get_attribute("bid:portlet:content"); if (is_array($content) && count($content) > 0) { array_walk($content, "_stripslashes"); } else { $content = array(); } $portletInstance = \PortletMsg::getInstance(); $portletPath = $portletInstance->getExtensionPath(); $UBB = new \UBBCode(); include_once PATH_BASE . "koala-core/lib/bid/derive_url.php"; $portletFileName = $portletPath . "/ui/html/index.html"; $tmpl = new \HTML_TEMPLATE_IT(); $tmpl->loadTemplateFile($portletFileName); $tmpl->setVariable("PORTLET_ID", $portlet->get_id()); //headline $tmpl->setCurrentBlock("BLOCK_MESSAGE_HEADLINE"); $tmpl->setVariable("HEADLINE", $portletName); //refernce icon if ($portletIsReference) { $tmpl->setVariable("REFERENCE_ICON", "<img src='{$referIcon}'>"); } if (!$portletIsReference) { $popupmenu = new \Widgets\PopupMenu(); $popupmenu->setData($portlet); $popupmenu->setNamespace("PortletMsg"); $popupmenu->setElementId("portal-overlay"); $popupmenu->setParams(array(array("key" => "portletObjectId", "value" => $portlet->get_id()))); $popupmenu->setCommand("GetPopupMenuHeadline"); $tmpl->setVariable("POPUPMENU_HEADLINE", $popupmenu->getHtml()); } else { $popupmenu = new \Widgets\PopupMenu(); $popupmenu->setData($portlet); $popupmenu->setNamespace("Portal"); $popupmenu->setElementId("portal-overlay"); $popupmenu->setParams(array(array("key" => "sourceObjectId", "value" => $portlet->get_id()), array("key" => "linkObjectId", "value" => $referenceId))); $popupmenu->setCommand("PortletGetPopupMenuReference"); $tmpl->setVariable("POPUPMENU_HEADLINE", $popupmenu->getHtml()); } //show empty headline in edit mode if (trim($portletName) == "") { $tmpl->setVariable("HEADLINE_CLASS", "headline editbutton"); } else { $tmpl->setVariable("HEADLINE_CLASS", "headline"); } $tmpl->parse("BLOCK_MESSAGE_HEADLINE"); if (sizeof($content) > 0) { /* * Convert old messages which save its content as UBB code to new messages * using a html representation */ $convertUBB = false; $version = $portlet->get_attribute("bid:portlet:version"); /* if(!$version){ $convertUBB = true; require_once("name.php"); $portlet->set_attribute("bid:portlet:version", $msg_version); } */ $separator = false; foreach ($content as $messageId) { $tmpl->setCurrentBlock("BLOCK_MESSAGE"); $message = \steam_factory::get_object($GLOBALS["STEAM"]->get_id(), $messageId); $message->get_attributes(array("OBJ_DESC", "bid:portlet:msg:picture_id", "bid:portlet:msg:picture_alignment", "bid:portlet:msg:link_url", "bid:portlet:msg:link_url_label", "bid:portlet:msg:link_open")); //popupmenu $popupmenu = new \Widgets\PopupMenu(); $popupmenu->setData($message); $popupmenu->setNamespace("PortletMsg"); $popupmenu->setElementId("portal-overlay"); $popupmenu->setParams(array(array("key" => "messageObjectId", "value" => $messageId), array("key" => "portletObjectId", "value" => $portlet->get_id()))); $popupmenu->setCommand("GetPopupMenuMessage"); if (!$portletIsReference) { $tmpl->setVariable("POPUPMENU_MESSAGE", $popupmenu->getHtml()); } /* * Convert old messages which save its content as UBB code to new messages * using a html representation */ if ($convertUBB) { $message->set_content($UBB->encode($message->get_content())); } $tmpl->setVariable("MESSAGE_PICTURE", ""); $tmpl->setVariable("MESSAGE_LINK", ""); $tmpl->setVariable("MESSAGE_HEADLINE", $UBB->encode($message->get_attribute("OBJ_NAME"))); if ($UBB->encode($message->get_attribute("OBJ_DESC")) != "") { $tmpl->setVariable("MESSAGE_SUBHEADLINE", $UBB->encode($message->get_attribute("OBJ_DESC"))); } $tmpl->setVariable("MESSAGE_CONTENT", $message->get_content()); //get column width $columnObject = $portletObject->get_environment(); $column_width = $columnObject->get_attribute("bid:portal:column:width"); //PICTURE // parse in picture if it exists if ($message->get_attribute("bid:portlet:msg:picture_id") != "") { $tmpl->setCurrentBlock("BLOCK_MESSAGE_PICTURE"); $picture_width = $message->get_attribute("bid:portlet:msg:picture_width") != "" ? trim($message->get_attribute("bid:portlet:msg:picture_width")) : ""; if (extract_percentual_length($picture_width) == "") { $bare_picture_width = extract_length($picture_width); if ($bare_picture_width == "") { $picture_width = ""; } else { if ($bare_picture_width > $column_width - 25) { $picture_width = $column_width - 25; } } } $tmpl->setVariable("MESSAGE_PICTURE_ID", $message->get_attribute("bid:portlet:msg:picture_id")); //not used anymore $tmpl->setVariable("MESSAGE_PICTURE_URL", getDownloadUrlForObjectId($message->get_attribute("bid:portlet:msg:picture_id"))); $tmpl->setVariable("MESSAGE_PICTURE_ALIGNMENT", $message->get_attribute("bid:portlet:msg:picture_alignment")); $tmpl->setVariable("MESSAGE_PICTURE_WIDTH", $picture_width); $tmpl->parse("BLOCK_MESSAGE_PICTURE"); } //LINK //parse in link if it exists if (trim($message->get_attribute("bid:portlet:msg:link_url")) != "") { $tmpl->setCurrentBlock("BLOCK_MESSAGE_LINK"); if (trim($message->get_attribute("bid:portlet:msg:link_open")) != "checked") { $tmpl->setVariable("MESSAGE_LINK_URL_LABEL", $message->get_attribute("bid:portlet:msg:link_url_label") !== "" ? $UBB->encode($message->get_attribute("bid:portlet:msg:link_url_label")) : $message->get_attribute("bid:portlet:msg:link_url")); $tmpl->setVariable("MESSAGE_LINK_URL", revealPath($message->get_attribute("bid:portlet:msg:link_url"), $message->get_path())); $tmpl->setVariable("MESSAGE_LINK_TARGET", "_top"); } else { $tmpl->setVariable("MESSAGE_LINK_URL_LABEL", $message->get_attribute("bid:portlet:msg:link_url_label") !== "" ? $UBB->encode($message->get_attribute("bid:portlet:msg:link_url_label")) : $message->get_attribute("bid:portlet:msg:link_url")); $tmpl->setVariable("MESSAGE_LINK_URL", revealPath($message->get_attribute("bid:portlet:msg:link_url"), $message->get_path())); $tmpl->setVariable("MESSAGE_LINK_TARGET", "_blank"); } $tmpl->parse("BLOCK_MESSAGE_LINK"); } //SEPARATOR if ($separator) { $tmpl->setCurrentBlock("BLOCK_SEPARATOR"); $tmpl->parse("BLOCK_SEPARATOR"); } $separator = true; $tmpl->parse("BLOCK_MESSAGE"); } } else { //NO MESSAGE $tmpl->setCurrentBlock("BLOCK_NO_MESSAGE"); $tmpl->setVariable("NO_MESSAGE_INFO", "Keine Nachrichten vorhanden."); $tmpl->parse("BLOCK_NO_MESSAGE"); } $tmpl->setVariable("PATH_URL", PATH_URL); $tmpl->parse("BLOCK_PORTLET_MESSAGE"); $htmlBody = $tmpl->get(); $this->content = $htmlBody; //widgets $outputWidget = new \Widgets\RawHtml(); $outputWidget->addWidget(new \Widgets\PopupMenu()); $outputWidget->setHtml($htmlBody); $this->rawHtmlWidget = $outputWidget; }
public function processData(\IRequestObject $requestObject) { $objectId = $requestObject->getId(); $portletInstance = \PortletPoll::getInstance(); $portletPath = $portletInstance->getExtensionPath(); //icon $referIcon = \Portal::getInstance()->getAssetUrl() . "icons/refer_white.png"; //reference handling $params = $requestObject->getParams(); if (isset($params["referenced"]) && $params["referenced"] == true) { $portletIsReference = true; $referenceId = $params["referenceId"]; } else { $portletIsReference = false; } $portlet = $portletObject = \steam_factory::get_object($GLOBALS["STEAM"]->get_id(), $objectId); $portletName = $portlet->get_attribute(OBJ_DESC); $this->getExtension()->addCSS(); $this->getExtension()->addJS(); //hack include_once PATH_BASE . "/koala-core/lib/bid/slashes.php"; //get content of portlet $content = $portlet->get_attribute("bid:portlet:content"); if (is_array($content) && count($content) > 0) { array_walk($content, "_stripslashes"); } else { $content = array(); } $UBB = new \UBBCode(); include_once PATH_BASE . "koala-core/lib/bid/derive_url.php"; $portletFileName = $portletPath . "/ui/html/index.html"; $tmpl = new \HTML_TEMPLATE_IT(); $tmpl->loadTemplateFile($portletFileName); if (sizeof($content) > 0) { //popupmenu if (!$portletIsReference && $portlet->check_access_write($GLOBALS["STEAM"]->get_current_steam_user())) { $popupmenu = new \Widgets\PopupMenu(); $popupmenu->setData($portlet); $popupmenu->setNamespace("PortletPoll"); $popupmenu->setElementId("portal-overlay"); $tmpl->setVariable("POPUPMENU", $popupmenu->getHtml()); } if ($portletIsReference && $portlet->check_access_write($GLOBALS["STEAM"]->get_current_steam_user())) { $popupmenu = new \Widgets\PopupMenu(); $popupmenu->setData($portlet); $popupmenu->setNamespace("Portal"); $popupmenu->setElementId("portal-overlay"); $popupmenu->setParams(array(array("key" => "sourceObjectId", "value" => $portlet->get_id()), array("key" => "linkObjectId", "value" => $referenceId))); $popupmenu->setCommand("PortletGetPopupMenuReference"); $tmpl->setVariable("POPUPMENU", $popupmenu->getHtml()); } $startDate = $content["start_date"]; $end_date = $content["end_date"]; if (time() > mktime(0, 0, 0, $startDate["month"], $startDate["day"], $startDate["year"]) && time() < mktime(24, 0, 0, $end_date["month"], $end_date["day"], $end_date["year"])) { $pollActive = true; } else { $pollActive = false; } $options = $content["options"]; $options_votecount = $content["options_votecount"]; $max_votecount = 1; foreach ($options_votecount as $option_votecount) { if ($option_votecount > $max_votecount) { $max_votecount = $option_votecount; } } $tmpl->setVariable("PORTLET_ID", $portlet->get_id()); $tmpl->setVariable("POLL_NAME", $portletName); //refernce icon if ($portletIsReference) { $tmpl->setVariable("REFERENCE_ICON", "<img src='{$referIcon}'>"); } $tmpl->setVariable("POLL_TOPIC", $content["poll_topic"]); if ($pollActive) { $i = 0; foreach ($options as $option) { if ($option != "") { $tmpl->setCurrentBlock("choice"); $tmpl->setVariable("OPTION", $option); $tmpl->setVariable("OPTION_NUMBER", $i); //create command params $tmpl->setVariable("portletObjectId", $portlet->get_id()); $tmpl->setVariable("voteItemId", $i); $tmpl->parse("choice"); } $i++; } } else { $i = 0; foreach ($options as $option) { $tmpl->setCurrentBlock("BLOCK_VOTE_RESULT"); if ($option != "") { $tmpl->setVariable("OPTION", $option); $tmpl->setVariable("OPTION_VOTECOUNT", $options_votecount[$i]); $tmpl->setVariable("OPTION_NUMBER", $i); $tmpl->setVariable("PATH_COLOR", PATH_URL); $percentage = $options_votecount[$i] / $max_votecount * 100; $percentage = round($percentage); if ($percentage < 1) { $percentage = 1; } $tmpl->setVariable("WIDTH", $percentage); $tmpl->parse("BLOCK_VOTE_RESULT"); } $i++; } } // we show the edit button only if the user has write access to the portal // because all portal readers need write access in order to vote $portalCol = $portlet->get_environment(); $portal = $portalCol->get_environment(); if ($portal->check_access_write($GLOBALS["STEAM"]->get_current_steam_user())) { $tmpl->setCurrentBlock("BLOCK_EDIT_BUTTON"); $tmpl->setVariable("PORTLET_ID_EDIT", $portlet->get_id()); $tmpl->parse("BLOCK_EDIT_BUTTON"); } } $htmlBody = $tmpl->get(); $this->content = $htmlBody; //widgets $outputWidget = new \Widgets\RawHtml(); //popummenu $outputWidget->addWidget(new \Widgets\PopupMenu()); $outputWidget->setHtml($htmlBody); $this->rawHtmlWidget = $outputWidget; }
public function getHtmlForObjectId(\FrameResponseObject $frameResponseObject) { $rawHtml = new \Widgets\RawHtml(); $objectId = $this->id; if (isset($this->params[1])) { $from = $this->params[1]; } else { $from = 0; } $steam = $GLOBALS["STEAM"]->get_id(); $currentRoom = \steam_factory::get_object($steam, $objectId); $this->object = $currentRoom; $currentRoomPath = $currentRoom->get_path(1); $currentRoomData = $currentRoom->get_attributes(array(OBJ_NAME, OBJ_DESC), 1); $steamUser = $GLOBALS["STEAM"]->get_current_steam_user(); $steamUserId = $steamUser->get_id(); //check if user may write in this folder $writeAllowed = $currentRoom->check_access_write($steamUser, 1); //get inventory and inventorys attributes if allowed to $allowed = $currentRoom->check_access_read($steamUser, 1); $result = $GLOBALS["STEAM"]->buffer_flush(); $writeAllowed = $result[$writeAllowed]; $allowed = $result[$allowed]; $currentRoomPath = $result[$currentRoomPath]; $currentRoomData = $result[$currentRoomData]; $currentRoomDisplayName = str_replace("'s workarea", "", stripslashes($currentRoomData[OBJ_NAME])); if (isset($currentRoomData[OBJ_DESC]) && $currentRoomData[OBJ_DESC] != "") { $currentRoomDisplayName = $currentRoomData[OBJ_DESC]; } $currentRoomDisplayName = str_replace("s workroom.", "", $currentRoomDisplayName); $numberOfThumbs = 10; //forces a stable navigation structure $from -= $from % $numberOfThumbs; //navigation commands $picCount = sizeof($currentRoom->get_inventory()); $to = $from + ($numberOfThumbs - 1); if ($from >= $picCount) { $from = $picCount - 1 - ($picCount - 1) % $numberOfThumbs; } if ($to >= $picCount) { $to = $picCount - 1; } if ($allowed && $currentRoom instanceof \steam_container) { if ($from >= 0 && $to >= $numberOfThumbs - 1) { $inventory = $currentRoom->get_inventory_paged($from, $to); } else { $inventory = $currentRoom->get_inventory_paged(0, $numberOfThumbs - 1); } } else { $inventory = array(); } //$contentJS = $this->loadTemplate("overlay.template.js"); //add css // \Gallery::getInstance()->addCSS(); //add js // \Gallery::getInstance()->addJS(); //\lms_portal::get_instance()->add_javascript_src("JQuery", PATH_URL . "gallery/js/jquery.min.js"); // \lms_portal::get_instance()->add_javascript_src("JQuery", PATH_URL . "gallery/js/jquery.colorbox.js"); // \lms_portal::get_instance()->add_javascript_src("JQuery", PATH_URL . "gallery/js/colorbox.control.js"); //TODO: overlay.template.js not working - overlay to start gallery missing //$this->addJS("overlay.template.js"); $tpl = \Gallery::getInstance()->loadTemplate("gallery.template.html"); //$tpl= new \HTML_TEMPLATE_IT(); //$tpl->loadTemplateFile(\Gallery::getInstance()->getExtensionPath()."ui/html/gallery.template.html"); $tpl->setVariable("IMAGEURL", \Gallery::getInstance()->getAssetUrl() . "image/round_green_play_button_4044.jpg"); $tpl->setVariable("FROM", max($from + 1, 1)); $tpl->setVariable("TO", min($to + 1, $picCount)); $tpl->setVariable("PIC_COUNT", $picCount); $pagemin = $from - $numberOfThumbs; $pagemin = max($pagemin, 0); //Navigation $backlink = "<a href=\"" . PATH_URL . "gallery/index/" . $objectId . "/" . $pagemin . "\" class=\"pagingleft\"><img alt=\"Zurück\" title=\"Zurück\" src=\"" . \Gallery::getInstance()->getAssetUrl() . "/icons/top_seq_prev_on.gif\"></a>"; if ($from == 0) { $backlink = "<a href=\"\" class=\"pagingleft\"><img alt=\"Zurück\" title=\"Zurück\" src=\"" . \Gallery::getInstance()->getAssetUrl() . "/icons/top_seq_prev_off.gif\"></a>"; $tpl->setVariable("BACKLINK", $backlink); } else { $tpl->setVariable("BACKLINK", $backlink); } $pagemax = min($to, $picCount - 1); $forwardlink = "<a href=\"" . PATH_URL . "gallery/index/" . $objectId . "/" . ($pagemax + 1) . "\" class=\"pagingleft\"><img alt=\"Zurück\" title=\"Zurück\" src=\"" . \Gallery::getInstance()->getAssetUrl() . "/icons/top_seq_next_on.gif\"></a>"; if ($to >= $picCount - 1) { $forwardlink = "<a href=\"\" class=\"pagingright\"><img alt=\"Vor\" title=\"Vor\" src=\"" . \Gallery::getInstance()->getAssetUrl() . "/icons/top_seq_next_off.gif\">"; $tpl->setVariable("FORWARDLINK", $forwardlink); } else { $tpl->setVariable("FORWARDLINK", $forwardlink); } //Rights foreach ($inventory as $item) { $tnr[$item->get_id()] = array(); $tnr[$item->get_id()]["creator"] = $item->get_creator(1); $tnr[$item->get_id()]["item_write_access"] = $item->check_access_write($GLOBALS["STEAM"]->get_current_steam_user(), 1); $tnr[$item->get_id()]["item_read_access"] = $item->check_access_read($GLOBALS["STEAM"]->get_current_steam_user(), 1); } $result = $GLOBALS["STEAM"]->buffer_flush(); $creators = array(); $itemWriteAccess = array(); $itemReadAccess = array(); foreach ($inventory as $item) { $creators[$item->get_id()] = $result[$tnr[$item->get_id()]["creator"]]; $itemWriteAccess[$item->get_id()] = $result[$tnr[$item->get_id()]["item_write_access"]]; $itemReadAccess[$item->get_id()] = $result[$tnr[$item->get_id()]["item_read_access"]]; } \steam_factory::load_attributes($steam, $inventory, array(OBJ_NAME, OBJ_DESC, OBJ_KEYWORDS, DOC_MIME_TYPE, "bid:description")); // If you want to use further Methods of caching e.g. PHP PEARs Cache_Lite // insert caching mechanisms in here... // below this, the steam connector is no longer used... $undisplayedPicCount = 0; //GET RIGHTS $sanction = $currentRoom->get_sanction(); $attrib = $this->object->get_attributes(array(OBJ_NAME, OBJ_DESC, "bid:doctype")); $bid_doctype = isset($attrib["bid:doctype"]) ? $attrib["bid:doctype"] : ""; $docTypeQuestionary = strcmp($attrib["bid:doctype"], "questionary") == 0; $docTypeMessageBoard = $this->object instanceof \steam_messageboard; // in questionaries the write right is limited to insert rights only if ($docTypeQuestionary) { $SANCTION_WRITE_FOR_CURRENT_OBJECT = SANCTION_INSERT; } else { if ($docTypeMessageBoard) { $SANCTION_WRITE_FOR_CURRENT_OBJECT = SANCTION_ANNOTATE; } else { $SANCTION_WRITE_FOR_CURRENT_OBJECT = SANCTION_WRITE | SANCTION_EXECUTE | SANCTION_MOVE | SANCTION_INSERT | SANCTION_ANNOTATE; } } $sanctionFlag = false; if (isset($sanction[$steamUserId])) { if ($sanction[$steamUserId] >= $SANCTION_WRITE_FOR_CURRENT_OBJECT) { $sanctionFlag = true; } } $env = $currentRoom->get_environment(); if ($env instanceof \steam_room) { $envSanction = $env->get_sanction(); if (isset($envSanction[$steamUserId])) { if ($envSanction[$steamUserId] >= $SANCTION_WRITE_FOR_CURRENT_OBJECT) { $sanctionFlag = true; } } } $currentRoomCreater = $currentRoom->get_creator(); $currentRoomCreaterId = $currentRoomCreater->get_id(); if ($currentRoomCreaterId == $steamUserId) { $sanctionFlag = true; } for ($i = 0; $i < count($inventory); $i++) { $tpl->setCurrentBlock("ITEM"); $item = $inventory[$i]; if ($sanctionFlag) { $tpl->setVariable("REMOVE_ICON", \Gallery::getInstance()->getAssetUrl() . "icons/trash.png"); $tpl->setVariable("ITEM_PATH_URL2", PATH_URL); $tpl->setVariable("ITEM_THUMBNAIL_ID2", $item->get_id()); } $tpl->setVariable("FULLSCREEN_ICON", \Gallery::getInstance()->getAssetUrl() . "icons/image_fullscreen.png"); $tpl->setVariable("SAVE_ICON", \Gallery::getInstance()->getAssetUrl() . "icons/image_save.png"); $tpl->setVariable("EDIT_ICON", \Gallery::getInstance()->getAssetUrl() . "icons/image_properties.gif"); $popupMenu = new \Widgets\PopupMenu(); $popupMenu->setData($item); $popupMenu->setElementId("gallery-overlay"); $tpl->setVariable("POPUP_MENU", $popupMenu->getHtml()); $rawHtml->addWidget($popupMenu); // Skip image if rights are insufficient if (!$itemReadAccess[$item->get_id()]) { $undisplayedPicCount++; continue; } $itemName = $item->get_attribute(OBJ_NAME); $itemDescription = $item->get_attribute(OBJ_DESC); $itemKeywords = implode(", ", $item->get_attribute(OBJ_KEYWORDS)); $itemMimetype = $item->get_attribute(DOC_MIME_TYPE); //set Item $tpl->setVariable("OBJECT_ID", $item->get_id()); $tpl->setVariable("OBJECT_NAME", $itemName); $tpl->setVariable("OBJECT_DESC", $itemDescription); $tpl->setVariable("OBJECT_KEYWORDS", $itemKeywords); // render a steam_document if ($item instanceof \steam_document) { //care for documents not to be displayed in the browser if ($itemMimetype === "image/gif" || $itemMimetype === "image/jpg" || $itemMimetype === "image/jpeg" || $itemMimetype === "image/png") { $tpl->setVariable("ITEM_PATH_URL", PATH_URL); $tpl->setVariable("ITEM_THUMBNAIL_ID", $item->get_id()); $tpl->setVariable("ITEM_BIGTHUMB_ID", $item->get_id()); if ($i - $undisplayedPicCount == 0) { $tpl->setVariable("FIRST_GALLERY_ID", $item->get_id()); } $tpl->parse("ITEM"); } } } //set invisible items for colorbox for ($i = 0; $i < count($inventory); $i++) { $tpl->setCurrentBlock("INV"); $item = $inventory[$i]; // Skip image if rights are insufficient if (!$itemReadAccess[$item->get_id()]) { $undisplayedPicCount++; continue; } $itemName = $item->get_attribute(OBJ_NAME); $itemDescription = $item->get_attribute(OBJ_DESC); $itemKeywords = implode(", ", $item->get_attribute(OBJ_KEYWORDS)); $itemMimetype = $item->get_attribute(DOC_MIME_TYPE); // set display name $objectDisplayName = $itemName; if ($itemDescription === 0) { $itemDescription = ""; } $tpl->setVariable("OBJECT_NAME", $objectDisplayName); $tpl->setVariable("OBJECT_DESC", $itemDescription); // render a steam_document if ($item instanceof \steam_document) { //care for documents not to be displayed in the browser if ($itemMimetype === "image/gif" || $itemMimetype === "image/jpg" || $itemMimetype === "image/jpeg" || $itemMimetype === "image/png") { $tpl->setVariable("ITEM_PATH_URL", PATH_URL); $tpl->setVariable("ITEM_THUMBNAIL_ID", $item->get_id()); $tpl->parse("INV"); } } } $actionBar = new \Widgets\ActionBar(); $actionBar->setActions(array(array("name" => "Neues Bild", "ajax" => array("onclick" => array("command" => "Addpicture", "params" => array("id" => $this->id), "requestType" => "popup"))), array("name" => "Eigenschaften", "ajax" => array("onclick" => array("command" => "Properties", "params" => array("id" => $this->id), "requestType" => "popup", "namespace" => "explorer"))), array("name" => "Rechte", "ajax" => array("onclick" => array("command" => "Sanctions", "params" => array("id" => $this->id), "requestType" => "popup", "namespace" => "explorer"))))); $css = self::auslesen(PATH_URL . "gallery/css/style.css"); $js = self::auslesen(PATH_URL . "gallery/js/code.js"); $rawHtml->setCss($css); $rawHtml->setJs($js); $rawHtml->setHtml($tpl->get()); if ($sanctionFlag) { $frameResponseObject->addWidget($actionBar); } $frameResponseObject->addWidget($rawHtml); return $frameResponseObject; }