public function frameResponse(\FrameResponseObject $frameResponseObject) { $actionBar = new \Widgets\ActionBar(); $this->getExtension()->addJS(); $actionBar->setActions(array(array("name" => \Portfolio::getInstance()->getText("newArtefacts"), "ajax" => array("onclick" => array("command" => "newArtefactForm", "namespace" => "portfolio", "params" => "", "requestType" => "popup"))))); // array("name" => "Bild anfügen<img src=\"{$editIcon}\">", "command" => "EditMessageImage", "namespace" => "forum", "params" => "{'messageObjectId':'{$this->id}','forum':'{$forumId}'}", "type" => "popup"); $breadcrumb = new \Widgets\Breadcrumb(); $breadcrumb->setData(array(array("name" => \Portfolio::getInstance()->getText("Manage Artefacts")))); $tabBar = new \Widgets\TabBar(); $tabBar->setTabs(array(array("name" => \Portfolio::getInstance()->getText("Dashboard"), "link" => $this->getextension()->getExtensionUrl() . "/"), array("name" => \Portfolio::getInstance()->getText("Competences"), "link" => $this->getExtension()->getExtensionUrl() . "ViewChart/"), array("name" => \Portfolio::getInstance()->getText("Artefacts"), "link" => $this->getExtension()->getExtensionUrl() . "ManageArtefacts/"))); $tabBar->setActiveTab(2); $clearer = new \Widgets\Clearer(); $loader = new \Widgets\Loader(); $loader->setWrapperId("artefactsWrapper"); $loader->setMessage("loading artefacts ..."); $loader->setCommand("loadArtefacts"); $loader->setParams($this->params); $loader->setElementId("artefactsWrapper"); $loader->setType("updater"); $frameResponseObject->setTitle("Manage Artefacts"); $frameResponseObject->addWidget($actionBar); $frameResponseObject->addWidget($breadcrumb); $frameResponseObject->addWidget($tabBar); $frameResponseObject->addWidget($clearer); $frameResponseObject->addWidget($loader); //$frameResponseObject->addWidget($rawHtml); return $frameResponseObject; }
public function frameResponse(\FrameResponseObject $frameResponseObject) { $actionBar = new \Widgets\ActionBar(); $actionBar->setActions(array(array("name" => \Portfolio::getInstance()->getText("new"), "ajax" => array("onclick" => array("command" => "newArtefact", "params" => array(), "requestType" => "popup"))))); $breadcrumb = new \Widgets\Breadcrumb(); $breadcrumb->setData(array(array("name" => \Portfolio::getInstance()->getText("Manage Portfolios")))); $tabBar = new \Widgets\TabBar(); $tabBar->setTabs(array(array("name" => \Portfolio::getInstance()->getText("Dashboard"), "link" => $this->getextension()->getExtensionUrl() . "/"), array("name" => \Portfolio::getInstance()->getText("Portfolio"), "link" => $this->getExtension()->getExtensionUrl() . "MyPortfolio/"), array("name" => \Portfolio::getInstance()->getText("Shared Portfolios"), "link" => $this->getExtension()->getExtensionUrl() . "SharedProfiles/"))); $tabBar->setActiveTab(1); $clearer = new \Widgets\Clearer(); $loader = new \Widgets\Loader(); $loader->setWrapperId("portfoliosWrapper"); $loader->setMessage("loading portfolios ..."); $loader->setCommand("loadPortfolios"); $loader->setParams(array()); $loader->setElementId("portfoliosWrapper"); $loader->setType("updater"); $frameResponseObject->setTitle("Manage Portfolios"); $frameResponseObject->addWidget($actionBar); $frameResponseObject->addWidget($breadcrumb); $frameResponseObject->addWidget($tabBar); $frameResponseObject->addWidget($clearer); $frameResponseObject->addWidget($loader); //$frameResponseObject->addWidget($rawHtml); return $frameResponseObject; }
public function frameResponse(\FrameResponseObject $frameResponseObject) { $portfolio = \PortfolioModel::getById($this->portfolioId); $actionBar = new \Widgets\ActionBar(); $actionBar->setActions(array(array("link" => "javascript:history.back()", "name" => "zurück"), array("name" => \Portfolio::getInstance()->getText("new"), "ajax" => array("onclick" => array("command" => "newArtefact", "params" => array(), "requestType" => "popup"))))); $breadcrumb = new \Widgets\Breadcrumb(); $breadcrumb->setData(array(array("name" => \Portfolio::getInstance()->getText("Belege des Portfolios »" . $portfolio->getName() . "«")))); $tabBar = new \Widgets\TabBar(); $tabBar->setTabs(array(array("name" => \Portfolio::getInstance()->getText("Dashboard"), "link" => $this->getextension()->getExtensionUrl() . "/"), array("name" => \Portfolio::getInstance()->getText("Portfolio"), "link" => $this->getExtension()->getExtensionUrl() . "MyPortfolio/"), array("name" => \Portfolio::getInstance()->getText("Shared Portfolios"), "link" => $this->getExtension()->getExtensionUrl() . "SharedProfiles/"))); $tabBar->setActiveTab(1); $clearer = new \Widgets\Clearer(); $loader = new \Widgets\Loader(); $loader->setWrapperId("artefactsWrapper"); $loader->setMessage("loading artefacts ..."); $loader->setCommand("loadArtefacts"); $loader->setParams(array(0 => $this->portfolioId)); $loader->setElementId("artefactsWrapper"); $loader->setType("updater"); $frameResponseObject->setTitle("Belege verwalten"); $frameResponseObject->addWidget($actionBar); $frameResponseObject->addWidget($breadcrumb); $frameResponseObject->addWidget($tabBar); $frameResponseObject->addWidget($clearer); $frameResponseObject->addWidget($loader); //$frameResponseObject->addWidget($rawHtml); return $frameResponseObject; }
public function frameResponse(\FrameResponseObject $frameResponseObject) { $actionBar = new \Widgets\ActionBar(); $actionBar->setActions(array(array("name" => \Portfolio::getInstance()->getText("Profile"), "link" => $this->getExtension()->getExtensionUrl() . "profile/"), array("name" => gettext("Groups"), "link" => $this->getExtension()->getExtensionUrl() . "groups/"), array("name" => gettext("File Uploads"), "link" => $this->getExtension()->getExtensionUrl() . "Fileupload/"), array("name" => gettext("Blogs"), "link" => $this->getExtension()->getExtensionUrl() . "Blog/"))); $breadcrumb = new \Widgets\Breadcrumb(); $breadcrumb->setData(array(array("name" => \Portfolio::getInstance()->getText("Portfolio/"), "link" => $this->getExtension()->getExtensionUrl() . "Myportfolio/"), array("name" => gettext("Blog")))); $tabBar = new \Widgets\TabBar(); $tabBar->setTabs(array(array("name" => \Portfolio::getInstance()->getText("Dashboard"), "link" => $this->getextension()->getExtensionUrl() . "/"), array("name" => gettext("Portfolio"), "link" => $this->getExtension()->getExtensionUrl() . "myportfolio/"), array("name" => gettext("Shared Portfolios"), "link" => $this->getExtension()->getExtensionUrl() . "SharedProfiles/"))); $clearer = new \Widgets\Clearer(); $input = new \Widgets\TextInput(); $grid = new \Widgets\Grid(); $grid->setData(array("headline" => array(array("name" => \Portfolio::getInstance()->getText("BLOG Number"), "colspan" => "2")), "rows" => array(array(array("content" => \Portfolio::getInstance()->getText("Blog Name:"), "type" => "label"), array("content" => $input, "type" => "value")), array(array("content" => \Portfolio::getInstance()->getText("Body"), "type" => "label"), array("content" => $input, "type" => "value"))))); $actionBar2 = new \Widgets\ActionBar(); $actionBar2->setActions(array(array("name" => \Portfolio::getInstance()->getText("Attach Files"), "link" => $this->getExtension()->getExtensionUrl() . ""), array("name" => gettext("Save"), "link" => $this->getExtension()->getExtensionUrl() . ""))); $html = <<<end \t <style type="text/css"> </style> <div class="actionBar"> \t<a href="../Editview/"class="button">File Uploads</a> \t \t<a href="" class="button">Blog</a> \t </div> <div class="headline"> \t<h1>User's Blog </h1> </div> <ul class="tabBar"> <li class="tabIn"><a href="./..">Dashboard</a></li> <li class="tabIn"><a href="../profile/">Profile</a></li> <li class="tabOut"><a href="">Portfolio</a></li> <li class="tabIn"><a href="../groups/">Groups</a></li> <li style="clear: left;"> </li></ul> <br> <table class="grid" cellspacing="0" cellpadding="5" width="100%"> \t <tr> \t\t\t<th class="group" colspan="2">Blog...(NUMBER)</th> \t </tr> \t <tr> <td class="label">Title</td> \t<td class="value"> \t\t<input type="text" value="blogs_title" disabled="" size="30" > </td> <tr> <td class="label">Body</td> <td class="value"> <textarea wrap="virtual" rows="10" style="width: 95%;" name="values[USER_PROFILE_DSC]"></textarea> <br> <a class="textformat_button" title="boldface" href="javascript:insert('[b]', '[/b]', 'formular', 'values[USER_PROFILE_DSC]')"> <b>B</b> </a> <a class="textformat_button" title="italic" href="javascript:insert('[i]', '[/i]', 'formular', 'values[USER_PROFILE_DSC]')"> <i>I</i> </a> <a class="textformat_button" title="underline" href="javascript:insert('[u]', '[/u]', 'formular', 'values[USER_PROFILE_DSC]')"> <u>U</u> </a> <a class="textformat_button" title="strikethrough" style="text-decoration: line-through;" href="javascript:insert('[s]', '[/s]', 'formular', 'values[USER_PROFILE_DSC]')">S</a> <a class="textformat_button" title="image" href="javascript:insert('[img]http://', '[/img]', 'formular', 'values[USER_PROFILE_DSC]')">IMG</a> <a class="textformat_button" title="web link" href="javascript:insert('[url=http://]', '[/url]', 'formular', 'values[USER_PROFILE_DSC]')">URL</a> <a class="textformat_button" title="email link" href="javascript:insert('[mail=@]', '[/mail]', 'formular', 'values[USER_PROFILE_DSC]')">MAIL</a> </td> </tr> \t \t</td> \t</tr> \t </table> \t <div class="actionBar"> \t<a href=""class="button">Attach Files</a> \t<a href=""class="button">Connect Web</a> </div> <div class="buttons"> <a class="button">Save</a> </div> end; $frameResponseObject->setTitle("Blog"); $rawHtml = new \Widgets\RawHtml(); $rawHtml->setHtml($html); //$frameResponseObject->addWidget($actionBar); $frameResponseObject->addWidget($breadcrumb); //$frameResponseObject->addWidget($tabBar); $frameResponseObject->addWidget($clearer); $frameResponseObject->addWidget($grid); $frameResponseObject->addWidget($actionBar2); //$frameResponseObject->addWidget($content); //$frameResponseObject->addWidget($rawHtml); return $frameResponseObject; }
public function frameResponse(\FrameResponseObject $frameResponseObject) { $TCR = \steam_factory::get_object($GLOBALS["STEAM"]->get_id(), $this->id); $user = $GLOBALS["STEAM"]->get_current_steam_user(); $TCRExtension = \TCR::getInstance(); $TCRExtension->addCSS(); // determine kind of documents of the current user to display (0 = theses, 1 = reviews, 2 = responses) $kindOfDocument = 0; if (isset($this->params[1])) { $kindOfDocument = $this->params[1]; } // release document dialog was submitted if ($_SERVER["REQUEST_METHOD"] == "POST" && isset($_POST["release_element"])) { $element = \steam_factory::get_object($GLOBALS["STEAM"]->get_id(), $_POST["element_id"]); if ($_POST["kind"] == 0) { $critics = array(); $critics[$_POST["critic"]] = 0; $element->set_attribute("TCR_REVIEWS", $critics); $element->set_attribute("TCR_RELEASED", time()); } else { $element->set_attribute("TCR_RELEASED", time()); } } // edit document dialog was submitted if ($_SERVER["REQUEST_METHOD"] == "POST" && isset($_POST["edit_element"])) { $old_element = \steam_factory::get_object($GLOBALS["STEAM"]->get_id(), $_POST["old_id"]); // old element was plain text if ($old_element->get_attribute("DOC_MIME_TYPE") == "text/plain") { // new element is plain text if ($_POST["new_upload_text"] == 0) { $old_element->set_name($_POST["title"]); $old_element->set_attribute("OBJ_DESC", $_POST["desc"]); $old_element->set_content($_POST["content"]); // new element is an upload } else { $old_element->delete(); $radio = 1; } // old element was an upload } else { // new element is the same if ($_POST["new_upload"] == 0) { $old_element->set_name($_POST["title"]); $old_element->set_attribute("OBJ_DESC", $_POST["desc"]); // new element is a new upload } else { if ($_POST["new_upload"] == 1) { $old_element->delete(); $radio = 1; // new element is plain text } else { $old_element->set_attribute("DOC_MIME_TYPE", "text/plain"); $old_element->set_name($_POST["title"]); $old_element->set_attribute("OBJ_DESC", $_POST["desc"]); $old_element->set_content($_POST["new_content"]); } } } } // if a new element got created or already existing element gets a new upload if ($_SERVER["REQUEST_METHOD"] == "POST" && isset($_POST["create_element"]) || isset($radio)) { $problems = ""; $hints = ""; if (!isset($radio)) { $radio = $_POST["radio"]; } if ($radio == 1) { // handle upload require_once PATH_LIB . "format_handling.inc.php"; $max_file_size = parse_filesize(ini_get('upload_max_filesize')); $max_post_size = parse_filesize(ini_get('post_max_size')); if ($max_post_size > 0 && $max_post_size < $max_file_size) { $max_file_size = $max_post_size; } if (empty($_FILES) || !empty($_FILES["file"]["error"]) && $_FILES["file"]["error"] > 0) { if (!empty($_FILES) && empty($_FILES["file"]["name"])) { $problems = gettext("No file chosen.") . " "; $hints = gettext("Please choose a local file to upload.") . " "; } else { $problems = gettext("Could not upload document.") . " "; $hints = str_replace(array("%SIZE", "%TIME"), array(readable_filesize($max_file_size), (string) ini_get('max_execution_time')), gettext("Maybe your document exceeded the allowed file size (max. %SIZE) or the upload might have taken too long (max. %TIME seconds).")) . " "; } } if (empty($problems)) { $content = file_get_contents($_FILES["file"]["tmp_name"]); $type = $_FILES["file"]["type"]; } } else { $content = $_POST["content"]; $type = "text/plain"; } if ($_POST["kind"] == 0) { $container = \steam_factory::get_object_by_name($GLOBALS["STEAM"]->get_id(), $TCR->get_path() . "/theses"); } else { if ($_POST["kind"] == 1) { $container = \steam_factory::get_object_by_name($GLOBALS["STEAM"]->get_id(), $TCR->get_path() . "/reviews"); } else { $container = \steam_factory::get_object_by_name($GLOBALS["STEAM"]->get_id(), $TCR->get_path() . "/responses"); } } $title = $_POST["title"]; $desc = $_POST["desc"]; if (empty($problems)) { $new_element = \steam_factory::create_document($GLOBALS["STEAM"]->get_id(), $title, $content, $type, $container, $desc); if ($_POST["kind"] == 0) { $new_element->set_attribute("TCR_ROUND", $_POST["round"]); $new_element->set_attribute("TCR_REVIEWS", array()); $new_element->set_attribute("TCR_RELEASED", 0); } else { if ($_POST["kind"] == 1) { $new_element->set_attribute("TCR_RELEASED", 0); $correspondingThesis = \steam_factory::get_object($GLOBALS["STEAM"]->get_id(), $_POST["elementID"]); $critics_thesis = $correspondingThesis->get_attribute("TCR_REVIEWS"); $critics_thesis[$user->get_id()] = $new_element->get_id(); $correspondingThesis->set_attribute("TCR_REVIEWS", $critics_thesis); } else { $new_element->set_attribute("TCR_RELEASED", 0); $correspondingReview = \steam_factory::get_object($GLOBALS["STEAM"]->get_id(), $_POST["elementID"]); $correspondingReview->set_attribute("TCR_RESPONSE", $new_element->get_id()); } } } else { $frameResponseObject->setProblemDescription($problems); $frameResponseObject->setProblemSolution($hints); } } // display actionbar $actionbar = new \Widgets\Actionbar(); $admins = $TCR->get_attribute("TCR_ADMINS"); if (in_array($user->get_id(), $admins)) { $actions = array(array("name" => "Konfiguration", "link" => $TCRExtension->getExtensionUrl() . "configuration/" . $this->id), array("name" => "Private Dokumente", "link" => $TCRExtension->getExtensionUrl() . "privateDocuments/" . $this->id), array("name" => "Übersicht", "link" => $TCRExtension->getExtensionUrl() . "Index/" . $this->id), array("name" => "Alle Dokumente", "link" => $TCRExtension->getExtensionUrl() . "documents/" . $this->id)); } else { $actions = array(array("name" => "Private Dokumente", "link" => $TCRExtension->getExtensionUrl() . "privateDocuments/" . $this->id), array("name" => "Übersicht", "link" => $TCRExtension->getExtensionUrl() . "Index/" . $this->id), array("name" => "Alle Dokumente", "link" => $TCRExtension->getExtensionUrl() . "documents/" . $this->id)); } $actionbar->setActions($actions); $frameResponseObject->addWidget($actionbar); $group = $TCR->get_attribute("TCR_GROUP"); if ($group->get_name() == "learners") { $parent = $group->get_parent_group(); $courseOrGroup = "Kurs: " . $parent->get_attribute("OBJ_DESC") . " (" . $parent->get_name() . ")"; $courseOrGroupUrl = PATH_URL . "semester/" . $parent->get_id(); } else { $courseOrGroup = "Gruppe: " . $group->get_name(); $courseOrGroupUrl = PATH_URL . "groups/" . $group->get_id(); } $content = $TCRExtension->loadTemplate("tcr_privatedocuments.template.html"); // display a message if current user is not a user of this tcr $members = $TCR->get_attribute("TCR_USERS"); if (!in_array($user->get_id(), $members)) { $content->setCurrentBlock("BLOCK_DOCUMENTS_TABLE"); $content->setVariable("DISPLAY_TABLE", "none"); $content->setVariable("NOT_USER", "Sie sind nicht als Teilnehmer dieses Thesen-Kritik-Replik-Verfahrens eingetragen. Wenden Sie sich an einen Administrator."); $content->parse("BLOCK_DOCUMENTS_TABLE"); $rawWidget = new \Widgets\RawHtml(); $rawWidget->setHtml($content->get()); $frameResponseObject->addWidget($rawWidget); $frameResponseObject->setHeadline(array(array("name" => $courseOrGroup, "link" => $courseOrGroupUrl), array("name" => "Thesen-Kritik-Replik-Verfahren", "link" => $TCRExtension->getExtensionUrl() . "Index/" . $this->id), array("name" => "Private Dokumente"))); return $frameResponseObject; } // display tabbar $tabBar = new \Widgets\TabBar(); $tabBar->setTabs(array(array("name" => "Thesen", "link" => $TCRExtension->getExtensionUrl() . "privateDocuments/" . $this->id), array("name" => "Kritiken", "link" => $TCRExtension->getExtensionUrl() . "privateDocuments/" . $this->id . "/1"), array("name" => "Repliken", "link" => $TCRExtension->getExtensionUrl() . "privateDocuments/" . $this->id . "/2"))); $tabBar->setActiveTab($kindOfDocument); $frameResponseObject->addWidget($tabBar); // create array structure and add theses for their round $rounds = $TCR->get_attribute("TCR_ROUNDS"); $theses_container = \steam_factory::get_object_by_name($GLOBALS["STEAM"]->get_id(), $TCR->get_path() . "/theses"); $theses_inventory = $theses_container->get_inventory(); $theses = array(); $theses_response = array(); foreach ($theses_inventory as $thesis) { $current_round = $thesis->get_attribute("TCR_ROUND"); if ($thesis->get_creator()->get_id() == $user->get_id()) { $theses[$current_round] = $thesis; } $critics = $thesis->get_attribute("TCR_REVIEWS"); if (is_array($critics)) { if (array_key_exists($user->get_id(), $critics)) { $theses_response[$current_round] = $thesis; } } } // display private documents table $content->setCurrentBlock("BLOCK_DOCUMENTS_TABLE"); if ($kindOfDocument == 0 || $kindOfDocument == 2) { $content->setVariable("THESES_LABEL", "Erstellte Thesen"); $content->setVariable("REVIEWS_LABEL", "Erhaltene Kritiken"); $content->setVariable("RESPONSES_LABEL", "Erstellte Repliken"); if ($kindOfDocument == 0) { // thesis view for ($count = 1; $count <= $rounds; $count++) { $content->setCurrentBlock("BLOCK_DOCUMENTS_TABLE_ELEMENT"); $content->setVariable("ROUND_VALUE", "Runde " . $count); if (!array_key_exists($count, $theses)) { $content->setVariable("CREATE_THESIS", "These erstellen"); $content->setVariable("THESIS_ICON", "create_32"); $content->setVariable("THESIS_URL", $TCRExtension->getExtensionUrl() . "create/" . $this->id . "/" . $count . "/" . $kindOfDocument); $content->setVariable("DISPLAY_THESIS_SECOND", "none"); $content->setVariable("DISPLAY_REVIEW", "none"); $content->setVariable("DISPLAY_RESPONSE", "none"); } else { $current_critics = $theses[$count]->get_attribute("TCR_REVIEWS"); if (count($current_critics) > 0) { $content->setVariable("CREATE_THESIS", "Anzeigen"); $content->setVariable("THESIS_ICON", "view_32"); $content->setVariable("THESIS_URL", $TCRExtension->getExtensionUrl() . "release/" . $theses[$count]->get_id()); $content->setVariable("DISPLAY_THESIS_SECOND", "none"); foreach ($current_critics as $critic => $review) { if ($review == 0) { $content->setVariable("DISPLAY_REVIEW", "none"); $content->setVariable("DISPLAY_RESPONSE", "none"); $review_released = 0; } else { $current_review = \steam_factory::get_object($GLOBALS["STEAM"]->get_id(), $review); $review_released = $current_review->get_attribute("TCR_RELEASED"); } if ($review_released != 0) { $content->setVariable("CREATE_REVIEW", "Anzeigen"); $content->setVariable("REVIEW_ICON", "view_32"); $content->setVariable("REVIEW_URL", $TCRExtension->getExtensionUrl() . "release/" . $current_review->get_id()); $content->setVariable("DISPLAY_REVIEW_SECOND", "none"); $responseID = $current_review->get_attribute("TCR_RESPONSE"); if ($responseID == 0) { $response_released = 0; } else { $response_element = \steam_factory::get_object($GLOBALS["STEAM"]->get_id(), $responseID); $response_released = $response_element->get_attribute("TCR_RELEASED"); } if ($response_released == 0) { $content->setVariable("DISPLAY_RESPONSE", "none"); } else { $content->setVariable("CREATE_RESPONSE", "Anzeigen"); $content->setVariable("RESPONSE_ICON", "view_32"); $content->setVariable("RESPONSE_URL", $TCRExtension->getExtensionUrl() . "release/" . $response_element->get_id()); $content->setVariable("DISPLAY_RESPONSE_SECOND", "none"); } } else { $content->setVariable("DISPLAY_REVIEW", "none"); $content->setVariable("DISPLAY_RESPONSE", "none"); } } } else { $content->setVariable("CREATE_THESIS", "Anzeigen / Bearbeiten"); $content->setVariable("THESIS_ICON", "view_32"); $content->setVariable("THESIS_URL", $TCRExtension->getExtensionUrl() . "edit/" . $theses[$count]->get_id()); $content->setVariable("THESIS_ICON2", "release_32"); $content->setVariable("THESIS_URL2", $TCRExtension->getExtensionUrl() . "release/" . $theses[$count]->get_id()); $content->setVariable("RELEASE_THESIS", "Veröffentlichen"); $content->setVariable("DISPLAY_REVIEW", "none"); $content->setVariable("DISPLAY_RESPONSE", "none"); } } $content->setVariable("ASSETURL", $TCRExtension->getAssetUrl()); $content->parse("BLOCK_DOCUMENTS_TABLE_ELEMENT"); } // response view } else { for ($count = 1; $count <= $rounds; $count++) { $content->setCurrentBlock("BLOCK_DOCUMENTS_TABLE_ELEMENT"); $content->setVariable("ROUND_VALUE", "Runde " . $count); if (!array_key_exists($count, $theses)) { $content->setVariable("DISPLAY_THESIS", "none"); $content->setVariable("DISPLAY_REVIEW", "none"); $content->setVariable("DISPLAY_RESPONSE", "none"); } else { $current_critics = $theses[$count]->get_attribute("TCR_REVIEWS"); if (count($current_critics) > 0) { $content->setVariable("CREATE_THESIS", "Anzeigen"); $content->setVariable("THESIS_ICON", "view_32"); $content->setVariable("THESIS_URL", $TCRExtension->getExtensionUrl() . "release/" . $theses[$count]->get_id()); $content->setVariable("DISPLAY_THESIS_SECOND", "none"); foreach ($current_critics as $critic => $review) { if ($review == 0) { $review_released = 0; } else { $current_review = \steam_factory::get_object($GLOBALS["STEAM"]->get_id(), $review); $review_released = $current_review->get_attribute("TCR_RELEASED"); } if ($review_released != 0) { $content->setVariable("CREATE_REVIEW", "Anzeigen"); $content->setVariable("REVIEW_ICON", "view_32"); $content->setVariable("REVIEW_URL", $TCRExtension->getExtensionUrl() . "release/" . $current_review->get_id()); $content->setVariable("DISPLAY_REVIEW_SECOND", "none"); $responseID = $current_review->get_attribute("TCR_RESPONSE"); if ($responseID == 0) { $content->setVariable("CREATE_RESPONSE", "Replik erstellen"); $content->setVariable("RESPONSE_ICON", "create_32"); $content->setVariable("RESPONSE_URL", $TCRExtension->getExtensionUrl() . "create/" . $this->id . "/" . $count . "/" . $kindOfDocument . "/" . $current_review->get_id()); $content->setVariable("DISPLAY_RESPONSE_SECOND", "none"); } else { $response_element = \steam_factory::get_object($GLOBALS["STEAM"]->get_id(), $responseID); $response_released = $response_element->get_attribute("TCR_RELEASED"); if ($response_released == 0) { $content->setVariable("CREATE_RESPONSE", "Anzeigen / Bearbeiten"); $content->setVariable("RESPONSE_ICON", "view_32"); $content->setVariable("RESPONSE_URL", $TCRExtension->getExtensionUrl() . "edit/" . $response_element->get_id()); $content->setVariable("RESPONSE_ICON2", "release_32"); $content->setVariable("RESPONSE_URL2", $TCRExtension->getExtensionUrl() . "release/" . $response_element->get_id()); $content->setVariable("RELEASE_RESPONSE", "Veröffentlichen"); } else { $content->setVariable("CREATE_RESPONSE", "Anzeigen"); $content->setVariable("RESPONSE_ICON", "view_32"); $content->setVariable("RESPONSE_URL", $TCRExtension->getExtensionUrl() . "release/" . $response_element->get_id()); $content->setVariable("DISPLAY_RESPONSE_SECOND", "none"); } } } else { $content->setVariable("DISPLAY_REVIEW", "none"); $content->setVariable("DISPLAY_RESPONSE", "none"); } } } else { $content->setVariable("DISPLAY_THESIS", "none"); $content->setVariable("DISPLAY_REVIEW", "none"); $content->setVariable("DISPLAY_RESPONSE", "none"); } } $content->setVariable("ASSETURL", $TCRExtension->getAssetUrl()); $content->parse("BLOCK_DOCUMENTS_TABLE_ELEMENT"); } } // review view } else { $content->setVariable("THESES_LABEL", "Erhaltene Thesen"); $content->setVariable("REVIEWS_LABEL", "Erstellte Kritiken"); $content->setVariable("RESPONSES_LABEL", "Erhaltene Repliken"); for ($count = 1; $count <= $rounds; $count++) { $content->setCurrentBlock("BLOCK_DOCUMENTS_TABLE_ELEMENT"); $content->setVariable("ROUND_VALUE", "Runde " . $count); if (!array_key_exists($count, $theses_response)) { $content->setVariable("DISPLAY_THESIS", "none"); $content->setVariable("DISPLAY_REVIEW", "none"); $content->setVariable("DISPLAY_RESPONSE", "none"); } else { $content->setVariable("CREATE_THESIS", "Anzeigen"); $content->setVariable("THESIS_ICON", "view_32"); $content->setVariable("THESIS_URL", $TCRExtension->getExtensionUrl() . "release/" . $theses_response[$count]->get_id()); $content->setVariable("DISPLAY_THESIS_SECOND", "none"); $critics_array = $theses_response[$count]->get_attribute("TCR_REVIEWS"); if ($critics_array[$user->get_id()] == 0) { $content->setVariable("CREATE_REVIEW", "Kritik erstellen"); $content->setVariable("REVIEW_ICON", "create_32"); $content->setVariable("REVIEW_URL", $TCRExtension->getExtensionUrl() . "create/" . $this->id . "/" . $count . "/" . $kindOfDocument . "/" . $theses_response[$count]->get_id()); $content->setVariable("DISPLAY_REVIEW_SECOND", "none"); $content->setVariable("DISPLAY_RESPONSE", "none"); $content->setVariable("DISPLAY_RESPONSE_SECOND", "none"); } else { $review = \steam_factory::get_object($GLOBALS["STEAM"]->get_id(), $critics_array[$user->get_id()]); $released = $review->get_attribute("TCR_RELEASED"); if ($released == 0) { $content->setVariable("CREATE_REVIEW", "Anzeigen / Bearbeiten"); $content->setVariable("REVIEW_ICON", "view_32"); $content->setVariable("REVIEW_URL", $TCRExtension->getExtensionUrl() . "edit/" . $review->get_id()); $content->setVariable("REVIEW_ICON2", "release_32"); $content->setVariable("REVIEW_URL2", $TCRExtension->getExtensionUrl() . "release/" . $review->get_id()); $content->setVariable("RELEASE_REVIEW", "Veröffentlichen"); $content->setVariable("DISPLAY_RESPONSE", "none"); } else { $content->setVariable("CREATE_REVIEW", "Anzeigen"); $content->setVariable("REVIEW_ICON", "view_32"); $content->setVariable("REVIEW_URL", $TCRExtension->getExtensionUrl() . "release/" . $review->get_id()); $content->setVariable("DISPLAY_REVIEW_SECOND", "none"); $responseID = $review->get_attribute("TCR_RESPONSE"); if ($responseID == 0) { $response_released = 0; } else { $response_element = \steam_factory::get_object($GLOBALS["STEAM"]->get_id(), $responseID); $response_released = $response_element->get_attribute("TCR_RELEASED"); } if ($response_released == 0) { $content->setVariable("DISPLAY_RESPONSE", "none"); } else { $content->setVariable("CREATE_RESPONSE", "Anzeigen"); $content->setVariable("RESPONSE_ICON", "view_32"); $content->setVariable("RESPONSE_URL", $TCRExtension->getExtensionUrl() . "release/" . $response_element->get_id()); $content->setVariable("DISPLAY_RESPONSE_SECOND", "none"); } } } } $content->setVariable("ASSETURL", $TCRExtension->getAssetUrl()); $content->parse("BLOCK_DOCUMENTS_TABLE_ELEMENT"); } } $content->parse("BLOCK_DOCUMENTS_TABLE"); $rawWidget = new \Widgets\RawHtml(); $rawWidget->setHtml($content->get()); $frameResponseObject->addWidget($rawWidget); $frameResponseObject->setHeadline(array(array("name" => $courseOrGroup, "link" => $courseOrGroupUrl), array("name" => "Thesen-Kritik-Replik-Verfahren", "link" => $TCRExtension->getExtensionUrl() . "Index/" . $this->id), array("name" => "Private Dokumente"))); return $frameResponseObject; }
public function frameResponse(\FrameResponseObject $frameResponseObject) { $actionBar = new \Widgets\ActionBar(); $actionBar->setActions(array(array("name" => \Portfolio::getInstance()->getText("new artefact"), "ajax" => array("onclick" => array("command" => "newElement", "params" => array("newElement" => "newElement"), "requestType" => "popup"))), array("name" => \Portfolio::getInstance()->getText("new portfolio"), "ajax" => array("onclick" => array("command" => "NewArtefactForm", "params" => array(), "requestType" => "popup"))))); $breadcrumb = new \Widgets\Breadcrumb(); $breadcrumb->setData(array(array("name" => \Portfolio::getInstance()->getText("Meine Portfolios")))); $tabBar = new \Widgets\TabBar(); $tabBar->setTabs(array(array("name" => \Portfolio::getInstance()->getText("Dashboard"), "link" => $this->getextension()->getExtensionUrl() . "/"), array("name" => gettext("Portfolio"), "link" => $this->getExtension()->getExtensionUrl() . "myportfolio/"), array("name" => \Portfolio::getInstance()->getText("Shared Portfolios"), "link" => $this->getExtension()->getExtensionUrl() . "SharedProfiles/"))); $tabBar->setActiveTab(1); $clearer = new \Widgets\Clearer(); $globalArtefacsBox = new \Widgets\Box(); $globalArtefacsBox->setTitle("Alle Belege"); $globalArtefacsBox->setTitleLink($this->getextension()->getExtensionUrl() . "ManageArtefacts/"); $globalArtefacsBox->setContent(count(\Artefacts::getAllArtefacts())); /* $artefactsLoader = new \Widgets\Loader(); $artefactsLoader->setWrapperId("artefactsWrapper"); $artefactsLoader->setMessage("loading artefacts ..."); $artefactsLoader->setCommand("loadArtefacts"); $artefactsLoader->setParams(array()); $artefactsLoader->setElementId("artefactsWrapper"); $artefactsLoader->setType("updater"); */ $frameResponseObject->setTitle("Portfolio"); $frameResponseObject->addWidget($actionBar); $frameResponseObject->addWidget($breadcrumb); $frameResponseObject->addWidget($tabBar); $frameResponseObject->addWidget($clearer); $frameResponseObject->addWidget($globalArtefacsBox); $frameResponseObject->addWidget($clearer); $portfolios = \PortfolioModel::getMyPortfolios(); foreach ($portfolios as $key => $portfolio) { $loader = new \Widgets\Loader(); $loader->setWrapperId("portfolioWrapper" . $key); $loader->setMessage("loading portfolio infos..."); $loader->setCommand("loadPortfolio"); $loader->setParams(array($portfolio->getId())); $loader->setElementId("portfolioWrapper" . $key); $loader->setType("updater"); $frameResponseObject->addWidget($loader); } //$frameResponseObject->addWidget($rawHtml); return $frameResponseObject; /* $actionBar = new \Widgets\ActionBar(); $actionBar->setActions(array(array("name"=>gettext("Profile"), "link"=>$this->getExtension()->getExtensionUrl() . "profile/"), array("name"=>gettext("Groups"), "link"=>$this->getExtension()->getExtensionUrl() . "groups/"), array("name"=>gettext("File Uploads"), "link"=>$this->getExtension()->getExtensionUrl()."Fileupload/"),array("name"=>gettext("Blogs"), "link"=>$this->getExtension()->getExtensionUrl() . "Blog/"))); $breadcrumb = new \Widgets\Breadcrumb(); $breadcrumb->setData(array(array("name"=>gettext("My Views")))); $tabBar = new \Widgets\TabBar(); $tabBar->setTabs(array(array("name"=>gettext("Dashboard"), "link"=>$this->getextension()->getExtensionUrl()."/"), array("name"=>gettext("Portfolio"), "link"=>$this->getExtension()->getExtensionUrl() . "myportfolio/"), array("name"=>gettext("Shared Portfolios"), "link"=>$this->getExtension()->getExtensionUrl() . "SharedProfiles/"))); $tabBar->setActiveTab(1); $clearer = new \Widgets\Clearer(); $boxManage = new \Widgets\PortfolioViewBox(); $boxManage->setTitle(gettext("Manage Artefacts")); $boxManage->setTitleLink($this->getExtension()->getExtensionUrl() . "ManageArtefacts/"); $boxManage->setContent("this view helps in uploading and managing of desired artefacts"); //$boxManage->setButtons(array(array("name"=>"Edit", "link"=>$this->getextension()->getExtensionUrl()."ManageArtefacts/"), array("name"=>"Manage Acess", "link"=>''))); $boxDiscuss = new \Widgets\PortfolioViewBox(); $boxDiscuss->setTitle(gettext("Discuss View")); $boxDiscuss->setTitleLink($this->getextension()->getExtensionUrl()."ViewChart/"); $boxDiscuss->setContent("Discuss view shows what other have commeted about ur artefacts.if needed this content can be edited"); $boxDiscuss->setButtons(array(array("name"=>"Edit", "link"=>"#"), array("name"=>"Manage Acess", "link"=>$this->getextension()->getExtensionUrl()."ManageArtefacts/"))); $boxcompetence = new \Widgets\PortfolioViewBox(); $boxcompetence->setTitle(gettext("Competence View")); $boxcompetence->setTitleLink($this->getextension()->getExtensionUrl()."ViewCompetence/"); $boxcompetence->setContent(" Competence view shows the grading of artifacts on the basis of comments given by friends and other group members"); $boxcompetence->setButtons(array(array("name"=>"Edit", "link"=>"#"), array("name"=>"Manage Acess", "link"=>"#"))); $frameResponseObject->setTitle("Groups"); $rawHtml = new \Widgets\RawHtml(); $rawHtml->setHtml($html); $frameResponseObject->addWidget($actionBar); $frameResponseObject->addWidget($breadcrumb); $frameResponseObject->addWidget($tabBar); $frameResponseObject->addWidget($clearer); $frameResponseObject->addWidget($boxManage); $frameResponseObject->addWidget($boxDiscuss); $frameResponseObject->addWidget($boxcompetence); //$frameResponseObject->addWidget($rawHtml); return $frameResponseObject; */ }
public function frameResponse(\FrameResponseObject $frameResponseObject) { $workplanExtension = \Workplan::getInstance(); $workplanExtension->addJS(); $user = $GLOBALS["STEAM"]->get_current_steam_user(); $portal = \lms_portal::get_instance(); $newWorkplan = FALSE; if ($_SERVER["REQUEST_METHOD"] == "POST" && isset($_POST["new_workplan"])) { $newWorkplan = TRUE; $values = $_POST["values"]; $workplanContainer = \steam_factory::create_room($GLOBALS["STEAM"]->get_id(), $values["name"], $user->get_workroom()); $workplanContainer->set_attribute("OBJ_TYPE", "WORKPLAN_CONTAINER"); $xml = new \SimpleXMLElement("<workplan></workplan>"); $xml->addAttribute("name", $values["name"]); $start = $values["start"]; $start = mktime(0, 0, 0, substr($start, 3, 2), substr($start, 0, 2), substr($start, 6, 4)); $workplanContainer->set_attribute("WORKPLAN_START", $start); $xml->addAttribute("start", $start); if (!empty($values["end"])) { $end = $values["end"]; $end = mktime(0, 0, 0, substr($end, 3, 2), substr($end, 0, 2), substr($end, 6, 4)); $workplanContainer->set_attribute("WORKPLAN_END", $end); $xml->addAttribute("end", $end); } else { $workplanContainer->set_attribute("WORKPLAN_END", -1); $xml->addAttribute("end", -1); } if (!empty($values["description"])) { $workplanContainer->set_attribute("WORKPLAN_DESCRIPTION", $values["description"]); $xml->addAttribute("description", $values["description"]); } else { $workplanContainer->set_attribute("WORKPLAN_DESCRIPTION", ""); $xml->addAttribute("description", ""); } \steam_factory::create_document($GLOBALS["STEAM"]->get_id(), "version.xml", $xml->saveXML(), "text/xml", $workplanContainer); $portal->set_confirmation("Projektplan " . $values["name"] . " erfolgreich erstellt."); } if (!$newWorkplan) { $workplanContainer = \steam_factory::get_object($GLOBALS["STEAM"]->get_id(), $this->params[0]); } if (is_object($workplanContainer) && $workplanContainer instanceof \steam_room) { $content = $workplanExtension->loadTemplate("workplan_overview.template.html"); if (!$newWorkplan) { $content->setCurrentBlock("BLOCK_CONFIRMATION"); $content->setVariable("CONFIRMATION_TEXT", "NONE"); $content->parse("BLOCK_CONFIRMATION"); } // if current user has required rights display actionbar if ($workplanContainer->get_creator()->get_id() == $user->get_id() || in_array("WORKPLAN_" . $user->get_id() . "_LEADER", $workplanContainer->get_attribute_names())) { $content->setCurrentBlock("BLOCK_WORKPLAN_OVERVIEW_ACTIONBAR"); $content->setVariable("LABEL_CHANGE", "Eigenschaften bearbeiten"); $content->setVariable("LABEL_SNAPSHOT", "Snapshot erstellen"); $content->setVariable("WORKPLAN_ID", $workplanContainer->get_id()); if ($workplanContainer->get_creator()->get_id() == $user->get_id()) { $content->setVariable("WORKPLAN_RIGHTS_CHANGE", ""); } else { $content->setVariable("WORKPLAN_RIGHTS_CHANGE", "none"); } $content->parse("BLOCK_WORKPLAN_OVERVIEW_ACTIONBAR"); } $actionBar = new \Widgets\RawHtml(); $actionBar->setHtml($content->get()); $frameResponseObject->addWidget($actionBar); $tabBar = new \Widgets\TabBar(); $tabBar->setTabs(array(array("name" => "Überblick", "link" => $this->getExtension()->getExtensionUrl() . "overview/" . $workplanContainer->get_id()), array("name" => "Tabelle", "link" => $this->getExtension()->getExtensionUrl() . "listView/" . $workplanContainer->get_id()), array("name" => "Gantt-Diagramm", "link" => $this->getExtension()->getExtensionUrl() . "ganttView/" . $workplanContainer->get_id()), array("name" => "Mitarbeiter", "link" => $this->getExtension()->getExtensionUrl() . "users/" . $workplanContainer->get_id()), array("name" => "Snapshots", "link" => $this->getExtension()->getExtensionUrl() . "snapshots/" . $workplanContainer->get_id()))); $tabBar->setActiveTab(0); $frameResponseObject->addWidget($tabBar); $content = $workplanExtension->loadTemplate("workplan_overview.template.html"); if (isset($_POST["edit"])) { $edit = $_POST["edit"]; } else { $edit = 0; } // if the user clicked on the edit symbol in Index-Command-View display edit view if ($edit == 1) { $content->setCurrentBlock("BLOCK_WORKPLAN_OVERVIEW_TABLE_EDIT"); $content->setVariable("WORKPLAN_OVERVIEW_EDIT", "Eigenschaften bearbeiten"); $content->setVariable("NAME_LABEL", "Projektname:*"); $content->setVariable("START_LABEL", "Beginn:*"); $content->setVariable("END_LABEL", "Ende:"); $content->setVariable("CREATOR_LABEL", "Projektersteller:"); $content->setVariable("DESCRIPTION_LABEL", "Beschreibung:"); $content->setVariable("NAME_VALUE", $workplanContainer->get_name()); $content->setVariable("START_VALUE", date("d.m.Y", (int) $workplanContainer->get_attribute("WORKPLAN_START"))); $content->setVariable("CREATOR_VALUE", $workplanContainer->get_creator()->get_full_name()); if ($workplanContainer->get_attribute("WORKPLAN_END") != -1) { $content->setVariable("END_VALUE", date("d.m.Y", (int) $workplanContainer->get_attribute("WORKPLAN_END"))); } if (in_array("WORKPLAN_DESCRIPTION", $workplanContainer->get_attribute_names())) { $content->setVariable("DESCRIPTION_VALUE", $workplanContainer->get_attribute("WORKPLAN_DESCRIPTION")); } $content->setVariable("LABEL_SAVE", "Speichern"); $content->setVariable("LABEL_BACK", "Abbrechen"); $content->setVariable("WORKPLAN_ID", $workplanContainer->get_id()); $content->parse("BLOCK_WORKPLAN_OVERVIEW_TABLE_EDIT"); // else display normal view } else { $content->setCurrentBlock("BLOCK_WORKPLAN_OVERVIEW_TABLE"); $content->setVariable("WORKPLAN_OVERVIEW_ATTRIBUTE", "Eigenschaft"); $content->setVariable("WORKPLAN_OVERVIEW_VALUE", "Wert"); $content->setVariable("NAME_LABEL", "Projektname"); $content->setVariable("START_LABEL", "Beginn"); $content->setVariable("END_LABEL", "Ende"); $content->setVariable("CREATOR_LABEL", "Projektersteller"); $content->setVariable("DESCRIPTION_LABEL", "Beschreibung"); $content->setVariable("NAME_VALUE", $workplanContainer->get_name()); $content->setVariable("START_VALUE", date("d.m.Y", (int) $workplanContainer->get_attribute("WORKPLAN_START"))); $content->setVariable("CREATOR_VALUE", $workplanContainer->get_creator()->get_full_name()); if ($workplanContainer->get_attribute("WORKPLAN_END") != -1) { $content->setVariable("END_VALUE", date("d.m.Y", (int) $workplanContainer->get_attribute("WORKPLAN_END"))); } else { $content->setVariable("END_VALUE", "-"); } if (in_array("WORKPLAN_DESCRIPTION", $workplanContainer->get_attribute_names())) { if (strlen(trim($workplanContainer->get_attribute("WORKPLAN_DESCRIPTION"))) > 0) { $content->setVariable("DESCRIPTION_VALUE", nl2br($workplanContainer->get_attribute("WORKPLAN_DESCRIPTION"))); } else { $content->setVariable("DESCRIPTION_VALUE", "-"); } } else { $content->setVariable("DESCRIPTION_VALUE", "-"); } $content->parse("BLOCK_WORKPLAN_OVERVIEW_TABLE"); } $rawWidget = new \Widgets\RawHtml(); $rawWidget->setHtml($content->get()); $frameResponseObject->setTitle("Projektplan: " . $workplanContainer->get_name()); $frameResponseObject->setHeadline(array(array("link" => $this->getExtension()->getExtensionUrl(), "name" => "Projektplanverwaltung"), array("", "name" => $workplanContainer->get_name()))); $frameResponseObject->addWidget($rawWidget); return $frameResponseObject; } }
public function frameResponse(\FrameResponseObject $frameResponseObject) { $breadcrumb = new \Widgets\Breadcrumb(); $breadcrumb->setData(array(array("name" => \Portfolio::getInstance()->getText("Portfolio/"), "link" => $this->getExtension()->getExtensionUrl() . "Myportfolio/"), array("name" => \Portfolio::getInstance()->getText("File Upload")))); $tabBar = new \Widgets\TabBar(); $tabBar->setTabs(array(array("name" => \Portfolio::getInstance()->getText("Dashboard"), "link" => $this->getextension()->getExtensionUrl() . "/"), array("name" => \Portfolio::getInstance()->getText("Portfolio"), "link" => $this->getExtension()->getExtensionUrl() . "myportfolio/"), array("name" => \Portfolio::getInstance()->getText("Shared Portfolios"), "link" => $this->getExtension()->getExtensionUrl() . "SharedProfiles/"))); $clearer = new \Widgets\Clearer(); $upload = new \Widgets\UploadFile(); $upload->setLabel(\Portfolio::getInstance()->getText("Upload File")); $menu = new \Widgets\DropdownBox(); $menu->setLabel(\Portfolio::getInstance()->getText("type of group")); $menu->addOption(\Portfolio::getInstance()->getText("New Folder")); $menu->addOption(\Portfolio::getInstance()->getText("Folder 1")); $menu->addOption(\Portfolio::getInstance()->getText("Folder 2")); $actionBar2 = new \Widgets\ActionBar(); $actionBar2->setActions(array(array("name" => \Portfolio::getInstance()->getText("Save"), "link" => $this->getExtension()->getExtensionUrl() . ""), array("name" => gettext("Cancel"), "link" => $this->getExtension()->getExtensionUrl() . ""))); $html = <<<end <style type="text/css"> .uploadform td { font-size: 0.9167em; line-height: 1.3333em; } </style> <div class="headline"> \t<h1>File Upload</h1> </div> <ul class="tabBar"> <li class="tabIn"><a href="./..">Dashboard</a></li> <li class="tabIn"><a href="../profile/">Profile</a></li> <li class="tabOut"><a href="../myportfolio/">Portfolio</a></li> <li class="tabIn"><a href="../groups/">Groups</a></li> <li style="clear: left;"> </li></ul> <br> Portfolio > file upload <br><br> <td class="label" Upload File:</td> <div> <tr class="uploadform"> <th> <p> File: <input type="file" size="45" name="filename1"> </p> <p> Folder: <td class="value"> <select name="values[OBJ_DESC]"> <option value=""></option> <option value="New Folder" selected="selected">New Folder</option> <option value="Folder 1">Folder 1</option> <option value="Folder 2">Folder 2</option> <option value="Folder 3">Folder 3</option> </select> </td> <br> <br> <br> <input type="submit" value="Submit" name=".submit"> </form> end; $frameResponseObject->setTitle("Fileupload"); $rawHtml = new \Widgets\RawHtml(); $rawHtml->setHtml($html); $frameResponseObject->addWidget($breadcrumb); //$frameResponseObject->addWidget($tabBar); $frameResponseObject->addWidget($clearer); $frameResponseObject->addWidget($upload); $frameResponseObject->addWidget($clearer); $frameResponseObject->addWidget($menu); $frameResponseObject->addWidget($actionBar2); //$frameResponseObject->addWidget($rawHtml); return $frameResponseObject; }
public function frameResponse(\FrameResponseObject $frameResponseObject) { if (!$this->artefactId) { print "no object id given!"; exit; } $artefact = \Artefacts::getById($this->artefactId); $actionBar = new \Widgets\ActionBar(); $actionBar->setActions(array(array("link" => "javascript:history.back()", "name" => "zurück"))); $tabBar = new \Widgets\TabBar(); $tabBar->setTabs(array(array("name" => \Portfolio::getInstance()->getText("Dashboard"), "link" => $this->getextension()->getExtensionUrl() . "/"), array("name" => \Portfolio::getInstance()->getText("Competences"), "link" => $this->getExtension()->getExtensionUrl() . "ViewChart/"), array("name" => \Portfolio::getInstance()->getText("Artefacts"), "link" => $this->getExtension()->getExtensionUrl() . "ManageArtefacts/"), array("name" => $artefact->getName(), "link" => "#"))); $tabBar->setActiveTab(3); $competences = \CompetenceRaster::getCompetences(); $jobs = \CompetenceRaster::getJobs(); $facets = \CompetenceRaster::getFacets(); $activities = \CompetenceRaster::getActivityFields(); $html = "<br>"; $htmlPre = ""; $htmlPost = ""; // $jswrapper = new \Widgets\JSWrapper(); $htmlPost .= <<<END \t\t<br> <h1>Weitere Kompetenzen zuordnen</h1> \tSuche: <input id="search" type="text" value="" title="Suche mit Enter-Taste bestätigen."/> <select id="jobs"> END; $htmlPost .= '<option value="undefined">Job Auswahl</option>'; foreach ($jobs as $job) { $htmlPost .= '<option value="' . $job->name . '">' . $job->name . ": " . $job->description . '</option>'; } $htmlPost .= "</select>"; // $htmlPost .= <<<END // // </select> // <select id="facets"> //END // ; // // $htmlPost .= '<option value="undefined">Facette Auswahl</option>'; // foreach ($facets as $facet) { // $htmlPost .= '<option value="' . $facet->short . '">' . $facet->short .": ". $facet->name . '</option>'; // } $htmlPost .= <<<END <select style="width:175px;" id="activities"> END; $htmlPost .= '<option value="undefined">Fertigkeiten Auswahl</option>'; foreach ($activities as $activity) { $htmlPost .= '<option value="' . $activity->index . '">' . $activity->index . ": " . $activity->name . '</option>'; } $htmlPost .= <<<END </select> END; $htmlPre .= '<h1>Zugeordnete Kompetenzen</h1><div id="itemsChecked"><table id="checkedRows" width=100% class="grid">'; $htmlPre .= '<tr id="headline"> <td>Index</td> <td>Beschreibung</td> <td></td> </tr>'; // <td>Activity</td> // <td>Facet</td> // <td>Index</td> // <td>Description</td> $htmlPost .= '<div id="items"><table id="uncheckedRows" width=100% class="grid">'; $htmlPost .= '<tr id="headline"> <td>Index</td> <td>Beschreibung</td> <td></td> </tr>'; foreach ($competences as $competence) { $checked = key_exists($competence->short, $artefact->getCompetencesStrings()) ? " checked=\"true\"" : ""; $tmp = "<tr short=\"{$competence->short}\" job=\"{$competence->job}\" facet=\"{$competence->facet}\" activity=\"{$competence->activity}\">\n\t\t\t\t\t\t<td>{$competence->short}</td>\n\t\t\t\t\t\t<td>{$competence->name}</td>\n\t\t\t\t\t\t<td><input value=\"{$competence->short}\" type=\"checkbox\" name=\"selected[]\"{$checked}></td>\n\t\t\t\t\t\t</tr>"; // <td>{$competence->job}</td> // <td>{$competence->activity}</td> // <td>{$competence->facet}</td> // <td>{$competence->index}</td> // <td>{$competence->description}</td> if ($checked != "") { $htmlPre .= $tmp; } else { $htmlPost .= $tmp; } } $htmlPre .= '</table>'; $htmlPost .= '<tr id="nothing"> <td align="center">Keine Kompetenzen gefunden welche den Kriterien entsprechen</td> </tr>'; $html .= $htmlPre . $htmlPost; $html .= <<<END </table> </div> <script type="text/javascript"> jQuery.expr[':'].Contains = function(a, i, m) { return jQuery(a).text().toUpperCase().indexOf(m[3].toUpperCase()) >= 0; }; \$("#items").fadeOut(); function filter(){ \t\$("#items").fadeOut(); \tactivity = \$('select[id="activities"] option:selected').val(); job = \$('select[id="jobs"] option:selected').val(); facet = \$('select[id="facets"] option:selected').val(); search = \$('input[id="search"]').val(); \$("#items").find("tr").show(); if (job != "undefined"){ \t\$("#items").find('tr[job!='+job+']').hide(); \t} if (activity != "undefined"){ \t\$("#items").find('tr[activity!='+activity+']').hide(); \t} // if (facet != "undefined"){ // \t\$("#items").find('tr[facet!='+facet+']').hide(); // \t} if (search != ""){ \t\$("#items").find("tr").not('tr:Contains('+search+')').hide(); \t} if (\$("#items").find('tr:visible').length == 0){ \t\$("#items").find('tr[id="nothing"]').show(); \t} else { \t\$("#items").find('tr[id="headline"]').show(); \t} \$("#items").fadeIn(); } \$("input[type='text']").keyup( function(e) { if (e.keyCode == 13) { \t\tfilter(); } }); \$('select[id="jobs"]').change(function() { \tfilter(); }); \$('select[id="activities"]').change(function() { \tfilter(); }); //\$('select[id="facets"]').change(function() { //\tfilter(); //}); <!-- listener for each checkbox --> \$(':checkbox').change(function() { sendRequest("UpdateCompetence", {"artefactId": "{$this->artefactId}", "competence": \$(this).val(), "checked": \$(this).prop("checked")}, "", "data"); if (\$(this).prop("checked")){ \t row = \$('tr[short="'+\$(this).val()+'"]').fadeOut().detach(); \t row.appendTo(\$('#checkedRows > tbody:last')).fadeIn(); \t} else { \t row = \$('tr[short="'+\$(this).val()+'"]').fadeOut().detach(); \t row.prependTo(\$('#uncheckedRows > tbody:first')).fadeIn(); } }); //<!-- for a save button --> //var data = { 'selected[][]' : []}; //\$("#items").find(":checked").each(function() { // data['selected[][]'].push(\$(this).val()); //}); //sendRequest("UpdateCompetence", {"artefactid": "{$this->id}", "competence": \$(this).val(), "checked": data}, "", "data"); </script> END; $rawHtml = new \Widgets\RawHtml(); $rawHtml->setHtml($html); // $frameResponseObject->addWidget($jswrapper); $frameResponseObject->addWidget($actionBar); $frameResponseObject->addWidget($tabBar); $frameResponseObject->addWidget($rawHtml); return $frameResponseObject; }
public function frameResponse(\FrameResponseObject $frameResponseObject) { $workplanExtension = \Workplan::getInstance(); $workplanExtension->addJS(); $workplanExtension->addJS($fileName = 'jsgantt.js'); $workplanExtension->addCSS($fileName = 'jsgantt.css'); $user = $GLOBALS["STEAM"]->get_current_steam_user(); $portal = \lms_portal::get_instance(); $objectID = $this->params[0]; $workplanContainer = \steam_factory::get_object($GLOBALS["STEAM"]->get_id(), $objectID); if (is_object($workplanContainer) && $workplanContainer instanceof \steam_room) { $tabBar = new \Widgets\TabBar(); $tabBar->setTabs(array(array("name" => "Überblick", "link" => $this->getExtension()->getExtensionUrl() . "overview/" . $objectID), array("name" => "Tabelle", "link" => $this->getExtension()->getExtensionUrl() . "listView/" . $objectID), array("name" => "Gantt-Diagramm", "link" => $this->getExtension()->getExtensionUrl() . "ganttView/" . $objectID), array("name" => "Mitarbeiter", "link" => $this->getExtension()->getExtensionUrl() . "users/" . $objectID), array("name" => "Snapshots", "link" => $this->getExtension()->getExtensionUrl() . "snapshots/" . $objectID))); $tabBar->setActiveTab(4); $frameResponseObject->addWidget($tabBar); $xmlfile = $workplanContainer->get_inventory_filtered(array(array("+", "class", CLASS_DOCUMENT))); // if user submitted new snapshot dialog add a now annotation/snapshot if ($_SERVER["REQUEST_METHOD"] == "POST" && isset($_POST["new_snapshot"])) { $values = $_POST["values"]; $newannotation = \steam_factory::create_textdoc($GLOBALS["STEAM"]->get_id(), $values["snapshotname"], strval($xmlfile[0]->get_version()), $workplanContainer); $xmlfile[0]->add_annotation($newannotation); $portal->set_confirmation("Snapshot " . $values["snapshotname"] . " erfolgreich erstellt."); } // display snapshot list $content = $workplanExtension->loadTemplate("workplan_snapshots.template.html"); $snapshots = $xmlfile[0]->get_annotations(); $howmany = count($snapshots); if ($howmany > 0) { $content->setCurrentBlock("BLOCK_SNAPSHOTS_LIST"); $content->setVariable("NAME_LABEL", "Name"); $content->setVariable("DATE_LABEL", "Datum"); $content->setVariable("VIEW_LABEL", "Ansicht"); for ($count = count($snapshots) - 1; $count >= 0; $count--) { $content->setCurrentBlock("BLOCK_SNAPSHOTS_LIST_ELEMENT"); $content->setVariable("ELEMENT_NAME", $snapshots[$count]->get_name()); $timestamp = $snapshots[$count]->get_attribute("OBJ_CREATION_TIME"); $content->setVariable("ELEMENT_DATE", strftime("%x %X", $timestamp)); $content->setVariable("ELEMENT_LIST", "Tabelle"); $content->setVariable("ELEMENT_GANTT", "Gantt-Diagramm"); $content->setVariable("WORKPLAN_VERSION", $snapshots[$count]->get_content()); $content->setVariable("WORKPLAN_ID", $objectID); $content->setVariable("ANNOTATION_ID", $count); $version = $snapshots[$count]->get_content(); if ($version == $xmlfile[0]->get_version()) { $viewversion = $xmlfile[0]; } else { $previousversions = $xmlfile[0]->get_previous_versions(); $viewversion = $previousversions[count($previousversions) - $version]; } // change information of every snapshot to a form which is used to create the gantt view $xml = simplexml_load_string($viewversion->get_content()); $helpToArray = $xml->children(); $list = array(); for ($counter = 0; $counter < count($helpToArray); $counter++) { array_push($list, $helpToArray[$counter]); } usort($list, 'sort_xmllist'); $oids = ""; $names = ""; $start = ""; $end = ""; $depends = ""; $milestones = ""; for ($count2 = 0; $count2 < count($list); $count2++) { $oids = $oids . $list[$count2]->oid . ","; $names = $names . $list[$count2]->name . ","; $start = $start . $list[$count2]->start . ","; $end = $end . $list[$count2]->end . ","; $depends = $depends . $list[$count2]->depends . ","; if ($list[$count2]->getName() == 'milestone') { $milestones = $milestones . "1,"; } else { $milestones = $milestones . "0,"; } } $oids = "[" . substr($oids, 0, strlen($oids) - 1) . "]"; $names = "[" . substr($names, 0, strlen($names) - 1) . "]"; $start = "[" . substr($start, 0, strlen($start) - 1) . "]"; $end = "[" . substr($end, 0, strlen($end) - 1) . "]"; $depends = "[" . substr($depends, 0, strlen($depends) - 1) . "]"; $milestones = "[" . substr($milestones, 0, strlen($milestones) - 1) . "]"; $content->setVariable("WORKPLAN_OIDS", $oids); $content->setVariable("WORKPLAN_NAMES", $names); $content->setVariable("WORKPLAN_STARTS", $start); $content->setVariable("WORKPLAN_ENDS", $end); $content->setVariable("WORKPLAN_DEPENDS", $depends); $content->setVariable("WORKPLAN_MILESTONES", $milestones); $content->parse("BLOCK_SNAPSHOTS_LIST_ELEMENT"); } $content->parse("BLOCK_SNAPSHOTS_LIST"); } else { $content->setCurrentBlock("BLOCK_SNAPSHOTS_NO_LIST"); $content->setVariable("NO_SNAPSHOTS", "Keine Snapshots zu diesem Projektplan vorhanden."); $content->parse("BLOCK_SNAPSHOTS_NO_LIST"); } // if current user has the required rights display create snapshot dialog $content->setCurrentBlock("BLOCK_NEW_SNAPSHOT"); $content->setVariable("WORKPLAN_ID", $objectID); $content->setVariable("LABEL_NEW_SNAPSHOT", "Neuen Snapshot erstellen"); $content->setVariable("LABEL_NAME", "Name:*"); $content->setVariable("LABEL_CREATE", "Abschicken"); $content->setVariable("WORKPLAN_SHOW_CURRENTVERSION", "Aktuelle Version des Projektplans einblenden"); $content->setVariable("WORKPLAN_HIDE_SNAPSHOT", "Snapshot ausblenden"); $content->setVariable("WORKPLAN_HIDECURRENT_SNAPSHOT", "Aktuelle Version des Projektplans ausblenden"); if ($user->get_id() == $workplanContainer->get_creator()->get_id() || in_array("WORKPLAN_" . $user->get_id() . "_LEADER", $workplanContainer->get_attribute_names())) { $content->setVariable("SNAPSHOT_RIGHTS", ""); } else { $content->setVariable("SNAPSHOT_RIGHTS", "none"); } $content->parse("BLOCK_NEW_SNAPSHOT"); $rawWidget = new \Widgets\RawHtml(); $rawWidget->setHtml($content->get()); $frameResponseObject->setTitle("Projektplan: " . $workplanContainer->get_name()); $frameResponseObject->setHeadline(array(array("link" => $this->getExtension()->getExtensionUrl(), "name" => "Projektplanverwaltung"), array("", "name" => $workplanContainer->get_name()))); $frameResponseObject->addWidget($rawWidget); return $frameResponseObject; } }
public function frameResponse(\FrameResponseObject $frameResponseObject) { $TCR = \steam_factory::get_object($GLOBALS["STEAM"]->get_id(), $this->id); $user = $GLOBALS["STEAM"]->get_current_steam_user(); $TCRExtension = \TCR::getInstance(); $TCRExtension->addCSS(); $TCRExtension->addJS(); $content = $TCRExtension->loadTemplate("tcr_index.template.html"); $members = $TCR->get_attribute("TCR_USERS"); // determine which kind of elements is displayed (0 = theses, 1 = reviews, 2 = responses, 3 = all) if (isset($this->params[1])) { $kind = $this->params[1]; } else { $kind = 3; } // display actionbar $actionbar = new \Widgets\Actionbar(); $admins = $TCR->get_attribute("TCR_ADMINS"); if (in_array($user->get_id(), $admins)) { $actions = array(array("name" => "Konfiguration", "link" => $TCRExtension->getExtensionUrl() . "configuration/" . $this->id), array("name" => "Private Dokumente", "link" => $TCRExtension->getExtensionUrl() . "privateDocuments/" . $this->id), array("name" => "Übersicht", "link" => $TCRExtension->getExtensionUrl() . "Index/" . $this->id), array("name" => "Alle Dokumente", "link" => $TCRExtension->getExtensionUrl() . "documents/" . $this->id)); } else { $actions = array(array("name" => "Private Dokumente", "link" => $TCRExtension->getExtensionUrl() . "privateDocuments/" . $this->id), array("name" => "Übersicht", "link" => $TCRExtension->getExtensionUrl() . "Index/" . $this->id), array("name" => "Alle Dokumente", "link" => $TCRExtension->getExtensionUrl() . "documents/" . $this->id)); } $actionbar->setActions($actions); $frameResponseObject->addWidget($actionbar); // display tabbar $tabBar = new \Widgets\TabBar(); $tabBar->setTabs(array(array("name" => "Alle", "link" => $TCRExtension->getExtensionUrl() . "documents/" . $this->id), array("name" => "Thesen", "link" => $TCRExtension->getExtensionUrl() . "documents/" . $this->id . "/0"), array("name" => "Kritiken", "link" => $TCRExtension->getExtensionUrl() . "documents/" . $this->id . "/1"), array("name" => "Repliken", "link" => $TCRExtension->getExtensionUrl() . "documents/" . $this->id . "/2"))); if ($kind == 3) { $tabBar->setActiveTab(0); } else { $tabBar->setActiveTab($kind + 1); } $frameResponseObject->addWidget($tabBar); // create arrays for every round and add the theses to these arrays $rounds = $TCR->get_attribute("TCR_ROUNDS"); $theses_container = \steam_factory::get_object_by_name($GLOBALS["STEAM"]->get_id(), $TCR->get_path() . "/theses"); $theses_inventory = $theses_container->get_inventory(); $theses = array(); for ($count = 1; $count <= $rounds; $count++) { $theses[$count] = array(); } foreach ($theses_inventory as $thesis) { $critics = $thesis->get_attribute("TCR_REVIEWS"); if (count($critics) > 0 && in_array($thesis->get_creator()->get_id(), $members)) { $current_round = $thesis->get_attribute("TCR_ROUND"); array_push($theses[$current_round], $thesis); } } // display documents table $content = $TCRExtension->loadTemplate("tcr_documents.template.html"); $content->setCurrentBlock("BLOCK_DOCUMENTS_TABLE"); $content->setVariable("ROUND_LABEL", "Runde"); $content->setVariable("DOCUMENT_KIND_LABEL", "Art"); $content->setVariable("CONTENT_LABEL", "Inhalt"); $content->setVariable("AUTHOR_LABEL", "Autor(in)"); $content->setVariable("DATE_LABEL", "Veröffentlicht am"); $content->setVariable("COMMENTS_LABEL", "Kommentare"); for ($count = 1; $count <= $rounds; $count++) { $content->setCurrentBlock("BLOCK_DOCUMENTS_ROUND"); $content->setVariable("CURRENT_ROUND", $count . ". Runde"); $content->setVariable("CURRENT_ROUND_VALUE", $count); // display every thesis in the corresponding round foreach ($theses[$count] as $current_thesis) { if ($kind == 3 || $kind == 0) { $creator = $current_thesis->get_creator(); $date = $current_thesis->get_attribute("TCR_RELEASED"); $content->setCurrentBlock("BLOCK_DOCUMENTS_ELEMENT"); $content->setVariable("ASSETURL", $TCRExtension->getAssetUrl()); $content->setVariable("DOCUMENT_KIND", "These"); $content->setVariable("ELEMENT_URL", $TCRExtension->getExtensionUrl() . "release/" . $current_thesis->get_id()); $content->setVariable("VIEW_ELEMENT", "Inhalt anzeigen"); $content->setVariable("ASSETURL", $TCRExtension->getAssetUrl()); $content->setVariable("AUTHOR_VALUE", $creator->get_full_name() . " (" . $creator->get_name() . ")"); $content->setVariable("DATE_VALUE", date("d.m.Y H:i:s", $date)); if (count($current_thesis->get_annotations()) == 1) { $content->setVariable("COMMENTS_VALUE", "(1 Kommentar)"); } else { $content->setVariable("COMMENTS_VALUE", "(" . count($current_thesis->get_annotations()) . " Kommentare)"); } $content->setVariable("COMMENTS_URL", $TCRExtension->getExtensionUrl() . "release/" . $current_thesis->get_id()); $content->parse("BLOCK_DOCUMENTS_ELEMENT"); } $critics = $current_thesis->get_attribute("TCR_REVIEWS"); // display reviews to the thesis if there are any released ones foreach ($critics as $critic => $review) { if ($review != 0) { $review_object = \steam_factory::get_object($GLOBALS["STEAM"]->get_id(), $review); $review_released = $review_object->get_attribute("TCR_RELEASED"); if ($review_released != 0 && in_array($critic, $members)) { if ($kind == 3 || $kind == 1) { $creator = $review_object->get_creator(); $date = $review_object->get_attribute("TCR_RELEASED"); $content->setCurrentBlock("BLOCK_DOCUMENTS_ELEMENT"); $content->setVariable("ASSETURL", $TCRExtension->getAssetUrl()); $content->setVariable("DOCUMENT_KIND", "Kritik"); $content->setVariable("ELEMENT_URL", $TCRExtension->getExtensionUrl() . "release/" . $review_object->get_id()); $content->setVariable("VIEW_ELEMENT", "Inhalt anzeigen"); $content->setVariable("ASSETURL", $TCRExtension->getAssetUrl()); $content->setVariable("AUTHOR_VALUE", $creator->get_full_name() . " (" . $creator->get_name() . ")"); $content->setVariable("DATE_VALUE", date("d.m.Y H:i:s", $date)); if (count($review_object->get_annotations()) == 1) { $content->setVariable("COMMENTS_VALUE", "(1 Kommentar)"); } else { $content->setVariable("COMMENTS_VALUE", "(" . count($review_object->get_annotations()) . " Kommentare)"); } $content->setVariable("COMMENTS_URL", $TCRExtension->getExtensionUrl() . "release/" . $review_object->get_id()); $content->parse("BLOCK_DOCUMENTS_ELEMENT"); } // display response if it exists and is released $response = $review_object->get_attribute("TCR_RESPONSE"); if ($response != 0) { $response_object = \steam_factory::get_object($GLOBALS["STEAM"]->get_id(), $response); $response_released = $response_object->get_attribute("TCR_RELEASED"); if ($response_released != 0) { if ($kind == 3 || $kind == 2) { $creator = $response_object->get_creator(); $date = $response_object->get_attribute("TCR_RELEASED"); $content->setCurrentBlock("BLOCK_DOCUMENTS_ELEMENT"); $content->setVariable("ASSETURL", $TCRExtension->getAssetUrl()); $content->setVariable("DOCUMENT_KIND", "Replik"); $content->setVariable("ELEMENT_URL", $TCRExtension->getExtensionUrl() . "release/" . $response_object->get_id()); $content->setVariable("VIEW_ELEMENT", "Inhalt anzeigen"); $content->setVariable("ASSETURL", $TCRExtension->getAssetUrl()); $content->setVariable("AUTHOR_VALUE", $creator->get_full_name() . " (" . $creator->get_name() . ")"); $content->setVariable("DATE_VALUE", date("d.m.Y H:i:s", $date)); if (count($response_object->get_annotations()) == 1) { $content->setVariable("COMMENTS_VALUE", "(1 Kommentar)"); } else { $content->setVariable("COMMENTS_VALUE", "(" . count($response_object->get_annotations()) . " Kommentare)"); } $content->setVariable("COMMENTS_URL", $TCRExtension->getExtensionUrl() . "release/" . $response_object->get_id()); $content->parse("BLOCK_DOCUMENTS_ELEMENT"); } } } } } } } $content->parse("BLOCK_DOCUMENTS_ROUND"); } // display filter $content->setVariable("FILTER_LABEL", "Filter:"); $content->setCurrentBlock("BLOCK_DOCUMENTS_DROPDOWN"); $content->setVariable("OPTION_VALUE", 0); $content->setVariable("OPTION_NAME", "Alle Runden"); $content->setVariable("ROUNDS_VALUE", $rounds); $content->parse("BLOCK_DOCUMENTS_DROPDOWN"); for ($count = 1; $count <= $rounds; $count++) { $content->setCurrentBlock("BLOCK_DOCUMENTS_DROPDOWN"); $content->setVariable("OPTION_VALUE", $count); $content->setVariable("OPTION_NAME", $count . ". Runde"); $content->setVariable("ROUNDS_VALUE", $rounds); $content->parse("BLOCK_DOCUMENTS_DROPDOWN"); } $content->parse("BLOCK_DOCUMENTS_TABLE"); $group = $TCR->get_attribute("TCR_GROUP"); if ($group->get_name() == "learners") { $parent = $group->get_parent_group(); $courseOrGroup = "Kurs: " . $parent->get_attribute("OBJ_DESC") . " (" . $parent->get_name() . ")"; $courseOrGroupUrl = PATH_URL . "semester/" . $parent->get_id(); } else { $courseOrGroup = "Gruppe: " . $group->get_name(); $courseOrGroupUrl = PATH_URL . "groups/" . $group->get_id(); } $rawWidget = new \Widgets\RawHtml(); $rawWidget->setHtml($content->get()); $frameResponseObject->addWidget($rawWidget); $frameResponseObject->setHeadline(array(array("name" => $courseOrGroup, "link" => $courseOrGroupUrl), array("name" => "Thesen-Kritik-Replik-Verfahren", "link" => $TCRExtension->getExtensionUrl() . "Index/" . $TCR->get_id()), array("name" => "Alle Dokumente"))); return $frameResponseObject; }
public function frameResponse(\FrameResponseObject $frameResponseObject) { $workplanExtension = \Workplan::getInstance(); $workplanExtension->addJS(); $user = $GLOBALS["STEAM"]->get_current_steam_user(); $portal = \lms_portal::get_instance(); $objectID = $this->params[0]; $workplanContainer = \steam_factory::get_object($GLOBALS["STEAM"]->get_id(), $objectID); if (is_object($workplanContainer) && $workplanContainer instanceof \steam_container) { // if current user has required rights display actionbar if ($user->get_id() == $workplanContainer->get_creator()->get_id() || in_array("WORKPLAN_" . $user->get_id() . "_LEADER", $workplanContainer->get_attribute_names())) { $content = $workplanExtension->loadTemplate("workplan_listview.template.html"); $content->setCurrentBlock("BLOCK_CONFIRMATION"); $content->setVariable("CONFIRMATION_TEXT", "NONE"); $content->parse("BLOCK_CONFIRMATION"); $content->setCurrentBlock("BLOCK_WORKPLAN_LIST_ACTIONBAR"); $content->setVariable("WORKPLAN_ID", $objectID); $content->setVariable("LABEL_NEW_SNAPSHOT", "Snapshot erstellen"); $content->setVariable("LABEL_NEW_MILESTONE", "Neuer Meilenstein"); $content->setVariable("LABEL_NEW_TASK", "Neuer Vorgang"); $content->parse("BLOCK_WORKPLAN_LIST_ACTIONBAR"); $actionBar = new \Widgets\RawHtml(); $actionBar->setHtml($content->get()); $frameResponseObject->addWidget($actionBar); } $tabBar = new \Widgets\TabBar(); $tabBar->setTabs(array(array("name" => "Überblick", "link" => $this->getExtension()->getExtensionUrl() . "overview/" . $objectID), array("name" => "Tabelle", "link" => $this->getExtension()->getExtensionUrl() . "listView/" . $objectID), array("name" => "Gantt-Diagramm", "link" => $this->getExtension()->getExtensionUrl() . "ganttView/" . $objectID), array("name" => "Mitarbeiter", "link" => $this->getExtension()->getExtensionUrl() . "users/" . $objectID), array("name" => "Snapshots", "link" => $this->getExtension()->getExtensionUrl() . "snapshots/" . $objectID))); $tabBar->setActiveTab(1); $frameResponseObject->addWidget($tabBar); // load workplan from xml file in workplan room and sort elements $xmlfile = $workplanContainer->get_inventory_filtered(array(array("+", "class", CLASS_DOCUMENT))); $xml = simplexml_load_string($xmlfile[0]->get_content()); $helpToArray = $xml->children(); $list = array(); for ($counter = 0; $counter < count($helpToArray); $counter++) { array_push($list, $helpToArray[$counter]); } usort($list, 'sort_xmllist'); $content = $workplanExtension->loadTemplate("workplan_listview.template.html"); if (count($list) == 0) { $content->setCurrentBlock("BLOCK_WORKPLAN_LIST_EMPTY"); $content->setVariable("WORKPLAN_LIST_EMPTY", "Keine Meilensteine oder Vorgänge zu diesem Projektplan vorhanden."); $content->parse("BLOCK_WORKPLAN_LIST_EMPTY"); } else { $content->setCurrentBlock("BLOCK_WORKPLAN_LIST"); $content->setVariable("WORKPLAN_LIST_ELEMENT_NAME", "Name"); $content->setVariable("WORKPLAN_LIST_ELEMENT_START", "Beginn"); $content->setVariable("WORKPLAN_LIST_ELEMENT_END", "Ende"); $content->setVariable("WORKPLAN_LIST_ELEMENT_DURATION", "Arbeitsstunden"); $content->setVariable("WORKPLAN_LIST_ELEMENT_DEPENDS", "Abhängigkeit"); $content->setVariable("WORKPLAN_LIST_ELEMENT_USERS", "Mitarbeiter"); // create and fill array for displaying dependencies $dependencies = array(); for ($counter = 0; $counter < count($list); $counter++) { $dependencies[strval($list[$counter]->oid)] = $counter + 1; } // create list view of current elements for ($counter = 0; $counter < count($list); $counter++) { $element = \steam_factory::get_object($GLOBALS["STEAM"]->get_id(), $list[$counter]->oid); $elinventory = $element->get_inventory(); $content->setCurrentBlock("BLOCK_WORKPLAN_LIST_ELEMENT"); $content->setVariable("WORKPLAN_LIST_ELEMENT_NUMBER", $counter + 1); $content->setVariable("WORKPLAN_LIST_ELEMENT_NAME_VALUE", $list[$counter]->name . " (" . count($elinventory) . ")"); $content->setVariable("WORKPLAN_LIST_ELEMENT_START_VALUE", date("d.m.Y", (int) $list[$counter]->start)); $content->setVariable("WORKPLAN_LIST_ELEMENT_END_VALUE", date("d.m.Y", (int) $list[$counter]->end)); if ($list[$counter]->duration == -1) { $content->setVariable("WORKPLAN_LIST_ELEMENT_DURATION_VALUE", "-"); } else { $content->setVariable("WORKPLAN_LIST_ELEMENT_DURATION_VALUE", $list[$counter]->duration); } $content->setVariable("WORKPLAN_LIST_ELEMENT_DURATION_UPDATE", $list[$counter]->duration); if ($list[$counter]->depends == -1) { $content->setVariable("WORKPLAN_LIST_ELEMENT_DEPENDS_VALUE", "-"); } else { if (array_key_exists(strval($list[$counter]->depends), $dependencies)) { $content->setVariable("WORKPLAN_LIST_ELEMENT_DEPENDS_VALUE", $dependencies[strval($list[$counter]->depends)]); } } $content->setVariable("WORKPLAN_LIST_ELEMENT_DEPENDS_UPDATE", $list[$counter]->depends); if ($list[$counter]->getName() == 'task') { $content->setVariable("WORKPLAN_LIST_ELEMENT_MOT", "0"); } else { $content->setVariable("WORKPLAN_LIST_ELEMENT_MOT", "1"); } $content->setVariable("WORKPLAN_LIST_ELEMENT_OID", $list[$counter]->oid); $content->setVariable("WORKPLAN_LIST_ELEMENT_NAME_DEL", $list[$counter]->name); $content->setVariable("WORKPLAN_ID", $objectID); // convert saved users to output format $userList = $list[$counter]->users; $userList = "[" . str_replace(";", ",", $userList) . "]"; $content->setVariable("WORKPLAN_LIST_ELEMENT_USERS_JSON", $userList); $userList = json_decode($userList); $outputUsers = ""; for ($count = 0; $count < count($userList); $count++) { $currentUser = \steam_factory::get_object($GLOBALS["STEAM"]->get_id(), $userList[$count]); $outputUsers = $outputUsers . $currentUser->get_full_name() . "<br>"; } if (count($userList) == 0) { $outputUsers = "-"; } $content->setVariable("WORKPLAN_LIST_ELEMENT_USERS_VALUE", $outputUsers); $content->setVariable("WORKPLAN_LIST_UPDATE_OID", $list[$counter]->oid); $content->setVariable("WORKPLAN_LIST_ELEMENT_CHANGE_VALUE", "Bearbeiten"); $content->setVariable("WORKPLAN_LIST_ELEMENT_DELETE_VALUE", "Löschen"); if ($user->get_id() == $workplanContainer->get_creator()->get_id() || in_array("WORKPLAN_" . $user->get_id() . "_LEADER", $workplanContainer->get_attribute_names())) { $content->setVariable("WORKPLAN_RIGHTS", ""); } else { $content->setVariable("WORKPLAN_RIGHTS", "none"); } $content->parse("BLOCK_WORKPLAN_LIST_ELEMENT"); } $content->parse("BLOCK_WORKPLAN_LIST"); } // create update dialogs $content->setCurrentBlock("BLOCK_WORKPLAN_UPDATE_DIALOG"); $content->setVariable("WORKPLAN_UPDATE_ID", $objectID); $content->setVariable("UPDATE_LABEL", "Meilenstein bearbeiten"); $content->setVariable("UPDATE_TASK_LABEL", "Vorgang bearbeiten"); $content->setVariable("UPDATE_NAME_LABEL", "Name:*"); $content->setVariable("UPDATE_DATE_LABEL", "Datum:*"); $content->setVariable("UPDATE_START_LABEL", "Beginn:*"); $content->setVariable("UPDATE_END_LABEL", "Ende:*"); $content->setVariable("UPDATE_DURATION_LABEL", "Dauer:"); $content->setVariable("UPDATE_DEPENDS_LABEL", "Abhängigkeit:"); // create all dependency options in update dialogs $content->setCurrentBlock("UPDATE_BLOCK_WORKPLAN_UPDATE_DEPENDS"); $content->setVariable("DEPENDS_OID", "-1"); $content->setVariable("DEPENDS_NAME", "Keine Abhängigkeit"); $content->parse("BLOCK_WORKPLAN_UPDATE_DEPENDS"); $content->setCurrentBlock("UPDATE_BLOCK_WORKPLAN_UPDATE_TASK_DEPENDS"); $content->setVariable("DEPENDS_OID", "-1"); $content->setVariable("DEPENDS_NAME", "Keine Abhängigkeit"); $content->parse("BLOCK_WORKPLAN_UPDATE_TASK_DEPENDS"); for ($count = 0; $count < count($list); $count++) { if ($list[$count]->getName() == 'task') { $content->setCurrentBlock("BLOCK_WORKPLAN_UPDATE_DEPENDS"); $content->setVariable("DEPENDS_OID", $list[$count]->oid); $content->setVariable("DEPENDS_NAME", $list[$count]->name); $content->parse("BLOCK_WORKPLAN_UPDATE_DEPENDS"); $content->setCurrentBlock("BLOCK_WORKPLAN_UPDATE_TASK_DEPENDS"); $content->setVariable("DEPENDS_OID", $list[$count]->oid); $content->setVariable("DEPENDS_NAME", $list[$count]->name); $content->parse("BLOCK_WORKPLAN_UPDATE_TASK_DEPENDS"); } } // create user options in update dialogs $content->setVariable("UPDATE_USERS_LABEL", "Mitarbeiter:"); $groupID = 0; if (in_array("WORKPLAN_GROUP", $workplanContainer->get_attribute_names())) { $groupID = $workplanContainer->get_attribute("WORKPLAN_GROUP"); } if ($groupID == 0) { $content->setCurrentBlock("BLOCK_WORKPLAN_UPDATE_USER"); $content->setVariable("USER_ID", $user->get_id()); $content->setVariable("USER_NAME", $user->get_full_name()); $content->parse("BLOCK_WORKPLAN_UPDATE_USER"); $content->setCurrentBlock("BLOCK_WORKPLAN_UPDATE_TASK_USER"); $content->setVariable("USER_ID", $user->get_id()); $content->setVariable("USER_NAME", $user->get_full_name()); $content->parse("BLOCK_WORKPLAN_UPDATE_TASK_USER"); } else { $groupObject = \steam_factory::get_object($GLOBALS["STEAM"]->get_id(), $groupID); $members = $groupObject->get_members(); for ($count = 0; $count < count($members); $count++) { $currentMember = $members[$count]; $content->setCurrentBlock("BLOCK_WORKPLAN_UPDATE_USER"); $content->setVariable("USER_ID", $currentMember->get_id()); $content->setVariable("USER_NAME", $currentMember->get_full_name()); $content->parse("BLOCK_WORKPLAN_UPDATE_USER"); $content->setCurrentBlock("BLOCK_WORKPLAN_UPDATE_TASK_USER"); $content->setVariable("USER_ID", $currentMember->get_id()); $content->setVariable("USER_NAME", $currentMember->get_full_name()); $content->parse("BLOCK_WORKPLAN_UPDATE_TASK_USER"); } } $content->setVariable("UPDATE_SUBMIT_LABEL", "Abschicken"); $content->setVariable("UPDATE_LABEL_BACK", "Abbrechen"); $content->parse("BLOCK_WORKPLAN_UPDATE_DIALOG"); // create task and milestone create forms $content->setCurrentBlock("BLOCK_WORKPLAN_LIST_FORMULAR"); $content->setVariable("LABEL_NEW_MILESTONE", "Meilenstein hinzufügen"); $content->setVariable("LABEL_NEW_TASK", "Vorgang hinzufügen"); $content->setVariable("NAME_LABEL", "Name:*"); $content->setVariable("START_LABEL", "Beginn:*"); $content->setVariable("END_LABEL", "Ende:*"); $content->setVariable("DATE_LABEL", "Datum:*"); $content->setVariable("DURATION_LABEL", "Dauer:"); $content->setVariable("DEPENDS_LABEL", "Abhängigkeit:"); $content->setVariable("USERS_LABEL", "Mitarbeiter:"); // create all dependency options in create forms $content->setCurrentBlock("BLOCK_LIST_MILESTONE_DEPENDS"); $content->setVariable("DEPENDS_OID", "-1"); $content->setVariable("DEPENDS_NAME", "Keine Abhängigkeit"); $content->parse("BLOCK_LIST_MILESTONE_DEPENDS"); $content->setCurrentBlock("BLOCK_LIST_TASK_DEPENDS"); $content->setVariable("DEPENDS_OID", "-1"); $content->setVariable("DEPENDS_NAME", "Keine Abhängigkeit"); $content->parse("BLOCK_LIST_TASK_DEPENDS"); for ($count = 0; $count < count($list); $count++) { if ($list[$count]->getName() == 'task') { $content->setCurrentBlock("BLOCK_LIST_MILESTONE_DEPENDS"); $content->setVariable("DEPENDS_OID", $list[$count]->oid); $content->setVariable("DEPENDS_NAME", $list[$count]->name); $content->parse("BLOCK_LIST_MILESTONE_DEPENDS"); $content->setCurrentBlock("BLOCK_LIST_TASK_DEPENDS"); $content->setVariable("DEPENDS_OID", $list[$count]->oid); $content->setVariable("DEPENDS_NAME", $list[$count]->name); $content->parse("BLOCK_LIST_TASK_DEPENDS"); } } // create user options in create forms if ($groupID == 0) { $content->setCurrentBlock("BLOCK_USER_OPTION_MILESTONE"); $content->setVariable("USER_ID", $user->get_id()); $content->setVariable("USER_NAME", $user->get_full_name()); $content->parse("BLOCK_USER_OPTION_MILESTONE"); $content->setCurrentBlock("BLOCK_USER_OPTION_TASK"); $content->setVariable("USER_ID", $user->get_id()); $content->setVariable("USER_NAME", $user->get_full_name()); if (in_array("WORKPLAN_" . $user->get_id() . "_RESSOURCE", $workplanContainer->get_attribute_names())) { $content->setVariable("USER_RESSOURCE", $workplanContainer->get_attribute("WORKPLAN_" . $user->get_id() . "_RESSOURCE")); } else { $content->setVariable("USER_RESSOURCE", 0); } $content->parse("BLOCK_USER_OPTION_TASK"); } else { $groupObject = \steam_factory::get_object($GLOBALS["STEAM"]->get_id(), $groupID); $members = $groupObject->get_members(); for ($count = 0; $count < count($members); $count++) { $currentMember = $members[$count]; $content->setCurrentBlock("BLOCK_USER_OPTION_MILESTONE"); $content->setVariable("USER_ID", $currentMember->get_id()); $content->setVariable("USER_NAME", $currentMember->get_full_name()); $content->parse("BLOCK_USER_OPTION_MILESTONE"); $content->setCurrentBlock("BLOCK_USER_OPTION_TASK"); $content->setVariable("USER_ID", $currentMember->get_id()); $content->setVariable("USER_NAME", $currentMember->get_full_name()); if (in_array("WORKPLAN_" . $currentMember->get_id() . "_RESSOURCE", $workplanContainer->get_attribute_names())) { $content->setVariable("USER_RESSOURCE", $workplanContainer->get_attribute("WORKPLAN_" . $currentMember->get_id() . "_RESSOURCE")); } else { $content->setVariable("USER_RESSOURCE", 0); } $content->parse("BLOCK_USER_OPTION_TASK"); } } $content->setVariable("LABEL_BACK", "Ausblenden"); $content->setVariable("LABEL_ADD", "Hinzufügen"); $content->setVariable("WORKPLAN_ID", $objectID); $content->parse("BLOCK_WORKPLAN_LIST_FORMULAR"); $rawWidget = new \Widgets\RawHtml(); $rawWidget->setHtml($content->get()); $frameResponseObject->setTitle("Projektplan: " . $workplanContainer->get_name()); $frameResponseObject->setHeadline(array(array("link" => $this->getExtension()->getExtensionUrl(), "name" => "Projektplanverwaltung"), array("", "name" => $workplanContainer->get_name()))); $frameResponseObject->addWidget($rawWidget); return $frameResponseObject; } }
public function frameResponse(\FrameResponseObject $frameResponseObject) { $breadcrumb = new \Widgets\Breadcrumb(); $breadcrumb->setData(array(array("name" => \Portfolio::getInstance()->getText("Portfolio/"), "link" => $this->getExtension()->getExtensionUrl() . "Myportfolio/"), array("name" => gettext("My Friends and Groups/"), "link" => $this->getExtension()->getExtensionUrl() . "Groups/"), array("name" => gettext("Create Group")))); $tabBar = new \Widgets\TabBar(); $tabBar->setTabs(array(array("name" => \Portfolio::getInstance()->getText("Dashboard"), "link" => $this->getextension()->getExtensionUrl() . "/"), array("name" => gettext("Portfolio"), "link" => $this->getExtension()->getExtensionUrl() . "myportfolio/"), array("name" => gettext("Shared Portfolios"), "link" => $this->getExtension()->getExtensionUrl() . "SharedProfiles/"))); $menu = new \Widgets\DropdownBox(); $menu->setLabel(\Portfolio::getInstance()->getText("Group Category")); $menu->addOption(\Portfolio::getInstance()->getText("Educational")); $menu->addOption(\Portfolio::getInstance()->getTex("Office")); $menu->addOption(\Portfolio::getInstance()->getText(" Hobbies")); $input = new \Widgets\TextInput(); $grid = new \Widgets\Grid(); $grid->setData(array("headline" => array(array("name" => \Portfolio::getInstance()->getText("Group Dscription"), "colspan" => "2")), "rows" => array(array(array("content" => \Portfolio::getInstance()->getText("Group Name:"), "type" => "label"), array("content" => $input, "type" => "value")), array(array("content" => \Portfolio::getInstance()->getText("Group Details:"), "type" => "label"), array("content" => $input, "type" => "value"))))); $actionBar2 = new \Widgets\ActionBar(); $actionBar2->setActions(array(array("name" => \Portfolio::getInstance()->getText("Save"), "link" => $this->getExtension()->getExtensionUrl() . ""), array("name" => gettext("Cancel"), "link" => $this->getExtension()->getExtensionUrl() . ""))); $html = <<<end <style type="text/css"> </style> <div class="headline"> \t<h1>Create New Group</h1> </div> <ul class="tabBar"> <li class="tabIn"><a href="./..">Dashboard</a></li> <li class="tabIn"><a href="../profile/">Profile</a></li> <li class="tabIn"><a href="../myPortfolio/">Portfolio</a></li> <li class="tabOut"><a href="../groups/">Groups</a></li> <li style="clear: left;"> </li></ul> <br> <table class="grid" cellspacing="0" cellpadding="5" width="100%"> \t <tr> \t\t\t<th class="group" colspan="2">Group Details</th> \t </tr> \t <tr> <td class="label">Group name:</td> \t<td class="value"> \t\t<input type="text" "size="30" > </td> <tr> <td class="label">Group Type:</td> <td class="value"> <select name="values[OBJ_DESC]"> <option value=""></option> <option selected="selected" value="Educational">Educational</option> <option value="Professional">Profesional</option> <option value="General">General</option> </select> </td> </tr> <td class="label">Group Description:</td> <td class="value"> <textarea wrap="virtual" rows="10" style="width: 70%;" name="values[USER_PROFILE_DSC]"></textarea> <br> <a class="textformat_button" title="boldface" href="javascript:insert('[b]', '[/b]', 'formular', 'values[USER_PROFILE_DSC]')"> <b>B</b> </a> <a class="textformat_button" title="italic" href="javascript:insert('[i]', '[/i]', 'formular', 'values[USER_PROFILE_DSC]')"> <i>I</i> </a> <a class="textformat_button" title="underline" href="javascript:insert('[u]', '[/u]', 'formular', 'values[USER_PROFILE_DSC]')"> <u>U</u> </a> <a class="textformat_button" title="strikethrough" style="text-decoration: line-through;" href="javascript:insert('[s]', '[/s]', 'formular', 'values[USER_PROFILE_DSC]')">S</a> <a class="textformat_button" title="image" href="javascript:insert('[img]http://', '[/img]', 'formular', 'values[USER_PROFILE_DSC]')">IMG</a> <a class="textformat_button" title="web link" href="javascript:insert('[url=http://]', '[/url]', 'formular', 'values[USER_PROFILE_DSC]')">URL</a> <a class="textformat_button" title="email link" href="javascript:insert('[mail=@]', '[/mail]', 'formular', 'values[USER_PROFILE_DSC]')">MAIL</a> </td> </tr> \t </table> \t <div class="buttons"> <a class="button">Save</a> </div> \t end; $frameResponseObject->setTitle("Creategroup"); $rawHtml = new \Widgets\RawHtml(); $rawHtml->setHtml($html); $frameResponseObject->addWidget($breadcrumb); //$frameResponseObject->addWidget($tabBar); $frameResponseObject->addWidget($menu); $frameResponseObject->addWidget($grid); $frameResponseObject->addWidget($actionBar2); //$frameResponseObject->addWidget($rawHtml); return $frameResponseObject; }
public function frameResponse(\FrameResponseObject $frameResponseObject) { $breadcrumb = new \Widgets\Breadcrumb(); $breadcrumb->setData(array(array("name" => \Portfolio::getInstance()->getText("My Competences")))); $tabBar = new \Widgets\TabBar(); $tabBar->setTabs(array(array("name" => \Portfolio::getInstance()->getText("Dashboard"), "link" => $this->getextension()->getExtensionUrl() . "/"), array("name" => \Portfolio::getInstance()->getText("Competences"), "link" => $this->getExtension()->getExtensionUrl() . "ViewChart/"), array("name" => \Portfolio::getInstance()->getText("Artefacts"), "link" => $this->getExtension()->getExtensionUrl() . "ManageArtefacts/"))); $tabBar->setActiveTab(1); $jobs = \CompetenceRaster::getJobs(); $facets = \CompetenceRaster::getFacets(); $json_chart = array(); $html = <<<END \t <script type="text/javascript" src="https://www.google.com/jsapi"></script> \t\t<script type="text/javascript"> \t\tgoogle.load('visualization', '1', {packages: ['corechart']}); \t\t</script> END; foreach ($jobs as $job) { $name = $job->name; $html .= <<<END \t\t\t<script type="text/javascript"> \t\t\tfunction drawVisualization{$name}() { END; $data = "[['Activity', '1', '2', '3', '4', '5', '6', '7'],"; foreach ($facets as $facetObject) { $facet = $facetObject->short; $data .= "[\"{$facet}\", "; for ($i = 0; $i < 7; $i++) { $data .= count(\CompetenceRaster::getCompetences($job->name, $i, $facet)) . ","; } $data .= "],"; } $data .= "]"; //var_dump($data); $html .= <<<END \t\t\t\t// Some raw data (not necessarily accurate) \t\t\t\tvar data{$name} = google.visualization.arrayToDataTable({$data}); \t \t\t\t\t// Create and draw the visualization. \t\t\t\tvar comboChart{$name} = new google.visualization.ComboChart(document.getElementById('chart_div{$name}')); \t\t\t\tcomboChart{$name}.draw(data{$name}, { \t\t\t\t\ttitle : 'Kompetenzen mit Ausbildungsziel {$job->description}', \t\t\t\t\tvAxis: {title: "Anzahl"}, \t\t\t\t\thAxis: {title: "Facetten"}, \t\t\t\t\t \t\t\t\t\tseriesType: "bars", \t\t\t\t\t//series: {4: {type: "line"}} \t\t\t\t}); \t\t\t\t \t\t\t\tgoogle.visualization.events.addListener(comboChart{$name}, 'select' , function(){ \t\t\t\t\tvar row = comboChart{$name}.getSelection()[0].row; \t\t\t\t\tvar column = comboChart{$name}.getSelection()[0].column \t\t\t\t\tvar url = "/portfolio/ViewCompetence/?"; \t\t\t\t\tvar activity = 1 + row; //TODO \t\t\t\t\tswitch (row) { //TODO \t\t\t\t\t\tcase 0: \t\t\t\t\t\t\tfacet = "W"; \t\t\t\t\t\t\tbreak; \t \t\t\t\t\t\tcase 1: \t\t\t\t\t\t\tfacet = "F"; \t\t\t\t\t\t\tbreak; \t\t\t\t\t\t\t \t\t\t\t\t\tcase 2: \t\t\t\t\t\t\tfacet = "K"; \t\t\t\t\t\t\tbreak; \t\t\t\t\t\t\t \t\t\t\t\t\tcase 3: \t\t\t\t\t\t\tfacet = "M"; \t\t\t\t\t\t\tbreak; \t \t \t\t\t\t\t} \t\t\t\t url = url + "job={$name}" + "&activity=" + activity + "&facet=" + facet; \t\t\t\t window.location = url; \t\t\t\t}); \t\t\t} \t\t\tgoogle.setOnLoadCallback(drawVisualization{$name}); \t\t\t</script> \t\t\t<div id="chart_div{$name}" style="width:940px; height: 400px;"></div>\t\t END; //break; } $frameResponseObject->setTitle("Discuss View"); $rawHtml = new \Widgets\RawHtml(); $frameResponseObject->addWidget($breadcrumb); $frameResponseObject->addWidget($tabBar); $rawHtml->setHtml($html); $frameResponseObject->addWidget($rawHtml); return $frameResponseObject; }
public function frameResponse(\FrameResponseObject $frameResponseObject) { $breadcrumb = new \Widgets\Breadcrumb(); $breadcrumb->setData(array(array("name" => \Portfolio::getInstance()->getText("Shared Portfolios")))); $tabBar = new \Widgets\TabBar(); $tabBar->setTabs(array(array("name" => \Portfolio::getInstance()->getText("Dashboard"), "link" => $this->getextension()->getExtensionUrl() . "/"), array("name" => \Portfolio::getInstance()->getText("Portfolio"), "link" => $this->getExtension()->getExtensionUrl() . "myportfolio/"), array("name" => gettext("Shared Portfolios"), "link" => $this->getExtension()->getExtensionUrl() . "SharedProfiles/"))); $tabBar->setActiveTab(2); $clearer = new \Widgets\Clearer(); $boxSearch = new \Widgets\PortfolioViewBox(); $boxSearch->setTitle(\Portfolio::getInstance()->getText("Portfolios Shared With me ")); $boxSearch->setContent(" Shows the details about the portfolio like creator,atifacts,acess limitsetc."); $boxSearch->setButtons(array(array("name" => "Get Connected", "link" => "#"))); $boxSimilar = new \Widgets\PortfolioViewBox(); $boxSimilar->setTitle(\Portfolio::getInstance()->getText("Portfolios I Am Sharing with others")); $boxSimilar->setContent(" Shows the details about the portfolio like friends who can see, comments,acess limitsetc."); $boxSimilar->setButtons(array(array("name" => "Get Connected", "link" => "#"))); $html = <<<end <style type="text/css"> } select { border: 1px solid #D1D1D1; } select { margin-right: 0.25em; padding: 0.16em; } .box_view { \t\tborder: 1px solid #ccc; \t\tmargin: 5px 10px 15px 10px; \t\tbackground-color: #ccffcc; \t\twidth: 85%; \t\tpadding:10px; \t\tfloat: left; } a, a:link, a:active, a:visited { color: #3092CE; text-decoration: none; } </style> <div class="headline"> \t<h1>My Search Groups</h1> </div> <ul class="tabBar"> <li class="tabIn"><a href="./..">Dashboard</a></li> <li class="tabIn"><a href="../profile/">Profile</a></li> <li class="tabIn"><a href="../myportfolio">Portfolio</a></li> <li class="tabOut"><a href="../groups/">Groups</a></li> <li style="clear: left;"> </li></ul> <br> <h2>Find Groups</h2> <div class="text"> <input> </div> <div> <input type="submit" value="Search" name="search" class="submit"> </div> <br> <td><div class="box_view"> <h2><a href="">Group searched</a></h3> <p>Shows the details about the group.number of members connected,etc.</p> <div class="buttons"> <a class="button" ">get connected</a> </div> <td> </div> <td><div class="box_view"> <h2><a href="">similar group 1 2</a></h3> <p>Shows the details about the group.number of members connected,etc.</p> <div class="buttons"> <a class="button" ">get connected</a> </div> <td> </div> end; $frameResponseObject->setTitle("Searchgroups"); $rawHtml = new \Widgets\RawHtml(); $rawHtml->setHtml($html); $frameResponseObject->addWidget($breadcrumb); $frameResponseObject->addWidget($tabBar); $frameResponseObject->addWidget($clearer); $frameResponseObject->addWidget($boxSearch); $frameResponseObject->addWidget($boxSimilar); //$frameResponseObject->addWidget($rawHtml); return $frameResponseObject; }
public function frameResponse(\FrameResponseObject $frameResponseObject) { $artefact = \Artefacts::getById($this->artefactId); $actionBar = new \Widgets\ActionBar(); $actionBar->setActions(array(array("link" => "javascript:history.back()", "name" => "zurück"), array("name" => \Portfolio::getInstance()->getText("Beleg hinzufügen"), "ajax" => array("onclick" => array("command" => "UploadArtefactMessage", "params" => array("id" => $this->artefactId), "requestType" => "popup"))))); $breadcrumb = new \Widgets\Breadcrumb(); // $breadcrumb->setData(array(array("name"=>gettext("Manage Artefacts")))); // $breadcrumb->setData(array($artefact->getRoom())); $breadcrumb->setData(array(array("name" => $artefact->getName()))); $tabBar = new \Widgets\TabBar(); $tabBar->setTabs(array(array("name" => \Portfolio::getInstance()->getText("Dashboard"), "link" => $this->getextension()->getExtensionUrl() . "/"), array("name" => \Portfolio::getInstance()->getText("Competences"), "link" => $this->getExtension()->getExtensionUrl() . "ViewChart/"), array("name" => \Portfolio::getInstance()->getText("Artefacts"), "link" => $this->getExtension()->getExtensionUrl() . "ManageArtefacts/"), array("name" => $artefact->getName(), "link" => "#"))); $tabBar->setActiveTab(3); $clearer = new \Widgets\Clearer(); /* $loader = new \Widgets\Loader(); $loader->setWrapperId("artefactsWrapper"); $loader->setMessage("loading artefacts ..."); $loader->setCommand("loadArtefacts"); $loader->setParams(array()); $loader->setElementId("artefactsWrapper"); $loader->setType("updater"); */ $boxTip = new \Widgets\Box(); $boxTip->setTitle(\Portfolio::getInstance()->getText("Content of your Artefact")); $boxTip->setContent($artefact->getName() . "<br>" . +$artefact->getDescription()); // $content = "<pre>"; $content = ""; // $attributes = $artefact->get_attributes(); // foreach ($attributes as $attribute) { // $content .= $attribute . "<br>"; // } $content .= "Mime Type : " . $artefact->getMimeType() . "<br>"; // $content .= "</pre>"; $boxTip->setContent($content); $boxInfo = new \Widgets\Box(); $boxInfo->setTitle(\Portfolio::getInstance()->getText("Last Changes")); $boxInfo->setContent("TODO: Keine Änderungen vorhanden"); $boxDownload = new \Widgets\Box(); $boxDownload->setTitle(\Portfolio::getInstance()->getText("Download Artefact")); $boxDownload->setContent("<a href>TODO: Download</a>"); $boxDiscuss = new \Widgets\PortfolioViewBox(); $boxDiscuss->setTitle(\Portfolio::getInstance()->getText("Discuss View")); $boxDiscuss->setTitleLink($this->getextension()->getExtensionUrl() . "ViewChart/"); $boxDiscuss->setContent("Discuss view shows what other have commeted about your artefacts.if needed this content can be edited"); $boxDiscuss->setButtons(array(array("name" => "Edit", "link" => "#"), array("name" => "Manage Acess", "link" => $this->getextension()->getExtensionUrl() . "ManageArtefacts/"))); $boxCompetences = new \Widgets\PortfolioViewBox(); $boxCompetences->setTitle(\Portfolio::getInstance()->getText("Competences")); $htmlCompetences = ""; $competences = $artefact->getCompetences(); foreach ($competences as $competence) { $htmlCompetences .= "<br>" . $competence->short . ": " . $competence->name; } $boxCompetences->setContent($htmlCompetences); $url = \ExtensionMaster::getInstance()->getUrlForObjectId($artefact->get_id(), "competences"); $boxCompetences->setButtons(array(array("name" => "Set Competences", "link" => $url))); $frameResponseObject->setTitle("Manage Artefacts"); $frameResponseObject->addWidget($actionBar); $frameResponseObject->addWidget($breadcrumb); $frameResponseObject->addWidget($tabBar); $frameResponseObject->addWidget($clearer); $frameResponseObject->addWidget($boxTip); $frameResponseObject->addWidget($clearer); $frameResponseObject->addWidget($boxInfo); $frameResponseObject->addWidget($clearer); $frameResponseObject->addWidget($boxDownload); $frameResponseObject->addWidget($clearer); $frameResponseObject->addWidget($boxCompetences); $frameResponseObject->addWidget($clearer); //$frameResponseObject->addWidget($rawHtml); return $frameResponseObject; }
public function frameResponse(\FrameResponseObject $frameResponseObject) { $tabBar = new \Widgets\TabBar(); $tabBar->setTabs(array(array("name" => \Portfolio::getInstance()->getText("Dashboard"), "link" => $this->getextension()->getExtensionUrl() . "/"), array("name" => \Portfolio::getInstance()->getText("Competences"), "link" => $this->getExtension()->getExtensionUrl() . "ViewChart/"), array("name" => \Portfolio::getInstance()->getText("Artefacts"), "link" => $this->getExtension()->getExtensionUrl() . "ManageArtefacts/"))); $tabBar->setActiveTab(1); $breadcrumb = new \Widgets\Breadcrumb(); $breadcrumb->setData(array(array("name" => \Portfolio::getInstance()->getText("Chart"), "link" => $this->getExtension()->getExtensionUrl() . "ViewChart/"), array("name" => \Portfolio::getInstance()->getText("View Competance")))); \CompetenceRaster::initReadCompetences(); $comptetences = \CompetenceRaster::$competences; $collected = \CompetenceRaster::getCollectedCompetences(); $jobs = \CompetenceRaster::getJobs(); $activities = \CompetenceRaster::getActivityFields(); $facets = \CompetenceRaster::getFacets(); $html = "<br>"; if ($this->showCollected) { $html .= "<h1>Gesammelte Kompetenzen</h1>"; } else { $html .= "<h1>Offene Kompetenzen</h1>"; } foreach ($jobs as $job) { if (!($this->job == "" || $this->job == $job->name)) { continue; } $html .= "<h2>" . $job->description . "</h2>"; $html .= '<table class="grid">'; foreach ($activities as $activity) { if (!($this->activity == "" || $this->activity == $activity->short)) { continue; } $html .= "<tr><td colspan=7><h4>" . $activity->name . "</h4></td><tr>"; foreach ($facets as $facet) { if (!($this->facet == "" || $this->facet == $facet->short)) { continue; } $comptetences = \CompetenceRaster::getCompetences($job->name, $activity->short, $facet->short); foreach ($comptetences as $competence) { $url = "#"; $text = ""; if (!$this->showCollected && isset($collected[$job->name . $activity->short . $facet->short . $competence->getIndex()])) { continue; } elseif ($this->showCollected && !isset($collected[$job->name . $activity->short . $facet->short . $competence->getIndex()])) { //$artefact = Artefacts::getById($collected[$job->name . $activity->short . $facet->short . $competence->getIndex() . "ID"]); continue; } if ($this->showCollected && isset($collected[$job->name . $activity->short . $facet->short . $competence->getIndex()])) { $artefactId = $collected[$job->name . $activity->short . $facet->short . $competence->getIndex() . "ID"]; $text = "Artefakt"; $url = \ExtensionMaster::getInstance()->getUrlForObjectId($artefactId, "view"); } $checked = isset($collected[$job->name . $activity->short . $facet->short . $competence->getIndex()]) ? "checked=true" : ""; $html .= "<tr><td>" . $competence->job . "</td>"; $html .= "<td>" . $competence->activity . "</td>"; $html .= "<td>" . $competence->facet . "</td>"; $html .= "<td >" . $competence->index . "</td>"; $html .= "<td>" . $competence->name . "</td>"; $html .= "<td>" . "<input type=checkbox disabled=true " . $checked . "</td>"; $html .= "<td><a href=\"" . $url . "\">" . $text . "</a></td></tr>"; } } } $html .= "</table>"; } $frameResponseObject->setTitle("Competence View"); $rawHtml = new \Widgets\RawHtml(); $rawHtml->setHtml($html); $frameResponseObject->addWidget($breadcrumb); $frameResponseObject->addWidget($tabBar); $frameResponseObject->addWidget($rawHtml); return $frameResponseObject; }
public function frameResponse(\FrameResponseObject $frameResponseObject) { $workplanExtension = \Workplan::getInstance(); $workplanExtension->addJS(); $user = $GLOBALS["STEAM"]->get_current_steam_user(); $portal = \lms_portal::get_instance(); $objectID = $this->params[0]; $workplanContainer = \steam_factory::get_object($GLOBALS["STEAM"]->get_id(), $objectID); // move workplan to group workroom if form was submitted if ($_SERVER["REQUEST_METHOD"] == "POST" && isset($_POST["move"])) { $values = $_POST["values"]; $groupID = $values["groupid"]; $newgroup = \steam_factory::get_object($GLOBALS["STEAM"]->get_id(), $groupID); $newroom = $newgroup->get_workroom(); $workplanContainer->set_attribute("WORKPLAN_GROUP", $groupID); $workplanContainer->move($newroom); $portal->set_confirmation("Projektplan " . $workplanContainer->get_name() . " erfolgreich in Gruppe " . $newgroup->get_name() . " verschoben."); } if (is_object($workplanContainer) && $workplanContainer instanceof \steam_room) { $content = $workplanExtension->loadTemplate("workplan_users.template.html"); $content->setCurrentBlock("BLOCK_CONFIRMATION"); $content->setVariable("CONFIRMATION_TEXT", "NONE"); $content->parse("BLOCK_CONFIRMATION"); $confirmationBar = new \Widgets\RawHtml(); $confirmationBar->setHtml($content->get()); $frameResponseObject->addWidget($confirmationBar); // if current user has required rights display actionbar if ($workplanContainer->get_creator()->get_id() == $user->get_id()) { $actionBar = new \Widgets\ActionBar(); $actionBar->setActions(array(array("name" => "Mitarbeiter bearbeiten", "link" => "javascript:changeUsers(" . $objectID . ")"))); $frameResponseObject->addWidget($actionBar); } $tabBar = new \Widgets\TabBar(); $tabBar->setTabs(array(array("name" => "Überblick", "link" => $this->getExtension()->getExtensionUrl() . "overview/" . $objectID), array("name" => "Tabelle", "link" => $this->getExtension()->getExtensionUrl() . "listView/" . $objectID), array("name" => "Gantt-Diagramm", "link" => $this->getExtension()->getExtensionUrl() . "ganttView/" . $objectID), array("name" => "Mitarbeiter", "link" => $this->getExtension()->getExtensionUrl() . "users/" . $objectID), array("name" => "Snapshots", "link" => $this->getExtension()->getExtensionUrl() . "snapshots/" . $objectID))); $tabBar->setActiveTab(3); $frameResponseObject->addWidget($tabBar); $content = $workplanExtension->loadTemplate("workplan_users.template.html"); $content->setCurrentBlock("BLOCK_USERS_LIST"); $content->setVariable("WORKPLAN_USERS_ELEMENT_NAME", "Name"); $content->setVariable("WORKPLAN_USERS_ELEMENT_ROLE", "Rolle"); $content->setVariable("WORKPLAN_USERS_ELEMENT_RESSOURCE", "Ressourcenwert"); // check if workplan is in group and save the right users in array (sorted according to their role) $group = 0; if (in_array("WORKPLAN_GROUP", $workplanContainer->get_attribute_names())) { $group = $workplanContainer->get_attribute("WORKPLAN_GROUP"); } if ($group == 0) { $users = array(); array_push($users, $workplanContainer->get_creator()); } else { $groupObject = \steam_factory::get_object($GLOBALS["STEAM"]->get_id(), $group); $users = array(); $normalusers = array(); $groupusers = $groupObject->get_members(); array_push($users, $workplanContainer->get_creator()); for ($count = 0; $count < count($groupusers); $count++) { if ($groupusers[$count]->get_id() != $workplanContainer->get_creator()->get_id()) { if (in_array("WORKPLAN_" . $groupusers[$count]->get_id() . "_LEADER", $workplanContainer->get_attribute_names())) { array_push($users, $groupusers[$count]); } else { array_push($normalusers, $groupusers[$count]); } } } $users = array_merge($users, $normalusers); } // display found users sorted according to their role for ($count = 0; $count < count($users); $count++) { $content->setCurrentBlock("BLOCK_USERS_ELEMENT"); $content->setVariable("WORKPLAN_USERS_ELEMENT_NAME_VALUE", $users[$count]->get_full_name()); $content->setVariable("WORKPLAN_USERS_ELEMENT_RESSOURCE_VALUE", $workplanContainer->get_attribute("WORKPLAN_" . $users[$count]->get_id() . "_RESSOURCE")); if ($workplanContainer->get_creator()->get_id() == $users[$count]->get_id()) { $content->setVariable("WORKPLAN_USERS_ELEMENT_ROLE_VALUE", "Projektersteller"); } else { if (in_array("WORKPLAN_" . $users[$count]->get_id() . "_LEADER", $workplanContainer->get_attribute_names())) { $content->setVariable("WORKPLAN_USERS_ELEMENT_ROLE_VALUE", "Projektleiter"); } else { $content->setVariable("WORKPLAN_USERS_ELEMENT_ROLE_VALUE", "Mitarbeiter"); } } $content->parse("BLOCK_USERS_ELEMENT"); } $content->parse("BLOCK_USERS_LIST"); // if workplan is private display dialog to move it to a group the current user is member in if ($group == 0) { $groups = $user->get_groups(); $koalagroups = array(); for ($count = 0; $count < count($groups); $count++) { $currentGroup = $groups[$count]; if (substr($currentGroup->get_groupname(), 0, 10) == 'PrivGroups' | substr($currentGroup->get_groupname(), 0, 12) == 'PublicGroups') { array_push($koalagroups, $currentGroup); } } if (count($koalagroups) > 0) { $content->setCurrentBlock("BLOCK_USERS_TOGROUP"); $content->setVariable("WORKPLAN_TOGROUP", "Verschieben in Gruppe: "); $content->setVariable("GROUPCOUNT", count($koalagroups)); $content->setVariable("LABEL_MOVE", "Verschieben"); for ($count = 0; $count < count($koalagroups); $count++) { $currentGroup = $koalagroups[$count]; $content->setCurrentBlock("BLOCK_USERS_TOGROUP_ELEMENT"); $content->setVariable("GROUPID", $currentGroup->get_id()); $content->setVariable("GROUPNAME", $currentGroup->get_name()); $content->parse("BLOCK_USERS_TOGROUP_ELEMENT"); } $content->parse("BLOCK_USERS_TOGROUP"); } } $rawWidget = new \Widgets\RawHtml(); $rawWidget->setHtml($content->get()); $frameResponseObject->setTitle("Projektplan: " . $workplanContainer->get_name()); $frameResponseObject->setHeadline(array(array("link" => $this->getExtension()->getExtensionUrl(), "name" => "Projektplanverwaltung"), array("", "name" => $workplanContainer->get_name()))); $frameResponseObject->addWidget($rawWidget); return $frameResponseObject; } }
public function frameResponse(\FrameResponseObject $frameResponseObject) { $workplanExtension = \Workplan::getInstance(); $workplanExtension->addJS(); $workplanExtension->addJS($fileName = 'jsgantt.js'); $workplanExtension->addCSS($fileName = 'jsgantt.css'); $user = $GLOBALS["STEAM"]->get_current_steam_user(); $portal = \lms_portal::get_instance(); $objectID = $this->params[0]; $workplanContainer = \steam_factory::get_object($GLOBALS["STEAM"]->get_id(), $objectID); $xmlfile = $workplanContainer->get_inventory_filtered(array(array("+", "class", CLASS_DOCUMENT))); $createContainer = 0; // check if user submitted create milestone or create task form if ($_SERVER["REQUEST_METHOD"] == "POST") { if (isset($_POST["new_milestone"])) { $createContainer = 1; } else { if (isset($_POST["new_task"])) { $createContainer = 2; } } } // create new milestone or task if ($createContainer != 0) { $xmltree = new \SimpleXMLElement($xmlfile[0]->get_content()); if ($createContainer == 1) { $xml = $xmltree->addChild("milestone"); $newName = $_POST["milestonename"]; $newStart = $_POST["milestonedate"]; $newStart = mktime(0, 0, 0, substr($newStart, 3, 2), substr($newStart, 0, 2), substr($newStart, 6, 4)); $newEnd = $_POST["milestonedate"]; $newEnd = mktime(0, 0, 0, substr($newEnd, 3, 2), substr($newEnd, 0, 2), substr($newEnd, 6, 4)); if (strlen($_POST["milestoneduration"]) > 0) { $newDuration = $_POST["milestoneduration"]; } else { $newDuration = -1; } if (strlen($_POST["milestonedepends"]) > 0) { $newDepends = $_POST["milestonedepends"]; } else { $newDepends = -1; } $newUsers = ""; if (isset($_POST["milestoneusers"])) { for ($count = 0; $count < count($_POST["milestoneusers"]); $count++) { $newUsers = $newUsers . $_POST["milestoneusers"][$count] . ","; } $newUsers = substr($newUsers, 0, strlen($newUsers) - 1); } $portal->set_confirmation("Meilenstein " . $newName . " wurde erfolgreich erstellt."); } else { $xml = $xmltree->addChild("task"); $newName = $_POST["taskname"]; $newStart = $_POST["taskstart"]; $newStart = mktime(0, 0, 0, substr($newStart, 3, 2), substr($newStart, 0, 2), substr($newStart, 6, 4)); $newEnd = $_POST["taskend"]; $newEnd = mktime(0, 0, 0, substr($newEnd, 3, 2), substr($newEnd, 0, 2), substr($newEnd, 6, 4)); if (strlen($_POST["taskduration"]) > 0) { $newDuration = $_POST["taskduration"]; } else { $newDuration = -1; } if (strlen($_POST["taskdepends"]) > 0) { $newDepends = $_POST["taskdepends"]; } else { $newDepends = -1; } $newUsers = ""; if (isset($_POST["taskusers"])) { for ($count = 0; $count < count($_POST["taskusers"]); $count++) { $newUsers = $newUsers . $_POST["taskusers"][$count] . ","; } $newUsers = substr($newUsers, 0, strlen($newUsers) - 1); } $portal->set_confirmation("Vorgang " . $newName . " wurde erfolgreich erstellt."); } $newContainer = \steam_factory::create_container($GLOBALS["STEAM"]->get_id(), $newName, $workplanContainer); $xml->addChild("name", $newName); $xml->addChild("oid", $newContainer->get_id()); $newContainer->set_attribute("WORKPLAN_START", $newStart); $xml->addChild("start", $newStart); $newContainer->set_attribute("WORKPLAN_END", $newEnd); $xml->addChild("end", $newEnd); $xml->addChild("duration", $newDuration); $newContainer->set_attribute("WORKPLAN_DURATION", $newDuration); $xml->addChild("depends", $newDepends); $newContainer->set_attribute("WORKPLAN_DEPENDS", $newDepends); $newContainer->set_attribute("WORKPLAN_USERS", $newUsers); $xml->addChild("users", $newUsers); $xmlfile[0]->set_content($xmltree->saveXML()); } if (is_object($workplanContainer) && $workplanContainer instanceof \steam_room) { // if user has the required rights display actionbar if ($user->get_id() == $workplanContainer->get_creator()->get_id() || in_array("WORKPLAN_" . $user->get_id() . "_LEADER", $workplanContainer->get_attribute_names())) { $content = $workplanExtension->loadTemplate("workplan_ganttview.template.html"); $content->setCurrentBlock("BLOCK_CONFIRMATION"); $content->setVariable("CONFIRMATION_TEXT", "NONE"); $content->parse("BLOCK_CONFIRMATION"); $content->setCurrentBlock("BLOCK_WORKPLAN_GANTT_ACTIONBAR"); $content->setVariable("LABEL_NEW_SNAPSHOT", "Snapshot erstellen"); $content->setVariable("WORKPLAN_ID", $objectID); $content->setVariable("LABEL_NEW_MILESTONE", "Neuer Meilenstein"); $content->setVariable("LABEL_NEW_TASK", "Neuer Vorgang"); $content->parse("BLOCK_WORKPLAN_GANTT_ACTIONBAR"); $actionBar = new \Widgets\RawHtml(); $actionBar->setHtml($content->get()); $frameResponseObject->addWidget($actionBar); } $tabBar = new \Widgets\TabBar(); $tabBar->setTabs(array(array("name" => "Überblick", "link" => $this->getExtension()->getExtensionUrl() . "overview/" . $objectID), array("name" => "Tabelle", "link" => $this->getExtension()->getExtensionUrl() . "listView/" . $objectID), array("name" => "Gantt-Diagramm", "link" => $this->getExtension()->getExtensionUrl() . "ganttView/" . $objectID), array("name" => "Mitarbeiter", "link" => $this->getExtension()->getExtensionUrl() . "users/" . $objectID), array("name" => "Snapshots", "link" => $this->getExtension()->getExtensionUrl() . "snapshots/" . $objectID))); $tabBar->setActiveTab(2); $frameResponseObject->addWidget($tabBar); $xml = simplexml_load_string($xmlfile[0]->get_content()); $helpToArray = $xml->children(); $list = array(); for ($counter = 0; $counter < count($helpToArray); $counter++) { array_push($list, $helpToArray[$counter]); } usort($list, 'sort_xmllist'); $content = $workplanExtension->loadTemplate("workplan_ganttview.template.html"); if (count($list) == 0) { $content->setCurrentBlock("BLOCK_WORKPLAN_GANTT_EMPTY"); $content->setVariable("WORKPLAN_GANTT_EMPTY", "Keine Meilensteine oder Vorgänge zu diesem Projektplan vorhanden."); $content->parse("BLOCK_WORKPLAN_GANTT_EMPTY"); } // change the format of the information so it can be displayed via javascript/jsgantt $oids = "["; $tasks = "["; $starts = "["; $ends = "["; $dependslist = "["; $milestones = "["; for ($counter = 0; $counter < count($list); $counter++) { $name = $list[$counter]->name; $tasks = $tasks . $name . ","; $starts = $starts . (int) $list[$counter]->start . ","; $ends = $ends . (int) $list[$counter]->end . ","; $oids = $oids . $list[$counter]->oid . ","; $depends = $list[$counter]->depends; if ($depends == -1) { $dependslist = $dependslist . "-1,"; } else { $dependslist = $dependslist . $depends . ","; } if ($list[$counter]->getName() == "milestone") { $milestones = $milestones . "1,"; } else { $milestones = $milestones . "0,"; } } if (count($list) > 0) { $oids = substr($oids, 0, strlen($oids) - 1) . "]"; $tasks = substr($tasks, 0, strlen($tasks) - 1) . "]"; $starts = substr($starts, 0, strlen($starts) - 1) . "]"; $ends = substr($ends, 0, strlen($ends) - 1) . "]"; $dependslist = substr($dependslist, 0, strlen($dependslist) - 1) . "]"; $milestones = substr($milestones, 0, strlen($milestones) - 1) . "]"; } else { $oids = $oids . "]"; $tasks = $tasks . "]"; $starts = $starts . "]"; $ends = $ends . "]"; $dependslist = $dependslist . "]"; $milestones = $milestones . "]"; } $content->setCurrentBlock("BLOCK_GANTT_CHART"); $content->setVariable("GANTT_DIV", "ganttchartdiv"); $content->setVariable("WORKPLAN_GANTT_TASKS", $tasks); $content->setVariable("WORKPLAN_GANTT_OID", $oids); $content->setVariable("WORKPLAN_GANTT_MILESTONE", $milestones); $content->setVariable("WORKPLAN_GANTT_DEPENDS", $dependslist); $content->setVariable("WORKPLAN_GANTT_START", $starts); $content->setVariable("WORKPLAN_GANTT_END", $ends); $content->parse("BLOCK_GANTT_CHART"); $content->setCurrentBlock("BLOCK_WORKPLAN_LIST_FORMULAR"); $content->setVariable("LABEL_NEW_MILESTONE", "Meilenstein hinzufügen"); $content->setVariable("LABEL_NEW_TASK", "Vorgang hinzufügen"); $content->setVariable("NAME_LABEL", "Name:*"); $content->setVariable("START_LABEL", "Beginn:*"); $content->setVariable("END_LABEL", "Ende:*"); $content->setVariable("DATE_LABEL", "Datum:*"); $content->setVariable("DURATION_LABEL", "Dauer:"); $content->setVariable("DEPENDS_LABEL", "Abhängigkeit:"); $content->setVariable("USERS_LABEL", "Mitarbeiter:"); $groupID = 0; if (in_array("WORKPLAN_GROUP", $workplanContainer->get_attribute_names())) { $groupID = $workplanContainer->get_attribute("WORKPLAN_GROUP"); } if ($groupID == 0) { $content->setCurrentBlock("BEGIN BLOCK_USER_OPTION_MILESTONE"); $content->setVariable("USER_ID", $user->get_id()); $content->setVariable("USER_NAME", $user->get_full_name()); $content->parse("BLOCK_USER_OPTION_MILESTONE"); $content->setCurrentBlock("BEGIN BLOCK_USER_OPTION_TASK"); $content->setVariable("USER_ID", $user->get_id()); $content->setVariable("USER_NAME", $user->get_full_name()); if (in_array("WORKPLAN_" . $user->get_id() . "_RESSOURCE", $workplanContainer->get_attribute_names())) { $content->setVariable("USER_RESSOURCE", $workplanContainer->get_attribute("WORKPLAN_" . $user->get_id() . "_RESSOURCE")); } else { $content->setVariable("USER_RESSOURCE", 0); } $content->parse("BLOCK_USER_OPTION_TASK"); } else { $groupObject = \steam_factory::get_object($GLOBALS["STEAM"]->get_id(), $groupID); $members = $groupObject->get_members(); for ($count = 0; $count < count($members); $count++) { $currentMember = $members[$count]; $content->setCurrentBlock("BEGIN BLOCK_USER_OPTION_MILESTONE"); $content->setVariable("USER_ID", $currentMember->get_id()); $content->setVariable("USER_NAME", $currentMember->get_full_name()); $content->parse("BLOCK_USER_OPTION_MILESTONE"); $content->setCurrentBlock("BEGIN BLOCK_USER_OPTION_TASK"); $content->setVariable("USER_ID", $currentMember->get_id()); $content->setVariable("USER_NAME", $currentMember->get_full_name()); if (in_array("WORKPLAN_" . $currentMember->get_id() . "_RESSOURCE", $workplanContainer->get_attribute_names())) { $content->setVariable("USER_RESSOURCE", $workplanContainer->get_attribute("WORKPLAN_" . $currentMember->get_id() . "_RESSOURCE")); } else { $content->setVariable("USER_RESSOURCE", 0); } $content->parse("BLOCK_USER_OPTION_TASK"); } } $content->setCurrentBlock("BLOCK_LIST_MILESTONE_DEPENDS"); $content->setVariable("DEPENDS_OID", "-1"); $content->setVariable("DEPENDS_NAME", "Keine Abhängigkeit"); $content->parse("BLOCK_LIST_MILESTONE_DEPENDS"); $content->setCurrentBlock("BLOCK_LIST_TASK_DEPENDS"); $content->setVariable("DEPENDS_OID", "-1"); $content->setVariable("DEPENDS_NAME", "Keine Abhängigkeit"); $content->parse("BLOCK_LIST_TASK_DEPENDS"); for ($count = 0; $count < count($list); $count++) { if ($list[$count]->getName() == 'task') { $content->setCurrentBlock("BLOCK_LIST_MILESTONE_DEPENDS"); $content->setVariable("DEPENDS_OID", $list[$count]->oid); $content->setVariable("DEPENDS_NAME", $list[$count]->name); $content->parse("BLOCK_LIST_MILESTONE_DEPENDS"); $content->setCurrentBlock("BLOCK_LIST_TASK_DEPENDS"); $content->setVariable("DEPENDS_OID", $list[$count]->oid); $content->setVariable("DEPENDS_NAME", $list[$count]->name); $content->parse("BLOCK_LIST_TASK_DEPENDS"); } } $content->setVariable("LABEL_BACK", "Ausblenden"); $content->setVariable("LABEL_ADD", "Hinzufügen"); $content->setVariable("WORKPLAN_ID", $this->params[0]); $content->parse("BLOCK_WORKPLAN_LIST_FORMULAR"); $rawWidget = new \Widgets\RawHtml(); $rawWidget->setHtml($content->get()); $frameResponseObject->setTitle("Projektplan: " . $workplanContainer->get_name()); $frameResponseObject->setHeadline(array(array("link" => $this->getExtension()->getExtensionUrl(), "name" => "Projektplanverwaltung"), array("", "name" => $workplanContainer->get_name()))); $frameResponseObject->addWidget($rawWidget); return $frameResponseObject; } }
public function frameResponse(\FrameResponseObject $frameResponseObject) { $breadcrumb = new \Widgets\Breadcrumb(); $breadcrumb->setData(array(array("name" => \Portfolio::getInstance()->getText("My Competences")))); $tabBar = new \Widgets\TabBar(); $tabBar->setTabs(array(array("name" => \Portfolio::getInstance()->getText("Dashboard"), "link" => $this->getextension()->getExtensionUrl() . "/"), array("name" => \Portfolio::getInstance()->getText("Competences"), "link" => $this->getExtension()->getExtensionUrl() . "ViewChart/"), array("name" => \Portfolio::getInstance()->getText("Artefacts"), "link" => $this->getExtension()->getExtensionUrl() . "ManageArtefacts/"))); $tabBar->setActiveTab(1); $frameResponseObject->addWidget($breadcrumb); $frameResponseObject->addWidget($tabBar); $jobs = \CompetenceRaster::getJobs(); $html = '<div align="right"><select id="jobs"><option value="all">Beruf wählen</option><option value="all">Alle</option>'; foreach ($jobs as $job) { $html .= '<option value="' . $job->name . '">' . $job->name . ": " . $job->description . '</option>'; } $html .= <<<END \t\t</select></div> \t\t<script> \t\tfunction filter(){ \t\t\t\$(".chart").hide(); \t\t job = \$('select[id="jobs"] option:selected').val(); \t\t if (job == "all"){ \t\t\t\t\$(".chart").fadeIn(); \t\t\t} \t \t\$("#div_" + job + "_1").fadeIn(); \t \t\$('#div_' + job ).fadeIn(); \t\t} \t\t\$('select[id="jobs"]').change(function() { \t\t\tfilter(); \t\t}); \t\t</script> END; $rawHtml = new \Widgets\RawHtml(); $rawHtml->setHtml($html); $frameResponseObject->addWidget($rawHtml); $arrayArtefactCompetencesCount = \CompetenceRaster::getCollectedCompetences(); foreach ($this->jobs as $job) { // $urlEventArray = array(); // $row = 0; $baseUrl = "/portfolio/ViewCompetence/?job=" . $job; // $jobObject = \CompetenceJob::getJobByName($job); // $jsonChart = array(); // $chartWidget = new \Widgets\Chart(); // $headerActivitiesArray = array("Aktivitäten"); // foreach ($this->activities as $activity){ // $headerActivitiesArray []= "Tätigkeitsfeld " . $activity; // } // $jsonChart []= $headerActivitiesArray; // foreach ($this->facets as $facet) { // $facetArray = array($facet); // $column = 0; // foreach ($this->activities as $activity){ // $facetArray []= isset($arrayArtefactCompetencesCount[$job . $activity . $facet]) ? $arrayArtefactCompetencesCount[$job . $activity . $facet] : 0; // $urlEventArray [$row][$column]= $baseUrl . "&activity=" . $column . "&facet=" . $facet . "&sc=1"; // $column++; // } // $jsonChart []= $facetArray; // $row++; // } // // $chartWidget->setData(json_encode($jsonChart)); // $chartWidget->setUrlData(json_encode($urlEventArray)); // $chartWidget->setDescription($job); // $chartWidget->setVAxisTitle("Facetten"); // $chartWidget->setHAxisTitle("Anzahl"); // $chartWidget->setId($job); // $chartWidget->setTitle($jobObject->description . " - Absolute Anzahl an Kompetenzen"); // // $frameResponseObject->addWidget($chartWidget); $urlEventArray = array(); $row = 0; $arrayCompetencesQuantity = \CompetenceRaster::getCompetencesQuantity(); $jsonChart = array(); $chartWidget = new \Widgets\Chart(); $headerActivitiesArray = array("Aktivitäten"); $headerActivitiesArray[] = "IST"; $headerActivitiesArray[] = "SOLL"; $jsonChart[] = $headerActivitiesArray; foreach ($this->activities as $activity) { $activityArray = array($activity); $quantityAll = isset($arrayCompetencesQuantity[$job . $activity]) ? $arrayCompetencesQuantity[$job . $activity] : 0; $absoluteCredit = isset($arrayArtefactCompetencesCount[$job . $activity]) ? $arrayArtefactCompetencesCount[$job . $activity] : 0; $absoluteDebit = $quantityAll - $absoluteCredit; $percentCredit = $absoluteDebit == 0 ? 0 : round($absoluteCredit / $quantityAll * 100, 2); $percentDebit = $absoluteDebit == 0 ? 0 : -100 + $percentCredit; $activityArray[] = $absoluteCredit; $activityArray[] = $absoluteDebit; $urlEventArray[$row] = array(1 => $baseUrl . "&activity=" . $activity . "&sc=1", 2 => $baseUrl . "&activity=" . $activity . "&sc=0"); $row++; $jsonChart[] = $activityArray; } $chartWidget->setData(json_encode($jsonChart)); $chartWidget->setUrlData(json_encode($urlEventArray)); $chartWidget->setDescription($job); $chartWidget->setVAxisTitle("Tätigkeitsfelder"); $chartWidget->setHAxisTitle("Anzahl erreicht / noch zu erledigen"); $chartWidget->setId($job); $chartWidget->setTitle($jobObject->description . " - Absolut"); $frameResponseObject->addWidget($chartWidget); ###################################### $urlEventArray1 = array(); $row = 0; $arrayCompetencesQuantity = \CompetenceRaster::getCompetencesQuantity(); $jsonChart1 = array(); $chartWidget1 = new \Widgets\Chart(); $headerActivitiesArray1 = array("Aktivitäten"); $headerActivitiesArray1[] = "IST"; $headerActivitiesArray1[] = "SOLL"; $jsonChart1[] = $headerActivitiesArray1; foreach ($this->activities as $activity) { $activityArray1 = array($activity); $quantityAll = isset($arrayCompetencesQuantity[$job . $activity]) ? $arrayCompetencesQuantity[$job . $activity] : 0; $absoluteCredit = isset($arrayArtefactCompetencesCount[$job . $activity]) ? $arrayArtefactCompetencesCount[$job . $activity] : 0; $absoluteDebit = $quantityAll - $absoluteCredit; $percentCredit = $absoluteDebit == 0 ? 0 : round($absoluteCredit / $quantityAll * 100, 2); $percentDebit = $absoluteDebit == 0 ? 0 : -100 + $percentCredit; $activityArray1[] = $percentCredit; $activityArray1[] = $percentDebit; $urlEventArray1[$row] = array(1 => $baseUrl . "&activity=" . $activity . "&sc=1", 2 => $baseUrl . "&activity=" . $activity . "&sc=0"); $row++; $jsonChart1[] = $activityArray1; } $chartWidget1->setData(json_encode($jsonChart1)); $chartWidget1->setUrlData(json_encode($urlEventArray1)); $chartWidget1->setDescription($job); $chartWidget1->setVAxisTitle("Tätigkeitsfelder"); $chartWidget1->setHAxisTitle("Prozent erreicht / noch zu erledigen"); $chartWidget1->setId($job . "_1"); $chartWidget1->setTitle($jobObject->description . " - Prozentual"); $frameResponseObject->addWidget($chartWidget1); } $rawHtml1 = new \Widgets\RawHtml(); $rawHtml1->setHtml("<script>\$(\".chart\").fadeOut();\$('#div_CL_1').fadeIn();\$('#div_CL').fadeIn();\n\t\t</script>"); $frameResponseObject->addWidget($rawHtml1); return $frameResponseObject; }