surveymanager.lib.php 20 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603
  1. <?php
  2. /* For licensing terms, see /license.txt */
  3. /**
  4. * This library provides functions for user management.
  5. * Include/require it in your code to use its functionality.
  6. *
  7. * @author Bart Mollet, main author
  8. * @package chamilo.library
  9. */
  10. //@todo This class is deprecated
  11. /*
  12. class SurveyManager {
  13. private function __construct() {
  14. }
  15. //Possible deprecated method
  16. function get_survey_author($authorid)
  17. {
  18. $user_table = Database :: get_main_table(TABLE_MAIN_USER);
  19. $authorid = Database::escape_string($authorid);
  20. $sql_query = "SELECT * FROM $user_table WHERE user_id='$authorid'";
  21. $res = Database::query($sql_query);
  22. $firstname=@Database::result($res,0,'firstname');
  23. return $firstname;
  24. }
  25. //Possible deprecated method
  26. function get_author($db_name,$survey_id)
  27. {
  28. //$table_survey = Database :: get_course_table(TABLE_SURVEY);
  29. $survey_id = Database::escape_string($survey_id);
  30. $sql = "SELECT author FROM $db_name.survey WHERE survey_id='$survey_id'";
  31. $res = Database::query($sql);
  32. $author=@Database::result($res,0,'author');
  33. return $author;
  34. }
  35. //Possible deprecated method
  36. function get_surveyid($db_name,$group_id)
  37. {
  38. //$group_table = Database :: get_course_table(TABLE_SURVEY_QUESTION_GROUP);
  39. $group_id = Database::escape_string($group_id);
  40. $sql = "SELECT survey_id FROM $db_name.survey_group WHERE group_id='$group_id'";
  41. $res = Database::query($sql);
  42. $surveyid=@Database::result($res,0,'survey_id');
  43. return $surveyid;
  44. }
  45. public static function get_groupname ($db_name,$gid) {
  46. //$grouptable = Database :: get_course_table(TABLE_SURVEY_QUESTION_GROUP);
  47. $gid = Database::escape_string($gid);
  48. $sql = "SELECT * FROM $db_name.survey_group WHERE group_id='$gid'";
  49. $res=Database::query($sql);
  50. $code=@Database::result($res,0,'groupname');
  51. return($code);
  52. }
  53. //Possible deprecated method
  54. function insert_into_group ($survey_id,$group_title,$introduction,$tb) {
  55. $survey_id = Database::escape_string($survey_id);
  56. $group_title = Database::escape_string($group_title);
  57. $introduction = Database::escape_string($introduction);
  58. $sql="INSERT INTO $tb (group_id,survey_id,group_title,introduction) values('','$survey_id','$group_title','$introduction')";
  59. $result=Database::query($sql);
  60. return Database::insert_id();
  61. }
  62. //Possible deprecated method
  63. function get_survey_code ($table_survey,$survey_code)
  64. {
  65. $survey_code = Database::escape_string($survey_code);
  66. $sql="SELECT code FROM $table_survey where code='$survey_code'";
  67. //echo $sql;
  68. //exit;
  69. $result=Database::query($sql);
  70. $code=@Database::result($result,0,'code');
  71. //echo $code;exit;
  72. return($code);
  73. }
  74. //Possible deprecated method
  75. function get_survey_list()
  76. {
  77. $survey_table = Database :: get_course_table(TABLE_SURVEY);
  78. $sql_query = "SELECT survey_id,title FROM $survey_table where title!='' ";
  79. $sql_result = Database::query($sql_query);
  80. echo "<select name=\"author\">";
  81. echo "<option value=\"\"><--Select Survey--></optional>";
  82. while ($result =@Database::fetch_array($sql_result))
  83. {
  84. echo "\n<option value=\"".$result[survey_id]."\">".$result[title]."</option>";
  85. }
  86. echo "</select>";
  87. }
  88. //Possible deprecated method
  89. function create_survey ($surveycode,$surveytitle, $surveysubtitle, $author, $survey_language, $availablefrom, $availabletill,$isshare, $surveytemplate, $surveyintroduction, $surveythanks, $table_survey, $table_group)
  90. {
  91. //$table_survey = Database :: get_course_table(TABLE_SURVEY);
  92. $sql = "INSERT INTO $table_survey (code,title, subtitle, author,lang,avail_from,avail_till, is_shared,template,intro,surveythanks,creation_date) values('$surveycode','$surveytitle','$surveysubtitle','$author','$survey_language','$availablefrom','$availabletill','$isshare','$surveytemplate','$surveyintroduction','$surveythanks',curdate())";
  93. $result = Database::query($sql);
  94. //$result = Database::query($sql);
  95. $survey_id = Database::insert_id();
  96. $sql2 = "INSERT INTO $table_group(group_id,survey_id,groupname,introduction) values('','$survey_id','No Group','This is your Default Group')";
  97. $result = Database::query($sql2);
  98. return $survey_id;
  99. }
  100. //Possible deprecated method
  101. //Possible deprecated method
  102. function create_survey_attach($surveycode,$surveytitle, $surveysubtitle, $author, $survey_language, $availablefrom, $availabletill,$isshare, $surveytemplate, $surveyintroduction, $surveythanks, $table_survey, $table_group)
  103. {
  104. //$table_survey = Database :: get_course_table(TABLE_SURVEY);
  105. $sql = "INSERT INTO $table_survey (code,title, subtitle, author,lang,avail_from,avail_till, is_shared,template,intro,surveythanks,creation_date) values('$surveycode','$surveytitle','$surveysubtitle','$author','$survey_language','$availablefrom','$availabletill','$isshare','$surveytemplate','$surveyintroduction','$surveythanks',curdate())";
  106. $result = Database::query($sql);
  107. $survey_id = Database::insert_id();
  108. return $survey_id;
  109. }
  110. //Possible deprecated method
  111. function update_survey($surveyid,$surveycode,$surveytitle, $surveysubtitle, $author, $survey_language, $availablefrom, $availabletill,$isshare, $surveytemplate, $surveyintroduction, $surveythanks, $cidReq,$table_course) {
  112. $sql_course = "SELECT * FROM $table_course WHERE code = '$cidReq'";
  113. $res_course = Database::query($sql_course);
  114. $obj_course=@Database::fetch_object($res_course);
  115. $curr_dbname = $obj_course->db_name ;
  116. $sql = "UPDATE $curr_dbname.survey SET code='$surveycode', title='$surveytitle', subtitle='$surveysubtitle', lang='$survey_language', avail_from='$availablefrom', avail_till='$availabletill', is_shared='$isshare', template='$surveytemplate', intro='$surveyintroduction',surveythanks='$surveythanks'
  117. WHERE survey_id='$surveyid'";
  118. Database::query($sql);
  119. return $curr_dbname;
  120. }
  121. // Possible deprecated method
  122. function update_question($qid,$qtype,$caption,$alignment,$answers,$open_ans,$curr_dbname)
  123. {
  124. for($i=0;$i<10;$i++)
  125. {
  126. $k=$i+1;
  127. $a.$k= $answers[$i];
  128. }
  129. $anst = $answerT;
  130. $ansd = $answerD;
  131. $sql = "UPDATE $curr_dbname.questions SET qtype='$qtype',caption='$caption',alignment='$alignment',a1='$answers[0]',a2='$answers[1]',a3='$answers[2]',a4='$answers[3]',a5='$answers[4]',a6='$answers[5]',a7='$answers[6]',a8='$answers[7]',a9='$answers[8]',a10='$answers[9]' WHERE qid='$qid'";
  132. $result = Database::query($sql);
  133. return Database::insert_id();
  134. }
  135. //Possible deprecated method
  136. function get_question_type($questionid)
  137. {
  138. $table_question = Database :: get_course_table(TABLE_MAIN_SURVEYQUESTION);
  139. $questionid = Database::escape_string($questionid);
  140. $sql = "SELECT * FROM $table_question WHERE qid='$questionid'";
  141. $res=Database::query($sql);
  142. $code=@Database::result($res,0,'type');
  143. return($code);
  144. }
  145. //Possible deprecated method
  146. function no_of_question($db_name,$gid)
  147. {
  148. //$table_question = Database :: get_course_table(TABLE_MAIN_SURVEYQUESTION);
  149. $gid = Database::escape_string($gid);
  150. $sql = "SELECT * FROM $db_name.questions WHERE gid='$gid'";
  151. $res=Database::query($sql);
  152. $code=@Database::num_rows($res);
  153. return($code);
  154. }
  155. //Possible deprecated method
  156. function get_data($id, $field)
  157. {
  158. global $_course;
  159. $sql='SELECT '.$field.' FROM '.$_course['dbName'].'.survey WHERE survey_id='.intval($id);
  160. $res=Database::query($sql);
  161. $code=@Database::result($res,0);
  162. return($code);
  163. }
  164. //Possible deprecated method
  165. function get_all_datas($id)
  166. {
  167. global $_course;
  168. $sql='SELECT * FROM '.$_course['dbName'].'.survey WHERE survey_id='.intval($id);
  169. $res=Database::query($sql);
  170. return Database::fetch_object($res);
  171. }
  172. //Possible deprecated method
  173. function get_surveyname($db_name,$sid)
  174. {
  175. //$surveytable=Database:: get_course_table(TABLE_SURVEY);
  176. $sid = Database::escape_string($sid);
  177. $sql="SELECT * FROM $db_name.survey WHERE survey_id=$sid";
  178. $res=Database::query($sql);
  179. $code=@Database::result($res,0,'title');
  180. return($code);
  181. }
  182. //Possible deprecated method
  183. function get_surveyname_display($sid)
  184. {
  185. $sid = Database::escape_string($sid);
  186. $surveytable=Database:: get_course_table(TABLE_SURVEY);
  187. $sql="SELECT * FROM $surveytable WHERE survey_id=$sid";
  188. $res=Database::query($sql);
  189. $code=@Database::result($res,0,'title');
  190. return($code);
  191. }
  192. //Possible deprecated method
  193. function import_questions($import_type, $ids)
  194. {
  195. //$groupname=surveymanager::get_groupname($gid_arr[$index]);
  196. switch ($import_type) {
  197. case "survey":
  198. {
  199. }
  200. case "groups":
  201. {
  202. foreach ($ids as $gid){
  203. $sql="insert into $table_question SELECT ('',gid,qtype,caption,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,at,ad,r1,r2,r3,r4,r5,r6,r7,r8,r9,r10) FROM $table_question where gid=$gid";
  204. }
  205. }
  206. case "questions":
  207. {
  208. }
  209. }
  210. $table_question = Database :: get_course_table(TABLE_MAIN_SURVEYQUESTION);
  211. if(isset($selected_group)){
  212. if($selected_group!=''){
  213. $sql = "SELECT $table_group('survey_id', 'groupname') values('$sid', '$groupname')";
  214. $res = Database::query($sql);
  215. $sql = "INSERT INTO $table_group('survey_id', 'groupname') values('$sid', '$groupname')";
  216. $res = Database::query($sql);
  217. $gid_arr[$index]+= Database::insert_id();
  218. $groupids=implode(",",$gid_arr);
  219. }
  220. }
  221. echo $groupids;
  222. }
  223. // This function deletes a survey and all the groups and question belonging to it.
  224. //* @param unknown_type $survey_id
  225. // @author unknown
  226. // @author Patrick Cool <patrick.cool@UGent.be>, Ghent University, cleanup and refactoring
  227. public static function delete_survey($survey_id)
  228. {
  229. $table_survey = Database :: get_course_table(TABLE_SURVEY);
  230. $table_group = Database :: get_course_table(TABLE_SURVEY_QUESTION_GROUP);
  231. $table_question = Database :: get_course_table(TABLE_MAIN_SURVEYQUESTION);
  232. $survey_id = Database::escape_string($survey_id);
  233. // Deleting the survey
  234. $sql = "DELETE FROM $table_survey WHERE survey_id='".$survey_id."'";
  235. Database::query($sql);
  236. // Deleting all the questions of the survey
  237. $sql = "SELECT * FROM $table_group WHERE survey_id='".$survey_id."'";
  238. $res = Database::query($sql);
  239. while($obj = Database::fetch_object($res))
  240. {
  241. $sql = "DELETE FROM $table_question WHERE gid='".$obj->group_id."'";
  242. Database::query($sql);
  243. }
  244. // Deleting the groups of the survey
  245. $sql = "DELETE FROM $table_group WHERE survey_id='".$survey_id."'";
  246. Database::query($sql);
  247. return true;
  248. }
  249. function delete_group($group_id)
  250. {
  251. // Database table definitions
  252. // @todo use database constants for the survey tables
  253. $table_question = Database :: get_course_table(TABLE_MAIN_SURVEYQUESTION);
  254. $table_survey_group = Database :: get_course_table(TABLE_SURVEY_QUESTION_GROUP);
  255. $sql = "DELETE FROM $table_question WHERE gid='".$group_id."'";
  256. Database::query($sql);
  257. $sql = "DELETE FROM $table_survey_group WHERE group_id='".$group_id."'";
  258. Database::query($sql);
  259. }
  260. // Possible deprecated method
  261. function select_group_list($survey_id, $seleced_groupid='', $extra_script='')
  262. {
  263. $group_table = Database :: get_course_table(TABLE_SURVEY_QUESTION_GROUP);
  264. $sql = "SELECT * FROM $group_table WHERE survey_id='$survey_id'";
  265. $sql_result = Database::query($sql);
  266. if(Database::num_rows($sql_result)>0)
  267. {
  268. $str_group_list = "";
  269. $str_group_list .= "<select name=\"exiztinggroup\" $extra_script>\n";
  270. while($result=Database::fetch_array($sql_result))
  271. {
  272. $selected = ($seleced_groupid==$result[group_id])?"selected":"";
  273. $str_group_list .= "\n<option value=\"".$result[group_id]."\" ".$selected.">".$result[groupname]."</option>\n";
  274. }
  275. $str_group_list .= "</select>";
  276. return $str_group_list;
  277. }
  278. else
  279. {
  280. return false;
  281. }
  282. }
  283. //Possible deprecated method
  284. function display_imported_group($sid,$table_group,$table_question)
  285. {
  286. $sql = "SELECT group_id FROM $table_group WHERE survey_id='$sid'";
  287. $res = Database::query($sql);
  288. $num = @Database::num_rows($res);
  289. //echo "ths is num".$num;
  290. $parameters = array();
  291. $displays = array();
  292. while($obj = @Database::fetch_object($res))
  293. {
  294. $groupid = $obj->group_id;
  295. $query = "SELECT * FROM $table_question WHERE gid = '$groupid'";
  296. $result = Database::query($query);
  297. while($object = @Database::fetch_object($result))
  298. {
  299. $display = array();
  300. $display[] = '<input type="checkbox" name="course[]" value="'.$object->qid.'"/>';
  301. $display[] = $object->caption;
  302. $display[] = $object->qtype;
  303. $id = $object->gid;
  304. //echo "THIS IS GROUP NAME ID".$id;
  305. $gname = surveymanager::get_groupname($id);
  306. $display[] = $gname;
  307. $displays[] = $display;
  308. }
  309. }
  310. $table_header[] = array('', false);
  311. $table_header[] = array(get_lang('Question'), true);
  312. $table_header[] = array(get_lang('QuestionType'), true);
  313. $table_header[] = array(get_lang('Group'), true);
  314. Display :: display_sortable_table($table_header, $displays, array (), array (), $parameters);
  315. }
  316. // Possible deprecated method
  317. function attach_survey($surveyid,$newsurveyid,$db_name,$curr_dbname)
  318. //For attaching the whole survey with its groups and questions
  319. {
  320. $sql = "SELECT * FROM $db_name.survey_group WHERE survey_id = '$surveyid'";
  321. $res = Database::query($sql);
  322. while($obj=@Database::fetch_object($res))
  323. {
  324. $groupname=addslashes($obj->groupname);
  325. $introduction=addslashes($obj->introduction);
  326. $sql_insert = "INSERT INTO $curr_dbname.survey_group(group_id,survey_id,groupname,introduction) values('','$newsurveyid','$groupname','$introduction')";
  327. $resnext = Database::query($sql_insert);
  328. $groupid = Database::insert_id();
  329. $sql_q = "SELECT * FROM $db_name.questions WHERE gid = '$obj->group_id'";
  330. $res_q = Database::query($sql_q);
  331. while($obj_q = Database::fetch_object($res_q))
  332. {
  333. $caption1=addslashes($obj_q->caption);
  334. $a1=addslashes($obj_q->a1);
  335. $a2=addslashes($obj_q->a2);
  336. $a3=addslashes($obj_q->a3);
  337. $a4=addslashes($obj_q->a4);
  338. $a5=addslashes($obj_q->a5);
  339. $a6=addslashes($obj_q->a6);
  340. $a7=addslashes($obj_q->a7);
  341. $a8=addslashes($obj_q->a8);
  342. $a9=addslashes($obj_q->a9);
  343. $a10=addslashes($obj_q->a10);
  344. $at=addslashes($obj_q->at);
  345. $ad=addslashes($obj_q->ad);
  346. $r1=addslashes($obj_q->r1);
  347. $r2=addslashes($obj_q->r2);
  348. $r3=addslashes($obj_q->r3);
  349. $r4=addslashes($obj_q->r4);
  350. $r5=addslashes($obj_q->r5);
  351. $r6=addslashes($obj_q->r6);
  352. $r7=addslashes($obj_q->r7);
  353. $r8=addslashes($obj_q->r8);
  354. $r9=addslashes($obj_q->r9);
  355. $r10=addslashes($obj_q->r10);
  356. $sql_sort = "SELECT max(sortby) AS sortby FROM $curr_dbname.questions ";
  357. $res_sort=Database::query($sql_sort);
  358. $rs=Database::fetch_object($res_sort);
  359. $sortby=$rs->sortby;
  360. if(empty($sortby))
  361. {$sortby=1;}
  362. else{$sortby=$sortby+1;}
  363. $sql_q_insert = "INSERT INTO $curr_dbname.questions (qid,gid,survey_id,qtype,caption,alignment,sortby,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,at,ad,r1,r2,r3,r4,r5,r6,r7,r8,r9,r10) values('','$groupid','$newsurveyid','$obj_q->qtype','$caption1','$obj_q->alignment','$sortby','$a1','$a2','$a3','$a4','$a5','$a6','$a7','$a8','$a9','$a10','$at','$ad','$r1','$r2','$r3','$r4','$r5','$r6','$r7','$r8','$r9','$r10')";
  364. Database::query($sql_q_insert);
  365. }
  366. }
  367. }
  368. // Possible deprecated method
  369. function update_group($groupid,$surveyid,$groupnamme,$introduction,$curr_dbname)
  370. {
  371. $sql = "UPDATE $curr_dbname.survey_group SET group_id='$groupid', survey_id='$surveyid', groupname='$groupnamme', introduction='$introduction' WHERE group_id='$groupid'";
  372. Database::query($sql);
  373. }
  374. // Possible deprecated method
  375. function create_course_survey_rel($cidReq,$survey_id,$table_course,$table_course_survey_rel)
  376. {
  377. $sql = "SELECT * FROM $table_course WHERE code = '$cidReq'";
  378. $res = Database::query($sql);
  379. $obj=@Database::fetch_object($res);
  380. $db_name = $obj->db_name ;
  381. $sql="INSERT INTO $table_course_survey_rel(id,course_code,db_name,survey_id) values('','$cidReq','$db_name','$survey_id')";
  382. Database::query($sql);
  383. return $db_name;
  384. }
  385. // Possible deprecated method
  386. function pick_surveyname($sid)
  387. {
  388. $surveytable=Database:: get_course_table(TABLE_SURVEY);
  389. $sql="SELECT * FROM $surveytable WHERE survey_id=$sid";
  390. $res=Database::query($sql);
  391. $code=@Database::result($res,0,'title');
  392. return($code);
  393. }
  394. // Possible deprecated method
  395. function pick_author($survey_id)
  396. {
  397. $survey_table = Database :: get_course_table(TABLE_SURVEY);
  398. $sql = "SELECT author FROM $survey_table WHERE survey_id='$survey_id'";
  399. $res = Database::query($sql);
  400. $author=@Database::result($res,0,'author');
  401. return $author;
  402. }
  403. function get_status()
  404. {
  405. global $_user;
  406. $table_user = Database::get_main_table(TABLE_MAIN_USER);
  407. $sqlm = "SELECT status FROM $table_user WHERE user_id = '".Database::escape_string($_user['user_id'])."'";
  408. $resm = Database::query($sqlm);
  409. $objm=@Database::fetch_object($resm);
  410. $ss = $objm->status ;
  411. return $ss;
  412. }
  413. }
  414. */
  415. /**
  416. *
  417. * Manage the "versioning" of a conditional survey
  418. * @package chamilo.survey
  419. * */
  420. class SurveyTree {
  421. public $surveylist;
  422. public $plainsurveylist;
  423. public $numbersurveys;
  424. /**
  425. * Sets the surveylist and the plainsurveylist
  426. */
  427. public function __construct() {
  428. // Database table definitions
  429. $table_survey = Database :: get_course_table(TABLE_SURVEY);
  430. $table_survey_question = Database :: get_course_table(TABLE_SURVEY_QUESTION);
  431. $table_user = Database :: get_main_table(TABLE_MAIN_USER);
  432. // searching
  433. $search_restriction = SurveyUtil::survey_search_restriction();
  434. if ($search_restriction) {
  435. $search_restriction = ' AND '.$search_restriction;
  436. }
  437. $sql = "SELECT survey.survey_id , survey.parent_id, survey_version, survey.code as name
  438. FROM $table_survey survey
  439. LEFT JOIN $table_survey_question survey_question
  440. ON survey.survey_id = survey_question.survey_id , $table_user user
  441. WHERE survey.author = user.user_id
  442. GROUP BY survey.survey_id";
  443. $res = Database::query($sql);
  444. $surveys_parents = array ();
  445. $refs = array();
  446. $list = array();
  447. $last=array();
  448. $plain_array=array();
  449. while ($survey = Database::fetch_array($res,'ASSOC'))
  450. {
  451. $plain_array[$survey['survey_id']]=$survey;
  452. $surveys_parents[]=$survey['survey_version'];
  453. $thisref = &$refs[ $survey['survey_id'] ];
  454. $thisref['parent_id'] = $survey['parent_id'];
  455. $thisref['name'] = $survey['name'];
  456. $thisref['id'] = $survey['survey_id'];
  457. $thisref['survey_version'] = $survey['survey_version'];
  458. if ($survey['parent_id'] == 0)
  459. {
  460. $list[ $survey['survey_id'] ] = &$thisref;
  461. }
  462. else
  463. {
  464. $refs[ $survey['parent_id'] ]['children'][ $survey['survey_id'] ] = &$thisref;
  465. }
  466. }
  467. $this->surveylist = $list;
  468. $this->plainsurveylist = $plain_array;
  469. }
  470. /**
  471. * This function gets the parent id of a survey
  472. *
  473. * @param int survey id
  474. * @return int survey parent id
  475. *
  476. * @author Julio Montoya <gugli100@gmail.com>, Dokeos
  477. * @version September 2008
  478. */
  479. public function getParentId ($id) {
  480. $node = $this->plainsurveylist[$id];
  481. if (is_array($node)&& !empty($node['parent_id']))
  482. return $node['parent_id'];
  483. else
  484. return -1;
  485. }
  486. /**
  487. * This function creates a list of all surveys id
  488. * @param list of nodes
  489. * @return array with the structure survey_id => survey_name
  490. * @author Julio Montoya <gugli100@gmail.com>, Dokeos
  491. * @version September 2008
  492. *
  493. */
  494. public function createList ($list) {
  495. $result=array();
  496. if(is_array($list)) {
  497. foreach ($list as $key=>$node) {
  498. if (is_array($node['children']))
  499. {
  500. //echo $key; echo '--<br>';
  501. //print_r($node);
  502. //echo '<br>';
  503. $result[$key]= $node['name'];
  504. $re=self::createList($node['children']);
  505. if (!empty($re))
  506. {
  507. if (is_array($re))
  508. foreach ($re as $key=>$r)
  509. {
  510. $result[$key]=''.$r;
  511. }
  512. else
  513. {
  514. $result[]=$re;
  515. }
  516. }
  517. }
  518. else
  519. {
  520. //echo $key; echo '-<br>';
  521. $result[$key]=$node['name'];
  522. }
  523. }
  524. }
  525. return $result;
  526. }
  527. }
  528. ?>