示例#1
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);
 }
示例#2
0
 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;
                     }
                 }
             }
         }
     }
 }
示例#4
0
 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;
 }
示例#5
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;
                             }
                         }
                     }
                 }
             }
         }
     }
 }
示例#6
0
 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;
     }
 }
示例#7
0
 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;
 }
示例#8
0
 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;
 }
示例#9
0
 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;
 }
示例#10
0
 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;
                             }
                         }
                     }
                 }
             }
         }
     }
 }
示例#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) {
                         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;
                         }
                     }
                 }
             }
         }
     }
 }
示例#12
0
 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;
 }
示例#13
0
 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;
 }
示例#14
0
 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;
 }
示例#15
0
 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&uuml;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;
 }