function edit(&$uid, $menutype, $option) { global $database, $my, $mainframe; global $mosConfig_absolute_path; $menu = new mosMenu($database); $menu->load((int) $uid); // fail if checked out not by 'me' if ($menu->checked_out && $menu->checked_out != $my->id) { mosErrorAlert("The module " . $menu->title . " is currently being edited by another administrator"); } if ($uid) { $menu->checkout($my->id); } else { // load values for new entry $menu->type = 'content_item_link'; $menu->menutype = $menutype; $menu->browserNav = 0; $menu->ordering = 9999; $menu->parent = intval(mosGetParam($_POST, 'parent', 0)); $menu->published = 1; } if ($uid) { $link = 'javascript:submitbutton( \'redirect\' );'; $temp = explode('id=', $menu->link); $query = "SELECT a.title, c.name AS category, s.name AS section" . "\n FROM #__content AS a" . "\n LEFT JOIN #__categories AS c ON a.catid = c.id" . "\n LEFT JOIN #__sections AS s ON a.sectionid = s.id" . "\n WHERE a.id = " . (int) $temp[1]; $database->setQuery($query); $content = $database->loadObjectlist(); // outputs item name, category & section instead of the select list $lists['content'] = ' <table width="100%"> <tr> <td width="10%"> Item: </td> <td> <a href="' . $link . '" title="Edit Content Item"> ' . $content[0]->title . ' </a> </td> </tr> <tr> <td width="10%"> Category: </td> <td> ' . $content[0]->category . ' </td> </tr> <tr> <td width="10%"> Section: </td> <td> ' . $content[0]->section . ' </td> </tr> </table>'; $contents = ''; $lists['content'] .= '<input type="hidden" name="content_item_link" value="' . $temp[1] . '" />'; } else { $query = "SELECT a.id AS value," . "\n CONCAT(s.title, ' - ',c.title,' / ',a.title, ' ') AS text" . "\n FROM #__content AS a" . "\n INNER JOIN #__categories AS c ON a.catid = c.id" . "\n INNER JOIN #__sections AS s ON a.sectionid = s.id AND s.scope = 'content'" . "\n WHERE a.state = 1" . "\n ORDER BY a.sectionid, a.catid, a.title"; $database->setQuery($query); $contents = $database->loadObjectList(); // Create a list of links $lists['content'] = mosHTML::selectList($contents, 'content_item_link', 'class="inputbox" size="10"', 'value', 'text', ''); } // build html select list for target window $lists['target'] = mosAdminMenus::Target($menu); // build the html select list for ordering $lists['ordering'] = mosAdminMenus::Ordering($menu, $uid); // build the html select list for the group access $lists['access'] = mosAdminMenus::Access($menu); // build the html select list for paraent item $lists['parent'] = mosAdminMenus::Parent($menu); // build published button option $lists['published'] = mosAdminMenus::Published($menu); // build the url link output $lists['link'] = mosAdminMenus::Link($menu, $uid); // get params definitions $params = new mosParameters($menu->params, $mainframe->getPath('menu_xml', $menu->type), 'menu'); content_item_link_menu_html::edit($menu, $lists, $params, $option, $contents); }
function edit(&$uid, $menutype, $option) { global $database, $my, $mainframe; global $mosConfig_absolute_path; $menu = new mosMenu($database); $menu->load($uid); // fail if checked out not by 'me' if ($menu->checked_out && $menu->checked_out != $my->id) { echo "<script>alert('" . sprintf(T_('The module % is currently being edited by another administrator'), $menu->title) . "'); document.location.href='index2.php?option={$option}'</script>\n"; exit(0); } if ($uid) { $menu->checkout($my->id); } else { // load values for new entry $menu->type = 'content_item_link'; $menu->menutype = $menutype; $menu->browserNav = 0; $menu->ordering = 9999; $menu->parent = intval(mosGetParam($_POST, 'parent', 0)); $menu->published = 1; } if ($uid) { $link = 'javascript:submitbutton( \'redirect\' );'; $temp = explode('id=', $menu->link); $query = "SELECT a.title, c.name AS category, s.name AS section" . "\n FROM #__content AS a" . "\n LEFT JOIN #__categories AS c ON a.catid = c.id" . "\n LEFT JOIN #__sections AS s ON a.sectionid = s.id" . "\n WHERE a.id = '" . $temp[1] . "'"; $database->setQuery($query); $content = $database->loadObjectlist(); // outputs item name, category & section instead of the select list $lists['content'] = ' <table width="100%"> <tr> <td width="10%"> Item: </td> <td> <a href="' . $link . '" title="' . T_('Edit Content Item') . '"> ' . $content[0]->title . ' </a> </td> </tr> <tr> <td width="10%"> ' . T_('Category:') . ' </td> <td> ' . $content[0]->category . ' </td> </tr> <tr> <td width="10%"> ' . T_('Section:') . ' </td> <td> ' . $content[0]->section . ' </td> </tr> </table>'; $contents = ''; $lists['content'] .= '<input type="hidden" name="content_item_link" value="' . $temp[1] . '" />'; } else { $query = "SELECT a.id AS value, a.title AS text, a.sectionid, a.catid " . "\n FROM #__content AS a" . "\n INNER JOIN #__categories AS c ON a.catid = c.id" . "\n INNER JOIN #__sections AS s ON a.sectionid = s.id" . "\n WHERE a.state = '1'" . "\n ORDER BY a.sectionid, a.catid, a.title"; $database->setQuery($query); $contents = $database->loadObjectList(); foreach ($contents as $content) { $database->setQuery("SELECT s.title" . "\n FROM #__sections AS s" . "\n WHERE s.scope = 'content'" . "\n AND s.id = '" . $content->sectionid . "'"); $section = $database->loadResult(); $database->setQuery("SELECT c.title" . "\n FROM #__categories AS c" . "\n WHERE c.id = '" . $content->catid . "'"); $category = $database->loadResult(); $value = $content->value; $text = $section . " - " . $category . " / " . $content->text . " "; $temp[] = mosHTML::makeOption($value, $text); $contents = $temp; } // Create a list of links $lists['content'] = mosHTML::selectList($contents, 'content_item_link', 'class="inputbox" size="10"', 'value', 'text', ''); } // build html select list for target window $lists['target'] = mosAdminMenus::Target($menu); // build the html select list for ordering $lists['ordering'] = mosAdminMenus::Ordering($menu, $uid); // build the html select list for the group access $lists['access'] = mosAdminMenus::Access($menu); // build the html select list for paraent item $lists['parent'] = mosAdminMenus::Parent($menu); // build published button option $lists['published'] = mosAdminMenus::Published($menu); // build the url link output $lists['link'] = mosAdminMenus::Link($menu, $uid); // get params definitions $params =& new mosAdminParameters($menu->params, $mainframe->getPath('menu_xml', $menu->type), 'menu'); content_item_link_menu_html::edit($menu, $lists, $params, $option, $contents); }