diff --git a/cms/admin.php b/cms/admin.php index 066264ba6..f66eb2523 100644 --- a/cms/admin.php +++ b/cms/admin.php @@ -520,6 +520,8 @@ if(!is_null($method)) $content->child_content_id = $_POST['child_content_id']; $content->insertamum = date('Y-m-d'); $content->insertvon = $user; + $content->sort=$content->getMaxSort($content_id)+1; + if($content->addChild()) $message.='Daten erfolgreich gespeichert'; else @@ -558,7 +560,7 @@ if(!is_null($method)) $contentchild_id = $_GET['contentchild_id']; $content = new content(); if($content->SortUp($contentchild_id)) - $message.='Sortieren erfolgrecih'; + $message.='Sortieren erfolgreich'; else $message.=''.$content->errormsg.''; } diff --git a/include/content.class.php b/include/content.class.php index 28e98f169..be5c18550 100644 --- a/include/content.class.php +++ b/include/content.class.php @@ -522,8 +522,8 @@ class content extends basis_db if($sichtbar && !$content->sichtbar) continue; - $arr[$content->titel]=array('name'=>$content->titel, 'link'=>APP_ROOT.'cms/content.php?content_id='.$row->child_content_id, 'target'=>'main', 'open'=>($content->menu_open?'true':'false'),'content_id'=>$content->content_id); - $arr[$content->titel]=array_merge($arr[$content->titel],$this->getMenueArray($row->child_content_id, $sprache, $sichtbar)); + $arr[$content->content_id]=array('name'=>$content->titel, 'link'=>APP_ROOT.'cms/content.php?content_id='.$row->child_content_id, 'target'=>'main', 'open'=>($content->menu_open?'true':'false'),'content_id'=>$content->content_id,'template'=>$content->template_kurzbz); + $arr[$content->content_id]=array_merge($arr[$content->content_id],$this->getMenueArray($row->child_content_id, $sprache, $sichtbar)); } } return $arr; @@ -587,6 +587,7 @@ class content extends basis_db FROM parents GROUP BY content_id) AND content_id<>'".addslashes($content_id)."' + AND template_kurzbz<>'news' ORDER BY titel"; if($result = $this->db_query($qry)) @@ -643,11 +644,12 @@ class content extends basis_db */ public function addChild() { - $qry = 'INSERT INTO campus.tbl_contentchild (content_id, child_content_id, insertamum, insertvon) VALUES('. + $qry = 'INSERT INTO campus.tbl_contentchild (content_id, child_content_id, insertamum, insertvon, sort) VALUES('. $this->addslashes($this->content_id).','. $this->addslashes($this->child_content_id).','. $this->addslashes($this->insertamum).','. - $this->addslashes($this->insertvon).');'; + $this->addslashes($this->insertvon).','. + $this->addslashes($this->sort).');'; if($this->db_query($qry)) { @@ -660,6 +662,29 @@ class content extends basis_db } } + /** + * Holt die hochste Sortierung eines Contentteilbaums + * + * @param $content_id + */ + public function getMaxSort($content_id) + { + $qry="SELECT max(sort) as max FROM campus.tbl_contentchild WHERE content_id='".addslashes($content_id)."'"; + if($result = $this->db_query($qry)) + { + if($row = $this->db_fetch_object($result)) + { + return $row->max; + } + else + return '0'; + } + else + { + $this->errormsg = 'Fehler bei Abfrage'; + return false; + } + } /** * Laedt alle Content Eintraege die keine Childs von anderen Contenteintraegen sind * @return boolean @@ -773,7 +798,10 @@ class content extends basis_db $nachbar_sort = $row->sort; } else - return 0; + { + $this->errormsg='Dies ist bereits der oberste Eintrag'; + return false; + } } else { @@ -787,6 +815,7 @@ class content extends basis_db WHERE contentchild_id='".addslashes($nachbar_id)."'; UPDATE campus.tbl_contentchild SET sort='".addslashes($nachbar_sort)."' WHERE contentchild_id='".addslashes($contentchild_id)."';"; + echo $qry; if($this->db_query($qry)) return true; else @@ -820,7 +849,10 @@ class content extends basis_db $nachbar_sort = $row->sort; } else - return 0; + { + $this->errormsg='Dies ist bereits der unterste Eintrag'; + return false; + } } else {