コード例 #1
0
ファイル: ArtefactModel.class.php プロジェクト: rolwi/koala
 public static function createObject($name, $description = "", $content = "", $mimeType = "application/x-msdownload", $artefactClass, $user = null)
 {
     self::init();
     if ($user == null) {
         $user = lms_steam::get_current_user();
     }
     $newArtefact = steam_factory::create_room($GLOBALS["STEAM"]->get_id(), $name, Artefacts::getArtefactsContainer($user), "Artefact: " + $name);
     $newArtefact->set_attribute(PORTFOLIO_PREFIX . "TYPE", "ARTEFACT");
     $newArtefact->set_attribute(PORTFOLIO_PREFIX . "ARTEFACTCLASS", $artefactClass);
     $dataPresent = $content == "" ? false : true;
     $newArtefact->set_attribute(PORTFOLIO_PREFIX . "DATAPRESENT", $dataPresent);
     $newArtefact->set_attribute(PORTFOLIO_PREFIX . "LINKED_LOCATIONS", array());
     $newArtefact->set_attribute("OBJ_TYPE", PORTFOLIO_PREFIX . "ARTEFACT");
     if ($dataPresent) {
         $data = steam_factory::create_document($GLOBALS["STEAM"]->get_id(), "data", $content, $mimeType, $newArtefact);
     }
     $newArtefactObject = Artefacts::getArtefactByRoom($newArtefact);
     $newArtefactObject->checkActivity();
     $newArtefactObject->checkCompetence();
     //Create Forum
     $newArtefactObject->createForum();
     //create and assign groups
     //		$newArtefact->createGroups();
     return $newArtefactObject;
 }
コード例 #2
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);
 }
コード例 #3
0
 public function processData(\IRequestObject $requestObject)
 {
     $this->params = $requestObject->getParams();
     if (empty($this->params[0])) {
         $this->artefacts = \Artefacts::getAllArtefacts();
     } else {
         $portfolio = \PortfolioModel::getById($this->params[0]);
         $this->artefacts = $portfolio->getArtefacts();
     }
 }
コード例 #4
0
ファイル: LoadArtefacts.class.php プロジェクト: rolwi/koala
 public function processData(\IRequestObject $requestObject)
 {
     $this->params = $requestObject->getParams();
     if ($this->params["job"] == null && $this->params["activity"] == null && $this->params["facet"] == null && $this->params["index"] == null) {
         $this->artefacts = \Artefacts::getAllArtefacts();
     } elseif ($this->params["portfolioId"] != null) {
         $portfolio = \PortfolioModel::getById($this->params["portfolioId"]);
         $this->artefacts = $portfolio->getArtefacts();
     } else {
         $this->artefacts = \Artefacts::getArtefactsByCompetence($this->params["job"], $this->params["facet"], $this->params["activity"], $this->params["index"]);
     }
 }
コード例 #5
0
ファイル: Artefacts.class.php プロジェクト: rolwi/koala
 public static function getLatestArtefacts($count = 10)
 {
     $all = self::getArtefactsContainer()->get_inventory_filtered(array(array('+', 'class', CLASS_ROOM)), array(array('>', 'attribute', 'OBJ_CREATION_TIME'), array('>', 'attribute', 'OBJ_LAST_CHANGED')));
     $allArtefacts = array();
     $i = 0;
     foreach ($all as $room) {
         $i++;
         if ($i > $count) {
             break;
         }
         $allArtefacts[] = Artefacts::getArtefactByRoom($room);
     }
     return $allArtefacts;
 }
コード例 #6
0
ファイル: Util.class.php プロジェクト: rolwi/koala
 public function getAllLatest($count = 10)
 {
     $new = array();
     $portfolios = PortfolioModel::getLatestPortfolios();
     foreach ($portfolios as $item) {
         $timestamp = $item->get_attribute("OBJ_LAST_CHANGED");
         $new[$timestamp] = $item;
     }
     $artefacts = Artefacts::getLatestArtefacts();
     foreach ($artefacts as $item) {
         $timestamp = $item->get_attribute("OBJ_LAST_CHANGED");
         $new[$timestamp] = $item;
     }
 }
コード例 #7
0
ファイル: Competence.class.php プロジェクト: rolwi/koala
 /**
  * returns an array
  * keys: competence string / (+index)
  * values: how many artefacts with this competence exist
  */
 public static function getCollectedCompetences()
 {
     $artefacts = \Artefacts::getAllArtefacts();
     $competencesArray = array();
     $tmp = array();
     foreach ($artefacts as $artefact) {
         $competences = $artefact->getCompetences();
         foreach ($competences as $competence) {
             $index = $competence->getJobAffiliation() . $competence->getActivityAffiliation() . $competence->getFacetAffiliation();
             $index2 = $competence->getJobAffiliation() . $competence->getActivityAffiliation() . $competence->getFacetAffiliation() . $competence->getIndex();
             if (isset($competencesArray[$index])) {
                 $competencesArray[$index] += 1;
             } else {
                 $competencesArray[$index] = 1;
             }
             if (isset($competencesArray[$index2])) {
                 continue;
                 //$competencesArray [$index2] += 1;
             } else {
                 $competencesArray[$index2] = 1;
                 $competencesArray[$index2 . "ID"] = $artefact->getID();
             }
             if (isset($competencesArray[$competence->getJobAffiliation() . $competence->getActivityAffiliation()])) {
                 $competencesArray[$competence->getJobAffiliation() . $competence->getActivityAffiliation()] += 1;
             } else {
                 $competencesArray[$competence->getJobAffiliation() . $competence->getActivityAffiliation()] = 1;
             }
         }
     }
     return $competencesArray;
 }
コード例 #8
0
ファイル: ViewArtefact.class.php プロジェクト: rolwi/koala
 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;
 }
コード例 #9
0
ファイル: MyPortfolio.class.php プロジェクト: rolwi/koala
 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;
     */
 }
コード例 #10
0
ファイル: LoadLatest.class.php プロジェクト: rolwi/koala
 public function processData(\IRequestObject $requestObject)
 {
     $this->artefacts = \Artefacts::getLatestArtefacts(5);
     $this->portfolios = \PortfolioModel::getLatestPortfolios(5);
     $this->newObjects = array_merge($this->artefacts, $this->portfolios);
 }
コード例 #11
0
ファイル: Export.class.php プロジェクト: rolwi/koala
    public function frameResponse(\FrameResponseObject $frameResponseObject)
    {
        $user = \lms_steam::get_current_user();
        $username = $user->get_name();
        $allArtefacts = \Artefacts::getAllArtefacts();
        $zip = new \ZipArchive();
        $filename = PATH_TEMP . "DawinciPortfolio_" . $username . ".zip";
        $zip->open($filename, \ZIPARCHIVE::CREATE);
        $time = date(DATE_ATOM, time());
        $xmlOutput = <<<END
<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom"
     xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
     xmlns:leap2="http://terms.leapspecs.org/"
     xmlns:categories="http://wiki.leapspecs.org/2A/categories/"
     xmlns:portfolio="http://www.example.ac.uk/portfolio_system/export_262144/">
<leap2:version>http://www.leapspecs.org/2010-07/2A/</leap2:version>
<id>http://www.dawinci-projekt.de/{$username}</id>
<title>Mein Portfolio</title>
<author> 
  <name>{$username}</name>
  <uri>http://www.dawinci-projekt.de/{$username}</uri>
</author>
<updated>{$time}</updated>

END;
        foreach ($allArtefacts as $artefact) {
            $uniqid = uniqid();
            $ctime = date(DATE_ATOM, $artefact->get_attribute("OBJ_CREATION_TIME"));
            $mtime = date(DATE_ATOM, $artefact->get_attribute("OBJ_MODIFICATION_TIME"));
            $artefactname = $uniqid . $artefact->getName();
            $content = $artefact->getDescription();
            $handle = fopen(PATH_TEMP . $uniqid . $artefact->getName(), 'w');
            fwrite($handle, $artefact->getContent());
            fclose($handle);
            $zipFileName = $artefact->getName();
            $zipFileName .= "." . getMimeTypeExtension($artefact->getMimeType());
            $zip->addFile(PATH_TEMP . $artefactname, "/files/" . $artefactname);
            $xmlOutput .= <<<END
    <entry>
        <title>{$artefact->getName()}</title>
        <id>{$artefact->getId()}</id>

        <updated>{$mtime}</updated>
        <published>{$ctime}</published>

        <summary>{$artefact->getDescription()}</summary>
        <content type="text">{$content}</content>
        <rdf:type rdf:resource="leap2:resource"/>
        <link rel="enclosure" type="{$artefact->getMimeType()}" href="files/{$artefactname}"/>

        <category term="Offline" scheme="categories:resource_type#" label="File"/>
END;
            $competences = $artefact->getCompetences();
            foreach ($competences as $competence) {
                $xmlOutput .= <<<END
        <competence>
\t\t\t<index>{$competence->getName()}</index>
\t\t\t<description>{$competence->getDescription()}</description>
\t\t\t<rating>{$competence->getRating()}</rating>
\t\t</competence>
END;
            }
            $xmlOutput .= <<<END
    </entry>
END;
        }
        //		echo "numfiles: " . $zip->numFiles . "\n";
        //		echo "status:" . $zip->status . "\n";
        $xmlOutput .= "</feed>";
        //print "<pre>" . $xmlOutput . "</pre>";
        $zip->addFromString("leap2a.xml", $xmlOutput);
        $zip->close();
        return $frameResponseObject;
    }
コード例 #12
0
ファイル: SetCompetence.class.php プロジェクト: rolwi/koala
    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;
    }
コード例 #13
0
ファイル: Upload.class.php プロジェクト: rolwi/koala
 /**
  * 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');
     }
 }
コード例 #14
0
 public static function getById($id)
 {
     self::init();
     $obj = steam_factory::get_object($GLOBALS["STEAM"]->get_id(), $id);
     if (!$obj instanceof \steam_object) {
         error_log("Object is null.");
         return null;
     }
     switch ($obj->get_attribute(PORTFOLIO_PREFIX . "TYPE")) {
         case "ARTEFACT":
             return Artefacts::getArtefactByRoom($obj);
             break;
         case "PORTFOLIO":
             return new PortfolioModel($obj);
             break;
         default:
             error_log("Object is no E-Portfolio Object. ID:" . $id);
             return null;
     }
 }