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); }