<?php # MediaLinks - Administration # $Id: keywords.php,v 1.1 2007/11/25 04:04:55 nobu Exp $ include '../../../include/cp_header.php'; include_once '../functions.php'; include_once XOOPS_ROOT_PATH . '/class/pagenav.php'; $keywords = new KeyWords(); $op = isset($_GET['op']) ? $_GET['op'] : ''; if (isset($_POST['keys'])) { $myts =& MyTextSanitizer::getInstance(); $keys = array('name', 'weight', 'description'); $nodetype = intval($_POST['nodetype']); $par = intval($_POST['parent']); if ($par == 0) { $nodetype = 1; } // only for category $vals = array('nodetype' => $nodetype, 'parent' => $par, 'relay' => $nodetype != 1 ? 0 : intval($_POST['relay'])); foreach ($keys as $k) { $vals[$k] = $xoopsDB->quoteString($myts->stripSlashesGPC($_POST[$k])); } $keyid = intval($_POST['keyid']); redirect_result($keywords->insert($keyid, $vals)); } elseif (isset($_POST['delkey'])) { $keyid = intval($_POST['keyid']); redirect_result($keywords->delete($keyid)); } xoops_cp_header(); include "mymenu.php"; $keyid = isset($_GET['keyid']) ? intval($_GET['keyid']) : 0;
function keywords_widget(&$ret, &$relays, &$roots) { global $content, $keywords; $keywords = new KeyWords(); $tree = $keywords->getTree(); if (empty($tree)) { return null; } $keys = $content->getKeywords(); $ret = array(); $relays = array(); $all = $keywords->get(); foreach ($all as $key) { if (!empty($key['relay'])) { $root = $key; while ($root['parent']) { $root = $all[$root['parent']]; } $relays[$key['keyid']] = array('keyid' => $key['relay'], 'root' => $root['keyid'], 'values' => array(), 'labels' => array()); } } $roots = array(); foreach ($tree as $key) { // makes toplevel widget $keyid = $key['keyid']; $roots[] = $keyid; $name = "keywords[{$keyid}]"; $words = new KeyFormSelect('', $name); $words->addOption('', _MD_KEY_NONE); $opts = key_expand($key['child']); $words->addOptions($opts); $find = null; foreach ($opts as $opt) { $oid = $opt['keyid']; $check = true; if (empty($oid)) { continue; } foreach (explode(',', $oid) as $id) { if (!in_array($id, $keys)) { $check = false; } $pid = $all[$id]['parent']; if (isset($relays[$pid])) { $relays[$pid]['values'][] = $opt['keyid']; $relays[$pid]['labels'][] = $opt['name']; } } if ($check) { $find = $oid; } } if ($find) { $words->setValue($find); } $words->setExtra('onchange="changeKeyword(this);"'); $ret[$key['keyid']] = $words->render(); } return $ret; }
function keys_path($id = 0, $find = 0, $force = false) { global $keywords; if (!$id) { return $this->find_keylist(); } if (empty($keywords)) { $keywords = new KeyWords(); } return $keywords->keys_path($id, $find, $force); }
<?php # Medialinks index page # $Id: index.php,v 1.3 2007/11/25 06:34:37 nobu Exp $ include "../../mainfile.php"; include_once "functions.php"; include_once XOOPS_ROOT_PATH . '/class/pagenav.php'; $keywords = new KeyWords(); $isadmin = is_object($xoopsUser) && $xoopsUser->isAdmin($xoopsModule->getVar('mid')); include XOOPS_ROOT_PATH . "/header.php"; $xoopsOption['template_main'] = 'medialinks_index.html'; $keyid = isset($_GET['keyid']) ? intval($_GET['keyid']) : 0; $xoopsTpl->assign('keyid', $keyid); $keypath = $keywords->keys_path($keyid, 0, true); $xoopsTpl->assign('keypath', $keypath); set_ml_breadcrumbs($keypath); $xoopsTpl->assign(get_keyword_index($keyid, $isadmin)); $start = isset($_GET['start']) ? intval($_GET['start']) : 0; $max = $xoopsModuleConfig['max_rows']; $verb = intval($GLOBALS['mlModuleConfig']['list_style']); $media = ml_index_view($keyid ? 'weight, mid' : 'ctime DESC', 0, $keyid, $verb, $max, $start); $xoopsTpl->assign('media', $media); $n = $media['count']; $nav = new XoopsPageNav($n, $max, $start, "start", "keyid=" . $keyid); if ($n > $max) { $xoopsTpl->assign('pagenav', $nav->renderNav()); } include XOOPS_ROOT_PATH . "/footer.php"; exit; function get_keyword_index($keyid, $isadmin = false) {