Esempio n. 1
0
 function findIdBySlug2($slugs)
 {
     App::import('Model', 'Forumbranch');
     $branch = new Forumbranch();
     $out = array("Forum" => null, "Topic" => null);
     if (empty($slugs)) {
         return $out;
     }
     $topic_slug = $slugs[count($slugs) - 1];
     $this->contain();
     $topic_id = $this->find('first', array('conditions' => array('Forumtopic.is_deleted <> 1', 'Forumtopic.slug' => $topic_slug)));
     if (!empty($topic_id)) {
         $out['Topic'] = $topic_id['Forumtopic']['id'];
     }
     if (!empty($out['Topic'])) {
         unset($slugs[count($slugs) - 1]);
     }
     $forum_slug = $slugs[count($slugs) - 1];
     $branch->contain();
     $forumbranch = $branch->find('first', array('conditions' => array('Forumbranch.is_deleted <> 1', 'Forumbranch.slug' => $forum_slug)));
     if (!empty($forumbranch)) {
         $out['Forum'] = $forumbranch['Forumbranch']['id'];
     }
     return $out;
 }
 function generate_link_and_title($slugs = null)
 {
     if (empty($slugs)) {
         return array('links' => '', 'pagetitle' => '');
     }
     $fl_begin = '<div class="grit">
 					<ul>
 				';
     $fl_end = '</ul></div>';
     $forumlinks = $fl_begin . "<li>" . $this->Html->link("Forum", array('controller' => 'forumbranches', 'action' => 'index'), array(), false, false) . "</li>";
     $page_title = "";
     $objBranch = new Forumbranch();
     $arraylinks = array();
     //$parameters = $objBranch->findIdBySlug($slugs);
     $last_slug = array_pop($slugs);
     $objTopic = new Forumtopic();
     $objTopic->contain();
     $topic = $objTopic->find('first', array('conditions' => array('slug' => $last_slug)));
     if (!empty($topic['Forumtopic']['name'])) {
         $add_to_links = "<li>" . $topic['Forumtopic']['name'] . "</li>";
         $last_slug = array_pop($slugs);
         $page_title = ": " . $topic['Forumtopic']['name'];
     }
     $objBranch->contain();
     $forum = $objBranch->find('first', array('conditions' => array('slug' => $last_slug)));
     if (!empty($forum['Forumbranch']['name']) && $page_title == "") {
         $page_title = ": " . $forum['Forumbranch']['name'];
     }
     $forum_path = $objBranch->getpath($forum['Forumbranch']['id']);
     if (empty($forum_path)) {
         return "";
     }
     $slugs = array();
     $slugs[0] = $forum_path[0]['Forumbranch']['slug'];
     foreach ($forum_path as $index => $branch) {
         if ($index != 0) {
             $slugs[$index] = $slugs[$index - 1] . "/" . $branch['Forumbranch']['slug'];
         }
         if (empty($topic['Forumtopic']['name'])) {
             if ($index == count($forum_path) - 1) {
                 array_push($arraylinks, "<li>" . $branch['Forumbranch']['name'] . "</li>");
             } else {
                 array_push($arraylinks, "<li>" . $this->Html->link($branch['Forumbranch']['name'], array('controller' => 'forumbranches', 'action' => 'index', $slugs[$index]), array(), false, false) . "</li>");
             }
         } else {
             array_push($arraylinks, "<li>" . $this->Html->link($branch['Forumbranch']['name'], array('controller' => 'forumbranches', 'action' => 'index', $slugs[$index]), array(), false, false) . "</li>");
         }
     }
     if (!empty($topic['Forumtopic']['name'])) {
         //last topic is not a link
         array_push($arraylinks, $add_to_links);
     }
     $forumlinks .= implode("", $arraylinks);
     $forumlinks .= $fl_end;
     return array('links' => $forumlinks, 'pagetitle' => $page_title);
 }