public function processData(\IRequestObject $requestObject) { $this->params = $requestObject->getParams(); $this->competenceId = $this->params["competence"]; $this->checked = $this->params["checked"]; $this->artefactId = $this->params["artefactId"]; $this->artefact = \Artefacts::getById($this->artefactId); }
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) { 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; }
/** * Returns array('success'=>true) or array('error'=>'error message') */ function handleUpload($uploadDirectory) { if (!is_writable($uploadDirectory)) { return array('error' => "Server error. Upload directory isn't writable."); } if (!$this->file) { return array('error' => 'No files were uploaded.'); } $size = $this->file->getSize(); if ($size == 0) { return array('error' => 'File is empty'); } if ($size > $this->sizeLimit) { return array('error' => 'File is too large'); } $pathinfo = pathinfo($this->file->getName()); $filename = $pathinfo['filename']; //$filename = md5(uniqid()); $ext = $pathinfo['extension']; if ($this->allowedExtensions && !in_array(strtolower($ext), $this->allowedExtensions)) { $these = implode(', ', $this->allowedExtensions); return array('error' => 'File has an invalid extension, it should be one of ' . $these . '.'); } //create empty steam_document and check write access //$steam_document = \steam_factory::create_document($GLOBALS["STEAM"]->get_id(), $this->file->getName(), "", "" , \steam_factory::get_object($GLOBALS["STEAM"]->get_id(), $this->envid)); if ($this->file->save($uploadDirectory . $filename . '.' . $ext)) { $artefact = \Artefacts::getById($this->envid); $artefact->setData(file_get_contents($uploadDirectory . $filename . '.' . $ext)); //$steam_document->set_content(file_get_contents($uploadDirectory . $filename . '.' . $ext)); unlink($uploadDirectory . $filename . '.' . $ext); return array('success' => true); } else { return array('error' => 'Could not save uploaded file.' . 'The upload was cancelled, or server error encountered'); } }