'index.php',"name" => get_lang('PlatformAdmin')); Display::display_header($tool_name); //api_display_tool_title($tool_name); if(empty($action)) { $result=api_sql_query("SELECT t1.name,t1.code,t1.parent_id,t1.tree_pos,t1.children_count,COUNT(DISTINCT t3.code) AS nbr_courses FROM $tbl_category t1 LEFT JOIN $tbl_category t2 ON t1.code=t2.parent_id LEFT JOIN $tbl_course t3 ON t3.category_code=t1.code WHERE t1.parent_id ".(empty($category)?"IS NULL":"='$category'")." GROUP BY t1.name,t1.code,t1.parent_id,t1.tree_pos,t1.children_count ORDER BY t1.tree_pos",__FILE__,__LINE__); $Categories=api_store_result($result); } if(!empty($category) && empty($action)) { $result=api_sql_query("SELECT parent_id FROM $tbl_category WHERE code='$category'",__FILE__,__LINE__); list($parent_id)=mysql_fetch_row($result); ?> << <<
'$row[tree_pos]'",__FILE__,__LINE__); api_sql_query("DELETE FROM $tbl_category WHERE code='$node'",__FILE__,__LINE__); if(!empty($row['parent_id'])) { updateFils($row['parent_id']); } } } function addNode($code,$name,$canHaveCourses,$parent_id) { global $tbl_category; $canHaveCourses=$canHaveCourses?'TRUE':'FALSE'; $result=api_sql_query("SELECT 1 FROM $tbl_category WHERE code='$code'",__FILE__,__LINE__); if(mysql_num_rows($result)) { return false; } $result=api_sql_query("SELECT MAX(tree_pos) AS maxTreePos FROM $tbl_category",__FILE__,__LINE__); $row=mysql_fetch_array($result); $tree_pos=$row['maxTreePos']+1; api_sql_query("INSERT INTO $tbl_category(name,code,parent_id,tree_pos,children_count,auth_course_child) VALUES('$name','$code',".(empty($parent_id)?"NULL":"'$parent_id'").",'$tree_pos','0','$canHaveCourses')",__FILE__,__LINE__); updateFils($parent_id); return true; } function editNode($code,$name,$canHaveCourses,$old_code) { global $tbl_category; $canHaveCourses=$canHaveCourses?'TRUE':'FALSE'; if($code != $old_code) { $result=api_sql_query("SELECT 1 FROM $tbl_category WHERE code='$code'",__FILE__,__LINE__); if(mysql_num_rows($result)) { return false; } } api_sql_query("UPDATE $tbl_category SET name='$name',code='$code',auth_course_child='$canHaveCourses' WHERE code='$old_code'",__FILE__,__LINE__); return true; } function moveNodeUp($code,$tree_pos,$parent_id) { global $tbl_category; $result=api_sql_query("SELECT code,tree_pos FROM $tbl_category WHERE parent_id ".(empty($parent_id)?"IS NULL":"='$parent_id'")." AND tree_pos<'$tree_pos' ORDER BY tree_pos DESC LIMIT 0,1",__FILE__,__LINE__); if(!$row=mysql_fetch_array($result)) { $result=api_sql_query("SELECT code,tree_pos FROM $tbl_category WHERE parent_id ".(empty($parent_id)?"IS NULL":"='$parent_id'")." AND tree_pos>'$tree_pos' ORDER BY tree_pos DESC LIMIT 0,1",__FILE__,__LINE__); if(!$row=mysql_fetch_array($result)) { return false; } } api_sql_query("UPDATE $tbl_category SET tree_pos='".$row['tree_pos']."' WHERE code='$code'",__FILE__,__LINE__); api_sql_query("UPDATE $tbl_category SET tree_pos='$tree_pos' WHERE code='$row[code]'",__FILE__,__LINE__); } function updateFils($category) { global $tbl_category; $result=api_sql_query("SELECT parent_id FROM $tbl_category WHERE code='$category'",__FILE__,__LINE__); if($row=mysql_fetch_array($result)) { updateFils($row['parent_id']); } $children_count=compterFils($category,0)-1; api_sql_query("UPDATE $tbl_category SET children_count='$children_count' WHERE code='$category'",__FILE__,__LINE__); } function compterFils($pere,$cpt) { global $tbl_category; $result=api_sql_query("SELECT code FROM $tbl_category WHERE parent_id='$pere'",__FILE__,__LINE__); while($row=mysql_fetch_array($result)) { $cpt=compterFils($row['code'],$cpt); } return ($cpt+1); } ?>