/** * Adds the career menu to the main menu. * * @param pmJSCookMenu $menu * @return void */ public function addCareerMenu(pmJSCookMenu $menu) { $career = CareerPeer::retrieveByPK($this->getReferenceFor("career")); sfContext::getInstance()->getConfiguration()->loadHelpers(array("I18N")); if (!is_null($career)) { $menu->addChild("menu_separator", new pmJSCookMenuSeparator()); $submenu = new pmJSCookMenu(); $submenu->setTitle("<strong>" . __("Current career") . "</strong>")->setCredentials("edit_career"); $item = new pmJSCookMenuItem(); $item->setTitle($career); $submenu->addChild("career_name", $item); $submenu->addChild("first_separator", new pmJSCookMenuSeparator()); // edit if ($career->canBeEdited()) { $item = new pmJSCookMenuItem(); $item->setTitle("Edit")->setUrl("@career_edit?id=" . $career->getId())->setCredentials("edit_career"); $submenu->addChild("edit", $item); } // delete if ($career->canBeDeleted()) { // TODO: ver esto porque REST no funciona con JS $delete_url = url_for(array("sf_route" => "career_delete", "sf_subject" => $career, "sf_method" => "delete")); $item = new pmJSCookMenuItem(); $item->setTitle("Delete")->setUrl($delete_url)->setCredentials("edit_career"); $submenu->addChild("delete", $item); } if ($career->canBeEdited() || $career->canBeDeleted()) { $submenu->addChild("second_separator", new pmJSCookMenuSeparator()); } // copy $item = new pmJSCookMenuItem(); $item->setTitle("Copy")->setUrl("career/copy?id=" . $career->getId())->setCredentials("edit_career"); $submenu->addChild("copy", $item); // subjects $item = new pmJSCookMenuItem(); $item->setTitle("Subjects")->setUrl("career/subjects?id=" . $career->getId())->setCredentials("edit_career"); $submenu->addChild("subjects", $item); // subject options $item = new pmJSCookMenuItem(); $item->setTitle("Subject options")->setUrl("career/subjectOptions?id=" . $career->getId())->setCredentials("edit_career"); $submenu->addChild("subject_options", $item); // career view $item = new pmJSCookMenuItem(); $item->setTitle("Career view")->setUrl("career/careerView?id=" . $career->getId())->setCredentials("edit_career"); $submenu->addChild("career_view", $item); // show inscripted $item = new pmJSCookMenuItem(); $item->setTitle("Show inscripted")->setUrl("career/students?id=" . $career->getId())->setCredentials("edit_career"); $submenu->addChild("career_view", $item); $menu->addChild("career", $submenu); } }
if (sfConfig::get('app_testing')) { ?> <div style="position:absolute; left: 300px; top: 0px; font-size:14px; "> <div style="margin: 4px; width: 200px; background-color: yellow; border: solid 1px red; color: red; padding:4px; text-align: center; "> Versión de prueba </div> </div> <?php } ?> <div id="menu-div"> <div class="content"> <?php if ($sf_user->isAuthenticated()) { ?> <?php $menu = pmJSCookMenu::createFromYaml(SchoolBehaviourFactory::getInstance()->getMenuYaml()); ?> <?php echo $menu->render(); ?> <?php } ?> <div class="search-content"> <form action="<?php echo url_for('search'); ?> " method="post"> <input type="text" name="query" id="query"/> <input type="submit" value="<?php echo __('Search');
/** * Create a submenu from an array. * * @param array $arr The array * @return pmJSCookMenuComponent */ protected static function createMenu($arr) { $item = null; if (array_key_exists("menu", $arr)) { $item = new pmJSCookMenu(); $separator_count = 0; foreach ($arr["menu"] as $name => $submenu) { if ($name == "separator") { $sitem = new pmJSCookMenuSeparator(); $item->addChild("{$name}{$separator_count}", $sitem); $separator_count++; } else { $sitem = self::createMenu($submenu); $item->addChild($name, $sitem); } } } else { $item = new pmJSCookMenuItem(); } if (array_key_exists("credentials", $arr)) { $item->setCredentials($arr["credentials"]); } if (array_key_exists("description", $arr)) { $item->setDescription($arr["description"]); } if (array_key_exists("icon", $arr)) { $item->setIcon($arr["icon"]); } if (array_key_exists("target", $arr)) { $item->setTarget($arr["target"]); } if (array_key_exists("title", $arr)) { $item->setTitle($arr["title"]); } if (array_key_exists("url", $arr)) { $item->setUrl($arr["url"]); } return $item; }