34include_once 
"./Services/Object/classes/class.ilObject.php";
 
   54                $this->
ilObject($a_id,$a_call_by_reference);
 
   78                if (!parent::update())
 
   93        function read($a_force_db = 
false)
 
   95                parent::read($a_force_db);
 
  107                        $newObj = parent::cloneObject($a_target_id,$a_copy_id);
 
  112                        if(!$cp_options->isRootNode($this->getRefId()))
 
  120                        foreach ($questions as $question_id)
 
  122                                $newObj->copyQuestion($question_id, $newObj->getId());
 
  126                        include_once 
"./Services/MetaData/classes/class.ilMD.php";
 
  128                        $new_md =& $md->cloneMD($newObj->getId(),0,$newObj->getType());
 
  131                        $newObj->updateMetaData();
 
  137                        if ((!$question_type) and ($question_id > 0))
 
  142                        include_once 
"./Modules/SurveyQuestionPool/classes/class.".$question_type.
"GUI.php";
 
  143                        $question_type_gui = $question_type . 
"GUI";
 
  144                        $question =& 
new $question_type_gui();
 
  146                        if ($question_id > 0)
 
  148                                $question->object->loadFromDb($question_id);
 
  164                        if ($question_gui->object->getObjId() == $questionpool_to)
 
  172                                $newtitle = $question_gui->object->getTitle(); 
 
  173                                if ($question_gui->object->questionTitleExists($question_gui->object->getTitle(), $questionpool_to))
 
  176                                        while ($question_gui->object->questionTitleExists($question_gui->object->getTitle() . 
" ($counter)", $questionpool_to))
 
  180                                        $newtitle = $question_gui->object->getTitle() . 
" ($counter)";
 
  182                                $question_gui->object->copyObject($this->
getId(), $newtitle);
 
  195                $result = 
$ilDB->queryF(
"SELECT * FROM svy_qpl WHERE obj_fi = %s",
 
  197                        array($this->
getId())
 
  215                $result = 
$ilDB->queryF(
"SELECT * FROM svy_qpl WHERE obj_fi = %s",
 
  217                        array($this->
getId())
 
  221                        $affectedRows = 
$ilDB->manipulateF(
"UPDATE svy_qpl SET isonline = %s, tstamp = %s WHERE obj_fi = %s",
 
  222                                array(
'text',
'integer',
'integer'),
 
  228                        $next_id = 
$ilDB->nextId(
'svy_qpl');
 
  229                        $query = 
$ilDB->manipulateF(
"INSERT INTO svy_qpl (id_questionpool, isonline, obj_fi, tstamp) VALUES (%s, %s, %s, %s)",
 
  230                                array(
'integer', 
'text', 
'integer', 
'integer'),
 
  244                $remove = parent::delete();
 
  263                $result = 
$ilDB->queryF(
"SELECT question_id FROM svy_question WHERE obj_fi = %s AND original_id IS NULL",
 
  265                        array($this->
getId())
 
  267                $found_questions = array();
 
  274                include_once 
"./Services/Utilities/classes/class.ilUtil.php";
 
  276                $directory = $spl_data_dir.
"/spl_".$this->
getId();
 
  277                if (is_dir($directory))
 
  279                        include_once 
"./Services/Utilities/classes/class.ilUtil.php";
 
  297        function notify($a_event,$a_ref_id,$a_parent_non_rbac_id,$a_node_id,$a_params = 0)
 
  337                if ($a_node_id==
$_GET[
"ref_id"])
 
  339                        $parent_obj =& $this->
ilias->obj_factory->getInstanceByRefId($a_node_id);
 
  340                        $parent_type = $parent_obj->getType();
 
  341                        if($parent_type == $this->
getType())
 
  343                                $a_node_id = (int) $tree->getParentId($a_node_id);
 
  347                parent::notify($a_event,$a_ref_id,$a_parent_non_rbac_id,$a_node_id,$a_params);
 
  358                return parent::getTitle();
 
  366                parent::setTitle($a_title);
 
  377                if ($question_id < 1) 
return;
 
  378                include_once 
"./Modules/SurveyQuestionPool/classes/class.SurveyQuestion.php";
 
  380                $question->delete($question_id);
 
  393                if ($question_id < 1) 
return;
 
  394                $result = 
$ilDB->queryF(
"SELECT svy_qtype.type_tag FROM svy_question, svy_qtype WHERE svy_question.questiontype_fi = svy_qtype.questiontype_id AND svy_question.question_id = %s",
 
  401                        return $data[
"type_tag"];
 
  420                $result = 
$ilDB->queryF(
"SELECT answer_id FROM svy_answer WHERE question_fi = %s",
 
  424                $answered = 
$result->numRows();
 
  427                $result = 
$ilDB->queryF(
"SELECT svy_svy.* FROM svy_svy, svy_svy_qst WHERE svy_svy_qst.survey_fi = svy_svy.survey_id AND svy_svy_qst.question_fi = %s",
 
  431                $inserted = 
$result->numRows();
 
  432                if (($inserted + $answered) == 0)
 
  436                $result_array = array();
 
  439                        array_push($result_array, 
$row);
 
  441                return $result_array;
 
  465                $result_array = array();
 
  466                $result = 
$ilDB->query(
"SELECT svy_question.*, svy_qtype.type_tag, svy_qtype.plugin FROM svy_question, svy_qtype WHERE svy_question.questiontype_fi = svy_qtype.questiontype_id AND svy_question.tstamp > 0 AND " . 
$ilDB->in(
'svy_question.question_id', $question_array, 
false, 
'integer'));
 
  473                                        array_push($result_array, 
$row);
 
  478                                array_push($result_array, 
$row);
 
  481                return $result_array;
 
  493                include_once 
"./Modules/SurveyQuestionPool/classes/class.SurveyQuestion.php";
 
  497                while ($question->questionTitleExists($question->getTitle().$suffix, $obj_id)) 
 
  500                        if ($counter > 1) $suffix = 
" ($counter)";
 
  504                        $question->setObjId($obj_id);
 
  506                $question->duplicate(
false, $question->getTitle() . $suffix, 
$ilUser->fullname, 
$ilUser->id);
 
  519                if (is_array($arrFilter))
 
  521                        foreach ($arrFilter as $key => $value)
 
  523                                $arrFilter[$key] = str_replace(
'%', 
'', $arrFilter[$key]);
 
  525                        if (array_key_exists(
'title', $arrFilter) && strlen($arrFilter[
'title']))
 
  527                                $where .= 
" AND " . 
$ilDB->like(
'svy_question.title', 
'text', 
"%%" . $arrFilter[
'title'] . 
"%%");
 
  529                        if (array_key_exists(
'description', $arrFilter) && strlen($arrFilter[
'description']))
 
  531                                $where .= 
" AND " . 
$ilDB->like(
'svy_question.description', 
'text', 
"%%" . $arrFilter[
'description'] . 
"%%");
 
  533                        if (array_key_exists(
'author', $arrFilter) && strlen($arrFilter[
'author']))
 
  535                                $where .= 
" AND " . 
$ilDB->like(
'svy_question.author', 
'text', 
"%%" . $arrFilter[
'author'] . 
"%%");
 
  537                        if (array_key_exists(
'type', $arrFilter) && strlen($arrFilter[
'type']))
 
  539                                $where .= 
" AND svy_qtype.type_tag = " . 
$ilDB->quote($arrFilter[
'type'], 
'text');
 
  542                $query_result = 
$ilDB->queryF(
"SELECT svy_question.*, svy_qtype.type_tag, svy_qtype.plugin FROM svy_question, svy_qtype WHERE svy_question.original_id IS NULL AND svy_question.tstamp > 0 AND svy_question.questiontype_fi = svy_qtype.questiontype_id AND svy_question.obj_fi = %s" . $where,
 
  544                        array($this->
getId())
 
  547                if ($query_result->numRows())
 
  549                        while (
$row = 
$ilDB->fetchAssoc($query_result))
 
  552                                $set = 
$ilDB->query(
"SELECT question_fi FROM svy_svy_qst  ".
 
  553                                        " WHERE question_fi = ".
$ilDB->quote(
$row[
"question_id"], 
"integer")
 
  555                                if ($temp = 
$ilDB->fetchAssoc($set))
 
  563                                                array_push($rows, 
$row);
 
  568                                        array_push($rows, 
$row);
 
  582                include_once 
"./Services/Utilities/classes/class.ilUtil.php";
 
  585                if(!is_writable($spl_data_dir))
 
  587                        $this->
ilias->raiseError(
"Survey Questionpool Data Directory (".$spl_data_dir
 
  588                                .
") not writeable.",$this->
ilias->error_obj->FATAL);
 
  592                $spl_dir = $spl_data_dir.
"/spl_".$this->
getId();
 
  594                if(!@is_dir($spl_dir))
 
  596                        $this->
ilias->raiseError(
"Creation of Survey Questionpool Directory failed.",$this->
ilias->error_obj->FATAL);
 
  599                $export_dir = $spl_dir.
"/export";
 
  601                if(!@is_dir($export_dir))
 
  603                        $this->
ilias->raiseError(
"Creation of Export Directory failed.",$this->
ilias->error_obj->FATAL);
 
  612                include_once 
"./Services/Utilities/classes/class.ilUtil.php";
 
  623                if (!@is_dir($dir) or
 
  636                while ($entry = $dir->read())
 
  640                                ereg(
"^[0-9]{10}_{2}[0-9]+_{2}(spl_)*[0-9]+\.[A-Za-z]{3}\$", $entry))
 
  662                include_once 
"./Services/Utilities/classes/class.ilUtil.php";
 
  666                if(!is_writable($spl_data_dir))
 
  668                        $this->
ilias->raiseError(
"Survey Questionpool Data Directory (".$spl_data_dir
 
  669                                .
") not writeable.",$this->
ilias->error_obj->FATAL);
 
  673                $spl_dir = $spl_data_dir.
"/spl_".$this->
getId();
 
  675                if(!@is_dir($spl_dir))
 
  677                        $this->
ilias->raiseError(
"Creation of Survey Questionpool Directory failed.",$this->
ilias->error_obj->FATAL);
 
  681                $import_dir = $spl_dir.
"/import";
 
  683                if(!@is_dir($import_dir))
 
  685                        $this->
ilias->raiseError(
"Creation of Import Directory failed.",$this->
ilias->error_obj->FATAL);
 
  694                include_once 
"./Services/Utilities/classes/class.ilUtil.php";
 
  696                        "/spl_".$this->getId().
"/import";
 
  697                if(@is_dir($import_dir))
 
  712                if (!is_array($questions))
 
  716                if (count($questions) == 0)
 
  722                include_once(
"./Services/Xml/classes/class.ilXmlWriter.php");
 
  727                        "xmlns:xsi" => 
"http://www.w3.org/2001/XMLSchema-instance",
 
  728                        "xsi:noNamespaceSchemaLocation" => 
"http://www.ilias.de/download/xsd/ilias_survey_4_2.xsd" 
  730                $a_xml_writer->xmlStartTag(
"surveyobject", $attrs);
 
  732                        "id" => 
"qpl_" . $this->
getId(),
 
  736                $a_xml_writer->xmlStartTag(
"surveyquestions", $attrs);
 
  737                $a_xml_writer->xmlElement(
"dummy", NULL, 
"dummy");
 
  739                $a_xml_writer->xmlStartTag(
"metadata");
 
  740                $a_xml_writer->xmlStartTag(
"metadatafield");
 
  741                $a_xml_writer->xmlElement(
"fieldlabel", NULL, 
"SCORM");
 
  742                include_once 
"./Services/MetaData/classes/class.ilMD.php";
 
  746                $metadata = $writer->xmlDumpMem();
 
  747                $a_xml_writer->xmlElement(
"fieldentry", NULL, $metadata);
 
  748                $a_xml_writer->xmlEndTag(
"metadatafield");
 
  749                $a_xml_writer->xmlEndTag(
"metadata");
 
  751                $a_xml_writer->xmlEndTag(
"surveyquestions");
 
  752                $a_xml_writer->xmlEndTag(
"surveyobject");
 
  754                $xml = $a_xml_writer->xmlDumpMem(FALSE);
 
  757                foreach ($questions as $key => $value)
 
  760                        include_once 
"./Modules/SurveyQuestionPool/classes/class.SurveyQuestion.php";
 
  762                        $question = 
new $questiontype();
 
  763                        $question->loadFromDb($value);
 
  764                        $questionxml .= $question->toXML(
false);
 
  767                $xml = str_replace(
"<dummy>dummy</dummy>", $questionxml, $xml);
 
  774                $questions = array();
 
  775                $result = 
$ilDB->queryF(
"SELECT question_id FROM svy_question WHERE obj_fi = %s AND svy_question.tstamp > 0 AND original_id IS NULL",
 
  777                        array($this->
getId())
 
  783                                array_push($questions, 
$row[
"question_id"]);
 
  797                if (is_file($source))
 
  799                        $isZip = (strcmp(strtolower(substr($source, -3)), 
'zip') == 0);
 
  806                                $subdir = basename($source, 
".zip");
 
  807                                $source = dirname($source).
"/".$subdir.
"/".$subdir.
".xml";
 
  810                        $fh = fopen($source, 
"r") or die(
"");
 
  811                        $xml = fread($fh, filesize($source));
 
  812                        fclose($fh) or die(
"");
 
  815                                $subdir = basename($source, 
".zip");
 
  816                                if (@is_dir(dirname($source).
"/".$subdir))
 
  821                        if (strpos($xml, 
"questestinterop") > 0)
 
  824                                include_once 
"./Services/Survey/classes/class.SurveyImportParserPre38.php";
 
  826                                $import->setXMLContent($xml);
 
  827                                $import->startParsing();
 
  832                                include_once 
"./Services/Survey/classes/class.SurveyImportParser.php";
 
  834                                $import->setXMLContent($xml);
 
  835                                $import->startParsing();
 
  840        public static function _setOnline($a_obj_id, $a_online_status)
 
  845                switch ($a_online_status)
 
  849                                $status = 
"$a_online_status";
 
  852                $affectedRows = 
$ilDB->manipulateF(
"UPDATE svy_qpl SET isonline = %s  WHERE obj_fi = %s",
 
  853                        array(
'text',
'integer'),
 
  854                        array($status, $a_obj_id)
 
  867                switch ($a_online_status)
 
  871                                $this->online = $a_online_status;
 
  881                if (strcmp($this->online, 
"") == 0) $this->online = 
"0";
 
  889                $result = 
$ilDB->queryF(
"SELECT isonline FROM svy_qpl WHERE obj_fi = %s",
 
  896                        return $row[
"isonline"];
 
  915                foreach ($refs as $ref)
 
  936                $lng->loadLanguageModule(
"survey");
 
  938                $query_result = 
$ilDB->query(
"SELECT * FROM svy_qtype ORDER BY type_tag");
 
  939                while (
$row = 
$ilDB->fetchAssoc($query_result))
 
  942                        if (
$row[
"plugin"] == 0)
 
  948                                global $ilPluginAdmin;
 
  949                                $pl_names = $ilPluginAdmin->getActivePluginsForSlot(
IL_COMP_MODULE, 
"SurveyQuestionPool", 
"svyq");
 
  950                                foreach ($pl_names as $pl_name)
 
  953                                        if (strcmp($pl->getQuestionType(), 
$row[
"type_tag"]) == 0)
 
  955                                                $types[$pl->getQuestionTypeTranslation()] = 
$row;
 
  965                $default_sorting = array_flip(array(
 
  966                        "SurveySingleChoiceQuestion", 
 
  967                        "SurveyMultipleChoiceQuestion", 
 
  968                        "SurveyMatrixQuestion", 
 
  969                        "SurveyMetricQuestion",
 
  974                $idx = 
sizeof($default_sorting);
 
  975                foreach($types as $caption => $item)
 
  977                        $type = $item[
"type_tag"];
 
  978                        $item[
"caption"] = $caption;
 
  981                        if(array_key_exists(
$type, $default_sorting))
 
  983                                $sorted[$default_sorting[
$type]] = $item;
 
  988                                $sorted[$idx] = $item;
 
  996                foreach($sorted as $item)
 
  998                        $types[$item[
"caption"]] = $item;
 
 1009                global $ilPluginAdmin;
 
 1011                $lng->loadLanguageModule(
"survey");
 
 1016                        if (
$row[
"plugin"] == 0)
 
 1018                                $types[
$row[
'type_tag']] = 
$lng->txt(
$row[
"type_tag"]);
 
 1022                                $pl_names = $ilPluginAdmin->getActivePluginsForSlot(
IL_COMP_MODULE, 
"SurveyQuestionPool", 
"svyq");
 
 1023                                foreach ($pl_names as $pl_name)
 
 1026                                        if (strcmp($pl->getQuestionType(), 
$row[
"type_tag"]) == 0)
 
 1028                                                $types[
$row[
'type_tag']] = $pl->getQuestionTypeTranslation();
 
 1048                $result_array = array();
 
 1052                $result = 
$ilDB->query(
"SELECT obj_fi, isonline FROM svy_qpl");         
 
 1055                        $allqpls[
$row[
'obj_fi']] = 
$row[
'isonline'];
 
 1060                        if ($could_be_offline || $allqpls[$obj_id] == 1)
 
 1064                                        $result_array[$obj_id] = $titles[
$ref_id];
 
 1072                return $result_array;
 
 1083                global $ilPluginAdmin;
 
 1084                if ($ilPluginAdmin->isActive(
IL_COMP_MODULE, 
"SurveyQuestionPool", 
"svyq", $a_pname))
 
 1105                $query_result = 
$ilDB->query(
"SELECT svy_question.*, svy_qtype.type_tag FROM svy_question, svy_qtype " .
 
 1106                        "WHERE svy_question.questiontype_fi = svy_qtype.questiontype_id " .
 
 1107                        "AND svy_question.tstamp > 0 AND " . 
$ilDB->in(
'svy_question.question_id', $question_ids, 
false, 
'integer') . 
" " .
 
 1108                        "ORDER BY svy_question.title");
 
 1109                if ($query_result->numRows() > 0)
 
 1111                        while (
$data = 
$ilDB->fetchAssoc($query_result))
 
 1113                                if (in_array(
$data[
"question_id"], $question_ids))
 
 1115                                        array_push($found, array(
'id' => 
$data[
"question_id"], 
 
 1116                                                'title' => 
$data[
"title"], 
 
 1117                                                'description' => 
$data[
"description"], 
 
 1118                                                'type_tag' => 
$data[
"type_tag"]));                              
 
 1132                $result = 
$ilDB->queryF(
"SELECT question_id FROM svy_question WHERE owner_fi = %s AND tstamp = %s", 
 
 1133                        array(
"integer", 
"integer"),
 
 1149                if (!array_key_exists(
"spl_clipboard", 
$_SESSION))
 
 1153                $_SESSION[
"spl_clipboard"][$question_id] = array(
"question_id" => $question_id, 
"action" => 
"copy");
 
 1163                if (!array_key_exists(
"spl_clipboard", 
$_SESSION))
 
 1167                $_SESSION[
"spl_clipboard"][$question_id] = array(
"question_id" => $question_id, 
"action" => 
"move");
 
 1177                if (array_key_exists(
"spl_clipboard", 
$_SESSION))
 
 1179                        foreach (
$_SESSION[
"spl_clipboard"] as $question_object)
 
 1181                                if (strcmp($question_object[
"action"], 
"move") == 0)
 
 1183                                        $result = 
$ilDB->queryF(
"SELECT obj_fi FROM svy_question WHERE question_id = %s",
 
 1185                                                array($question_object[
"question_id"])
 
 1190                                                $source_questionpool = 
$row[
"obj_fi"];
 
 1191                                                if ($this->
getId() != $source_questionpool)
 
 1194                                                        $affectedRows = 
$ilDB->manipulateF(
"UPDATE svy_question SET obj_fi = %s WHERE question_id = %s",
 
 1195                                                                array(
'integer',
'integer'),
 
 1196                                                                array($this->
getId(), $question_object[
"question_id"])
 
 1200                                                        $source_path = CLIENT_WEB_DIR . 
"/survey/" . $source_questionpool . 
"/" . $question_object[
"question_id"] . 
"/";
 
 1201                                                        if (@is_dir($source_path))
 
 1203                                                                $target_path = CLIENT_WEB_DIR . 
"/survey/" . $this->
getId() . 
"/";
 
 1204                                                                if (!@is_dir($target_path))
 
 1206                                                                        include_once 
"./Services/Utilities/classes/class.ilUtil.php";
 
 1209                                                                @rename($source_path, $target_path . $question_object[
"question_id"]);
 
 1241                        $status = (int)(in_array($question_id, $obligatory_questions));
 
 1243                        $ilDB->manipulate(
"UPDATE svy_question".
 
 1244                                " SET obligatory = ".
$ilDB->quote($status, 
"integer").
 
 1245                                " WHERE question_id = ".$ilDB->quote($question_id, 
"integer"));                         
 
Survey Question Import Parser.
Survey Question Import Parser.
& _instanciateQuestion($question_id)
Creates an instance of a question with a given question id.
static _includeClass($question_type, $gui=0)
Include the php class file for a given question type.
static _getInstance($a_copy_id)
Get instance of copy wizard options.
moveToClipboard($question_id)
Moves a question to the clipboard.
getQuestionsData($arrFilter)
Calculates the data for the output of the questionpool.
setOnline($a_online_status)
Sets the questionpool online status.
removeQuestion($question_id)
Removes a question from the question pool.
createImportDirectory()
creates data directory for import files (data_dir/spl_data/spl_<id>/import, depending on data directo...
loadFromDb()
Loads a ilObjQuestionpool object from a database.
cloneObject($a_target_id, $a_copy_id=0)
Creates a 1:1 copy of the object and places the copy in a given repository.
static & _getQuestionTypeTranslations()
importObject($source, $spl_exists=FALSE)
Imports survey questions into ILIAS.
getQuestionInfos($question_ids)
Returns title, description and type for an array of question id's.
ilObjSurveyQuestionPool($a_id=0, $a_call_by_reference=true)
Constructor @access public.
paste($question_id)
Pastes a question in the question pool.
copyToClipboard($question_id)
Copies a question to the clipboard.
createExportDirectory()
creates data directory for export files (data_dir/spl_data/spl_<id>/export, depending on data directo...
copyQuestion($question_id, $questionpool_to)
Copies a question into another question pool.
notify($a_event, $a_ref_id, $a_parent_non_rbac_id, $a_node_id, $a_params=0)
notifys an object about an event occured Based on the event happend, each object may decide how it re...
& _getQuestiontypes()
Creates a list of all available question types.
_getAvailableQuestionpools($use_object_id=FALSE, $could_be_offline=FALSE, $showPath=FALSE, $permission="read")
Returns the available question pools for the active user.
create($a_upload=false)
create question pool object
getTitle()
get title of survey question pool object
getExportDirectory()
get export directory of survey
isPluginActive($a_pname)
Checks whether or not a question plugin with a given name is active.
pasteFromClipboard()
Copies/Moves a question from the clipboard.
& createQuestion($question_type, $question_id=-1)
toXML($questions)
export questions to xml
_isWriteable($object_id, $user_id)
Returns true, if the question pool is writeable by a given user.
saveToDb()
Saves a ilObjSurveyQuestionPool object to a database.
static _setOnline($a_obj_id, $a_online_status)
getImportDirectory()
get import directory of survey
update()
update object data
& getQuestionsInfo($question_array)
Retrieves the datase entries for questions from a given array.
read($a_force_db=false)
read object data from db into object
isInUse($question_id)
Checks if a question is in use by a survey.
getExportFiles($dir)
get export files
getQuestiontype($question_id)
Returns the question type of a question with a given id.
duplicateQuestion($question_id, $obj_id="")
Duplicates a question for a questionpool.
setObligatoryStates($obligatory_questions)
Sets the obligatory states for questions in a survey from the questions form.
setTitle($a_title)
set title of survey question pool object
Class ilObject Basic functions for all objects.
getType()
get object type @access public
static _lookupObjectId($a_ref_id)
lookup object id
ilObject($a_id=0, $a_reference=true)
Constructor @access public.
deleteMetaData()
delete meta data entry
updateMetaData()
update meta data entry
_hasUntrashedReference($a_obj_id)
checks wether an object has at least one reference that is not in trash
createMetaData()
create meta data entry
static _getAllReferences($a_id)
get all reference ids of object
getId()
get object id @access public
static _prepareCloneSelection($a_ref_ids, $new_type, $show_path=true)
Prepare copy wizard object selection.
static getPluginObject($a_ctype, $a_cname, $a_slot_id, $a_pname)
Get plugin object.
static getDataDir()
get data directory (outside webspace)
static delDir($a_dir, $a_clean_only=false)
removes a dir and all its content (subdirs and files) recursively
static sendSuccess($a_info="", $a_keep=false)
Send Success Message to Screen.
static sendFailure($a_info="", $a_keep=false)
Send Failure Message to Screen.
static _getObjectsByOperations($a_obj_type, $a_operation, $a_usr_id=0, $limit=0)
Get all objects of a specific type and check access This function is not recursive,...
static unzip($a_file, $overwrite=false, $a_flat=false)
unzip file
static makeDirParents($a_dir)
Create a new directory and all parent directories.
static makeDir($a_dir)
creates a new directory and inherits all filesystem permissions of the parent directory You may pass ...
xmlHeader()
Writes xml header @access public.
redirection script todo: (a better solution should control the processing via a xml file)