"ID in ('" .join("','", do_list($crit_escaped)). "')", 'name' => "linkname like '%$crit_escaped%'", 'description' => "description like '%$crit_escaped%'", 'category' => "category like '%$crit_escaped%'" ); if (array_key_exists($search_method, $critsql)) { $criteria = $critsql[$search_method]; $limit = 500; } else { $search_method = ''; $crit = ''; } } else { $search_method = ''; $crit = ''; } $total = getCount('txp_link', $criteria); if ($total < 1) { if ($criteria != 1) { echo n.link_search_form($crit, $search_method). n.graf(gTxt('no_results_found'), ' class="indicator"'); } else { echo n.graf(gTxt('no_links_recorded'), ' class="indicator"'); } return; } $limit = max($link_list_pageby, 15); list($page, $offset, $numPages) = pager($total, $limit, $page); echo link_search_form($crit, $search_method); $rs = safe_rows_start('*, unix_timestamp(date) as uDate', 'txp_link', "$criteria order by $sort_sql limit $offset, $limit"); if ($rs) { echo n.n.'
', startTable('list'). n.tr( column_head('ID', 'id', 'link', true, $switch_dir, $crit, $search_method, ('id' == $sort) ? $dir : ''). hCell(). column_head('link_name', 'name', 'link', true, $switch_dir, $crit, $search_method, ('name' == $sort) ? $dir : ''). column_head('description', 'description', 'link', true, $switch_dir, $crit, $search_method, ('description' == $sort) ? $dir : ''). column_head('link_category', 'category', 'link', true, $switch_dir, $crit, $search_method, ('category' == $sort) ? $dir : ''). column_head('date', 'date', 'link', true, $switch_dir, $crit, $search_method, ('date' == $sort) ? $dir : ''). hCell() ); while ($a = nextRow($rs)) { extract($a); $edit_url = '?event=link'.a.'step=link_edit'.a.'id='.$id.a.'sort='.$sort. a.'dir='.$dir.a.'page='.$page.a.'search_method='.$search_method.a.'crit='.$crit; echo tr( n.td($id, 20). td( n.'' , 35). td( href(htmlspecialchars($linkname), $edit_url) , 125). td( htmlspecialchars($description) , 150). td( ''.$category.'' , 125). td( gTime($uDate) , 75). td( fInput('checkbox', 'selected[]', $id) ) ); } echo n.n.tr( tda( select_buttons(). link_multiedit_form($page, $sort, $dir, $crit, $search_method) , ' colspan="7" style="text-align: right; border: none;"') ). endTable(). '
'. n.nav_form('link', $page, $numPages, $sort, $dir, $crit, $search_method). pageby_form('link', $link_list_pageby); } } // ------------------------------------------------------------- function link_search_form($crit, $method) { $methods = array( 'id' => gTxt('ID'), 'name' => gTxt('link_name'), 'description' => gTxt('description'), 'category' => gTxt('link_category') ); return search_form('link', 'link_edit', $crit, $methods, $method, 'name'); } // ------------------------------------------------------------- function link_edit($message = '') { global $vars, $step; pagetop(gTxt('edit_links'), $message); extract(gpsa($vars)); if ($id && $step == 'link_edit') { $id = assert_int($id); extract(safe_row('*', 'txp_link', "id = $id")); } if ($step == 'link_save' or $step == 'link_post') { foreach ($vars as $var) { $$var = ''; } } echo form( startTable('edit') . tr( fLabelCell('title', '', 'link-title'). fInputCell('linkname', $linkname, 1, 30, '', 'link-title') ). tr( fLabelCell('sort_value', '', 'link-sort'). fInputCell('linksort', $linksort, 2, 15, '', 'link-sort') ). tr( fLabelCell('url', 'link_url', 'link-url'). fInputCell('url', $url, 3, 30, '', 'link-url') ). tr( fLabelCell('link_category', 'link_category', 'link-category'). td( linkcategory_popup($category).' ['.eLink('category', 'list', '', '', gTxt('edit')).']' ) ) . tr( tda( ''.sp.popHelp('link_description') ,' style="text-align: right; vertical-align: top;"'). td( '' ) ). tr( td(). td( fInput('submit', '', gTxt('save'), 'publish') ) ). endTable(). eInput('link'). ($id ? sInput('link_save').hInput('id', $id) : sInput('link_post')). hInput('search_method', gps('search_method')). hInput('crit', gps('crit')) , 'margin-bottom: 25px;'); echo link_list(); } //-------------------------------------------------------------- function linkcategory_popup($cat = '') { return event_category_popup('link', $cat, 'link-category'); } // ------------------------------------------------------------- function link_post() { global $txpcfg,$vars; $varray = gpsa($vars); extract(doSlash($varray)); if (!$linksort) $linksort = $linkname; $q = safe_insert("txp_link", "category = '$category', date = now(), url = '".trim($url)."', linkname = '$linkname', linksort = '$linksort', description = '$description'" ); $GLOBALS['ID'] = mysql_insert_id( ); if ($q) { //update lastmod due to link feeds update_lastmod(); $message = gTxt('link_created', array('{name}' => $linkname)); link_edit($message); } } // ------------------------------------------------------------- function link_save() { global $txpcfg,$vars; $varray = gpsa($vars); extract(doSlash($varray)); if (!$linksort) $linksort = $linkname; $id = assert_int($id); $rs = safe_update("txp_link", "category = '$category', url = '".trim($url)."', linkname = '$linkname', linksort = '$linksort', description = '$description'", "id = $id" ); if ($rs) { update_lastmod(); $message = gTxt('link_updated', array('{name}' => doStrip($linkname))); link_edit($message); } } // ------------------------------------------------------------- function link_change_pageby() { event_change_pageby('link'); link_edit(); } // ------------------------------------------------------------- function link_multiedit_form($page, $sort, $dir, $crit, $search_method) { $methods = array( 'changecategory' => gTxt('changecategory'), 'delete' => gTxt('delete') ); return event_multiedit_form('link', $methods, $page, $sort, $dir, $crit, $search_method); } // ------------------------------------------------------------- function link_multi_edit() { $selected = array_map('assert_int', ps('selected')); if (!$selected) { return link_edit(); } $method = ps('edit_method'); $changed = array(); if ($method == 'delete') { foreach ($selected as $id) { if (safe_delete('txp_link', 'id = '.$id)) { $changed[] = $id; } } } elseif ($method == 'changecategory') { foreach ($selected as $id) { if (safe_update('txp_link', "category = '".doSlash(ps('category'))."'", "id = $id")) { $changed[] = $id; } } } if ($changed) { return link_edit(gTxt( ($method == 'delete' ? 'links_deleted' : 'link_updated'), array(($method == 'delete' ? '{list}' : '{name}') => join(', ', $changed)))); } return link_edit(); } ?>