Esempio n. 1
0
 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);
 }
Esempio n. 2
0
 public function frameResponse(\FrameResponseObject $frameResponseObject)
 {
     $artefact = \Artefacts::getById($this->artefactId);
     $actionBar = new \Widgets\ActionBar();
     $actionBar->setActions(array(array("link" => "javascript:history.back()", "name" => "zurück"), array("name" => \Portfolio::getInstance()->getText("Beleg hinzufügen"), "ajax" => array("onclick" => array("command" => "UploadArtefactMessage", "params" => array("id" => $this->artefactId), "requestType" => "popup")))));
     $breadcrumb = new \Widgets\Breadcrumb();
     //	$breadcrumb->setData(array(array("name"=>gettext("Manage Artefacts"))));
     //	$breadcrumb->setData(array($artefact->getRoom()));
     $breadcrumb->setData(array(array("name" => $artefact->getName())));
     $tabBar = new \Widgets\TabBar();
     $tabBar->setTabs(array(array("name" => \Portfolio::getInstance()->getText("Dashboard"), "link" => $this->getextension()->getExtensionUrl() . "/"), array("name" => \Portfolio::getInstance()->getText("Competences"), "link" => $this->getExtension()->getExtensionUrl() . "ViewChart/"), array("name" => \Portfolio::getInstance()->getText("Artefacts"), "link" => $this->getExtension()->getExtensionUrl() . "ManageArtefacts/"), array("name" => $artefact->getName(), "link" => "#")));
     $tabBar->setActiveTab(3);
     $clearer = new \Widgets\Clearer();
     /*
     $loader = new \Widgets\Loader();
     $loader->setWrapperId("artefactsWrapper");
     $loader->setMessage("loading artefacts ...");
     $loader->setCommand("loadArtefacts");
     $loader->setParams(array());
     $loader->setElementId("artefactsWrapper");
     $loader->setType("updater");
     */
     $boxTip = new \Widgets\Box();
     $boxTip->setTitle(\Portfolio::getInstance()->getText("Content of your Artefact"));
     $boxTip->setContent($artefact->getName() . "<br>" . +$artefact->getDescription());
     //		$content = "<pre>";
     $content = "";
     //		$attributes = $artefact->get_attributes();
     //		foreach ($attributes as $attribute) {
     //			$content .= $attribute . "<br>";
     //		}
     $content .= "Mime Type : " . $artefact->getMimeType() . "<br>";
     //		$content .= "</pre>";
     $boxTip->setContent($content);
     $boxInfo = new \Widgets\Box();
     $boxInfo->setTitle(\Portfolio::getInstance()->getText("Last Changes"));
     $boxInfo->setContent("TODO: Keine Änderungen vorhanden");
     $boxDownload = new \Widgets\Box();
     $boxDownload->setTitle(\Portfolio::getInstance()->getText("Download Artefact"));
     $boxDownload->setContent("<a href>TODO: Download</a>");
     $boxDiscuss = new \Widgets\PortfolioViewBox();
     $boxDiscuss->setTitle(\Portfolio::getInstance()->getText("Discuss View"));
     $boxDiscuss->setTitleLink($this->getextension()->getExtensionUrl() . "ViewChart/");
     $boxDiscuss->setContent("Discuss view shows what other have commeted about your artefacts.if needed this content  can be edited");
     $boxDiscuss->setButtons(array(array("name" => "Edit", "link" => "#"), array("name" => "Manage Acess", "link" => $this->getextension()->getExtensionUrl() . "ManageArtefacts/")));
     $boxCompetences = new \Widgets\PortfolioViewBox();
     $boxCompetences->setTitle(\Portfolio::getInstance()->getText("Competences"));
     $htmlCompetences = "";
     $competences = $artefact->getCompetences();
     foreach ($competences as $competence) {
         $htmlCompetences .= "<br>" . $competence->short . ": " . $competence->name;
     }
     $boxCompetences->setContent($htmlCompetences);
     $url = \ExtensionMaster::getInstance()->getUrlForObjectId($artefact->get_id(), "competences");
     $boxCompetences->setButtons(array(array("name" => "Set Competences", "link" => $url)));
     $frameResponseObject->setTitle("Manage Artefacts");
     $frameResponseObject->addWidget($actionBar);
     $frameResponseObject->addWidget($breadcrumb);
     $frameResponseObject->addWidget($tabBar);
     $frameResponseObject->addWidget($clearer);
     $frameResponseObject->addWidget($boxTip);
     $frameResponseObject->addWidget($clearer);
     $frameResponseObject->addWidget($boxInfo);
     $frameResponseObject->addWidget($clearer);
     $frameResponseObject->addWidget($boxDownload);
     $frameResponseObject->addWidget($clearer);
     $frameResponseObject->addWidget($boxCompetences);
     $frameResponseObject->addWidget($clearer);
     //$frameResponseObject->addWidget($rawHtml);
     return $frameResponseObject;
 }
Esempio n. 3
0
    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;
    }
Esempio n. 4
0
 /**
  * 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');
     }
 }