123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105 |
- <?
- // Configure database
- $server = "localhost";
- $db_user = "********";
- $db_pass = "********";
- $only_db = "********";
- // Include required classes
- require_once("_inc/database.php");
- require_once("_inc/class.tree.php");
- // Create a new DB instance
- $db = new DB;
- // Create a new tree instance
- $tree = new tree( array( "structure" => array("id" => "id", "parent_id" => "parent_id", "position" => "position") ) );
- $languages = array();
- $db->query("SELECT * FROM languages");
- while($db->nextr()) { $languages[$db->f(0)] = array($db->f(1),$db->f(2)); }
- // SERVER SIDE PART
- if(isset($_REQUEST["server"])) {
- // Make sure nothing is cached
- header("Cache-Control: must-revalidate");
- header("Cache-Control: post-check=0, pre-check=0", false);
- header("Pragma: no-cache");
- header("Expires: ".gmdate("D, d M Y H:i:s", mktime(date("H")-2, date("i"), date("s"), date("m"), date("d"), date("Y")))." GMT");
- header("Last-Modified: ".gmdate("D, d M Y H:i:s")." GMT");
-
- switch($_REQUEST["type"]) {
- case "list":
- $id = (int)str_replace("node_","",$_REQUEST["id"]);
- $db->query("SELECT s.id, ( SELECT COUNT(*) FROM structure WHERE parent_id = s.id ) AS children, c.language, c.name FROM structure s LEFT JOIN content c ON c.id = s.id WHERE s.parent_id = ".$id." ORDER BY position");
- $data = array();
- $children = array();
- while($db->nextr()) {
- $children[$db->f("id")] = (int)$db->f("children");
- $data[$db->f("id")][$db->f("language")] = $db->f("name");
- }
- echo "[\n";
- $i = 0;
- foreach($data as $k => $v) {
- echo "{\n";
- echo "\tattributes: {\n";
- echo "\t\tid : 'node_".$k."'\n";
- echo "\t},\n";
- if($children[$k]) echo "\tstate: 'closed', \n";
- echo "\tdata: {\n";
- $kf = 0;
- foreach($v as $lang => $name) {
- if($kf > 0) echo ",\n";
- else echo "\n";
- $kf ++;
- echo "\t\t'".$languages[$lang][0]."' : { title : '".$name."' }";
- }
- echo "\n";
- echo "\t}\n";
- echo "}";
- if(++$i < count($data)) echo ",";
- echo "\n";
- }
- echo "\n]";
- break;
- case "delete":
- $id = (int)str_replace("node_","",$_REQUEST["id"]);
- $tree->remove($id);
- $db->query("DELETE FROM content WHERE id = ".$id);
- echo "OK";
- break;
- case "create":
- case "move":
- $id = (int)str_replace("node_","",$_REQUEST["id"]);
- $ref_id = (int)str_replace("node_","",$_REQUEST["ref_id"]);
- $type = $_REQUEST["move_type"];
- $result = $tree->move($id,$ref_id,$type);
- if($id == 0) {
- foreach($languages as $k => $lang) {
- $db->query("INSERT INTO content (id,language,name,data) VALUES(".$result.",".$k.",'New folder','')");
- }
- echo "node_".$result;
- }
- break;
- case "rename":
- $sql = "UPDATE content SET name = '".addslashes($_REQUEST["data"])."' WHERE id = ".(int)str_replace("node_","",$_REQUEST["id"])." AND language = ".(int)$_REQUEST["lang"];
- $db->query($sql);
- echo $sql;
- break;
- case "loadfile":
- $db->query("SELECT * FROM content WHERE id = ".(int)str_replace("node_","",$_REQUEST["id"])." AND language = ".(int)$_REQUEST["lang"]);
- $db->nextr();
- echo $db->f("data");
- break;
- case "savefile":
- $sql = "UPDATE content SET data = '".addslashes($_REQUEST["data"])."' WHERE id = ".(int)str_replace("node_","",$_REQUEST["id"])." AND language = ".(int)$_REQUEST["lang"];
- $db->query($sql);
- echo $sql;
- break;
- }
- exit();
- }
- ?>
|