1
0
mirror of https://github.com/e107inc/e107.git synced 2025-02-13 19:15:19 +01:00
php-e107/e107_plugins/linkwords/admin_config.php

392 lines
11 KiB
PHP
Raw Normal View History

2006-12-02 04:36:16 +00:00
<?php
/*
2009-11-17 13:48:46 +00:00
* e107 website system
*
2013-02-03 14:19:24 +01:00
* Copyright (C) 2008-2013 e107 Inc (e107.org)
2009-11-17 13:48:46 +00:00
* Released under the terms and conditions of the
* GNU General Public License (http://www.gnu.org/licenses/gpl.txt)
*
2010-01-02 22:57:41 +00:00
* Linkwords plugin - admin page
2009-11-17 13:48:46 +00:00
*
2010-01-02 22:57:41 +00:00
*/
require_once('../../class2.php');
if (!getperms('P') || !e107::isInstalled('linkwords'))
2008-12-07 21:55:02 +00:00
{
2010-01-02 22:57:41 +00:00
header('location:'.e_BASE.'index.php');
2006-12-02 04:36:16 +00:00
exit ;
}
2010-01-02 22:57:41 +00:00
require_once(e_ADMIN.'auth.php');
include_lan(e_PLUGIN.'linkwords/languages/'.e_LANGUAGE.'_admin_linkwords.php');
2008-12-13 18:04:52 +00:00
define('LW_CACHE_TAG', 'nomd5_linkwords');
2006-12-02 04:36:16 +00:00
2013-03-02 13:41:37 +01:00
$mes = e107::getMessage();
$tp = e107::getParser();
2013-03-02 13:41:37 +01:00
$frm = e107::getForm();
$lw_context_areas = array(
2008-12-07 21:55:02 +00:00
'TITLE' => LWLAN_33,
'SUMMARY' => LWLAN_34,
'BODY' => LWLAN_35,
'DESCRIPTION' => LWLAN_36,
'USER_TITLE' => LWLAN_40,
'USER_BODY' => LWLAN_41
// Don't do the next three - linkwords are meaningless on them
// 'olddefault' => LWLAN_37,
// 'linktext' => LWLAN_38,
// 'rawtext' => LWLAN_39'
);
2008-12-07 21:55:02 +00:00
// Yes, I know its a silly order - but that's history!
$lwaction_vals = array(1=>LWLAN_51, 0=>LWLAN_52, 2=>LWLAN_53, 3=>LWLAN_54);
2012-11-26 15:43:42 -08:00
$frm = e107::getForm();
2008-12-07 21:55:02 +00:00
// Generate dropdown for possible actions on finding a linkword
function lw_act_opts($curval)
{
global $lwaction_vals;
$ret = '';
foreach ($lwaction_vals as $opt => $val)
{
2010-01-02 22:57:41 +00:00
$selected = ($curval == $opt ? "selected='selected'" : '');
2008-12-07 21:55:02 +00:00
$ret .= "<option value='{$opt}' {$selected}>{$val}</option>\n";
}
return $ret;
}
2006-12-02 04:36:16 +00:00
$deltest = array_flip($_POST);
if(isset($deltest[LAN_DELETE]))
2006-12-02 04:36:16 +00:00
{
$delete_id = intval(str_replace('delete_', '', $deltest[LAN_DELETE]));
2006-12-02 04:36:16 +00:00
2010-01-02 22:57:41 +00:00
if ($sql->db_Count('linkwords', '(*)', "WHERE linkword_id = ".$delete_id))
2006-12-02 04:36:16 +00:00
{
2010-01-02 22:57:41 +00:00
$sql->db_Delete('linkwords', 'linkword_id='.$delete_id);
2008-12-07 21:55:02 +00:00
$admin_log->log_event('LINKWD_03','ID: '.$delete_id,'');
2008-12-13 18:04:52 +00:00
$e107->ecache->clear_sys(LW_CACHE_TAG);
//$message = LWLAN_19;
$mes->addSuccess(LAN_DELETED);
2006-12-02 04:36:16 +00:00
}
}
if(e_QUERY)
{
2010-01-02 22:57:41 +00:00
$lw_qs = explode('.', e_QUERY);
if (!isset($lw_qs[0])) $lw_qs[0] = 'words';
if (!isset($lw_qs[1])) $lw_qs[1] = -1;
$action = $lw_qs[0];
2008-12-07 21:55:02 +00:00
$id = intval($lw_qs[1]);
}
if (!isset($action)) $action = 'words';
if (isset($_POST['saveopts_linkword']))
{ // Save options page
// Array of context flags
$pref['lw_context_visibility'] = array(
2008-12-07 21:55:02 +00:00
'OLDDEFAULT' => FALSE,
'TITLE' => FALSE,
'USER_TITLE' => FALSE,
'SUMMARY' => FALSE,
'BODY' => FALSE,
'USER_BODY' => FALSE,
'DESCRIPTION' => FALSE,
'LINKTEXT' => FALSE,
'RAWTEXT' => FALSE
);
2008-12-13 18:04:52 +00:00
foreach ($_POST['lw_visibility_area'] as $can_see)
{
2008-12-13 18:04:52 +00:00
if (key_exists($can_see,$lw_context_areas))
{
$pref['lw_context_visibility'][$can_see] = TRUE;
}
}
2008-12-13 18:04:52 +00:00
// Text area for 'exclude' pages - use same method as for menus
$pagelist = explode("\r\n", $_POST['linkword_omit_pages']);
for ($i = 0 ; $i < count($pagelist) ; $i++)
{
$pagelist[$i] = trim($pagelist[$i]);
}
$pref['lw_page_visibility'] = '2-'.implode("|", $pagelist); // '2' for 'hide on specified pages'
$pref['lw_ajax_enable'] = isset($_POST['lw_ajax_enable']);
$pref['lw_notsamepage'] = isset($_POST['lw_notsamepage']);
2008-12-13 18:04:52 +00:00
save_prefs();
2010-01-23 10:31:36 +00:00
$logString = implode(', ',$pref['lw_context_visibility']).'[!br!]'.$pref['lw_page_visibility'].'[!br!]'.$pref['lw_ajax_enable'].'[!br!]'.$pref['lw_notsamepage'];
2008-12-13 18:04:52 +00:00
$e107->ecache->clear_sys(LW_CACHE_TAG);
2008-12-07 21:55:02 +00:00
$admin_log->log_event('LINKWD_04',$logString,'');
2006-12-02 04:36:16 +00:00
}
2008-12-07 21:55:02 +00:00
if (isset($_POST['submit_linkword']) || isset($_POST['update_linkword']))
2006-12-02 04:36:16 +00:00
{
if(!$_POST['linkwords_word'] && $_POST['linkwords_url']) // TODO FIX check is not functional
2008-12-07 21:55:02 +00:00
{ // Key fields empty
$mes->addError(LAN_REQUIRED_BLANK);
2006-12-02 04:36:16 +00:00
}
else
{
$data['linkword_word'] = $tp->toDB($_POST['linkword_word']);
$data['linkword_link'] = $tp->toDB($_POST['linkword_link']);
$data['linkword_tooltip'] = $tp->toDB($_POST['linkword_tooltip']);
2008-12-07 21:55:02 +00:00
$data['linkword_tip_id'] = intval($_POST['linkword_tip_id']);
$data['linkword_active'] = intval($_POST['linkword_active']);
$data['linkword_newwindow'] = isset($_POST['linkword_newwindow']) ? 1 : 0;
$logString = implode('[!br!]',$data);
if (isset($_POST['submit_linkword']))
{
if ($sql->db_Insert('linkwords', $data))
2008-12-07 21:55:02 +00:00
{
$admin_log->log_event('LINKWD_01',$logString,'');
$mes->addSuccess(LAN_CREATED);
2008-12-07 21:55:02 +00:00
}
else
{
//$message = LWLAN_57;
$mes->addError(LAN_CREATED_FAILED);
2008-12-07 21:55:02 +00:00
}
}
elseif (isset($_POST['update_linkword']))
{
$id = intval(varset($_POST['lw_edit_id'],0));
if (($id > 0) && $sql->db_UpdateArray('linkwords', $data, ' WHERE `linkword_id`='.$id))
2008-12-07 21:55:02 +00:00
{
$mes->addSuccess(LAN_UPDATED);
2008-12-07 21:55:02 +00:00
$logString = 'ID: '.$id.'[!br!]'.$logString;
$admin_log->log_event('LINKWD_02',$logString,'');
}
else
{
$mes->addError(LAN_UPDATED_FAILED);
2008-12-07 21:55:02 +00:00
}
}
2008-12-13 18:04:52 +00:00
$e107->ecache->clear_sys(LW_CACHE_TAG);
2006-12-02 04:36:16 +00:00
}
}
$ns->tablerender($caption, $mes->render() . $text);
2006-12-02 04:36:16 +00:00
2008-12-07 21:55:02 +00:00
$chkNewWindow = " checked='checked'"; // Open links in new window by default
2006-12-02 04:36:16 +00:00
if($action == "edit")
{
if($sql -> db_Select("linkwords", "*", "linkword_id=".$id))
{
$row = $sql -> db_Fetch();
extract($row);
2008-12-07 21:55:02 +00:00
$chkNewWindow = $row['linkword_newwindow'] ? " checked='checked'" : ''; // Open links in new window by default
define("LW_EDIT", TRUE);
}
2006-12-02 04:36:16 +00:00
}
else
{
2010-01-02 22:57:41 +00:00
$linkword_word = '';
$linkword_link = '';
$linkword_active = '';
$linkword_tooltip = '';
$linkword_tip_id = '';
2006-12-02 04:36:16 +00:00
}
if (($action == 'words') || ($action == 'edit'))
{
2013-03-02 13:41:37 +01:00
2006-12-02 04:36:16 +00:00
$text = "
<form method='post' action='".e_SELF."?words'>
2012-11-26 15:43:42 -08:00
<table class='table adminform'>
2008-12-07 21:55:02 +00:00
<colgroup>
2012-11-26 15:43:42 -08:00
<col class='col-label' />
<col class='col-control' />
2008-12-07 21:55:02 +00:00
</colgroup>
2006-12-02 04:36:16 +00:00
<tr>
2012-11-26 15:43:42 -08:00
<td>".LWLAN_21."</td>
<td>
<input class='tbox' type='text' name='linkword_word' size='40' value='".$linkword_word."' maxlength='100' />
</td>
2006-12-02 04:36:16 +00:00
</tr>
<tr>
<td>".LWLAN_6."</td>
<td>
<input class='tbox' type='text' name='linkword_link' size='60' value='".$linkword_link."' maxlength='250' /><br />
<input type='checkbox' name='linkword_newwindow' value='1'{$chkNewWindow} /> ".LWLAN_55."
</td>
2008-12-07 21:55:02 +00:00
</tr>
<tr>
<td>".LWLAN_50."</td>
<td>
<textarea rows='3' cols='80' class='tbox' name='linkword_tooltip'>".$linkword_tooltip."</textarea>
</td>
2008-12-07 21:55:02 +00:00
</tr>
<tr>
<td>".LWLAN_62."</td>
<td>
2013-02-03 14:19:24 +01:00
<input class='tbox' type='text' name='linkword_tip_id' size='10' value='".$linkword_tip_id."' maxlength='10' /><span class='field-help'>".LWLAN_63."</span>
</td>
2006-12-02 04:36:16 +00:00
</tr>
<tr>
<td>".LWLAN_22."</td>
<td>
<select class='tbox' name='linkword_active'>".lw_act_opts($linkword_active)."</select>
</td>
2006-12-02 04:36:16 +00:00
</tr>
</table>
2012-11-26 15:43:42 -08:00
<div class='buttons-bar center'>
".
(defined("LW_EDIT") ? $frm->admin_button('update_linkword','no-value','update',LAN_UPDATE) . "<input type='hidden' name='lw_edit_id' value='{$id}' />" : $frm->admin_button('submit_linkword','no-value','submit',LAN_CREATE))."
</div>
</form>\n";
2006-12-02 04:36:16 +00:00
2008-12-07 21:55:02 +00:00
$ns -> tablerender(LWLAN_31, $text);
}
2007-03-06 20:17:16 +00:00
if (($action == 'words') || ($action == 'edit'))
{
2008-12-07 21:55:02 +00:00
2007-03-06 20:17:16 +00:00
$text = "<div class='center'>\n";
if(!$sql -> db_Select("linkwords"))
{
2013-02-12 21:06:20 +01:00
//$text .= LWLAN_4;
$mes->addInfo(LWLAN_4);
2007-03-06 20:17:16 +00:00
}
2013-02-03 14:19:24 +01:00
else // TODO FIX table below needs input button to $frm style
2007-03-06 20:17:16 +00:00
{
$text = "
<table class='table adminlist'>
<colgroup>
<col style='width: 5%; vertical-align:top;' />
<col style='width: 15%; vertical-align:top;' />
<col style='width: 20%; vertical-align:top;' />
2013-02-03 14:19:24 +01:00
<col style='width: 10%; vertical-align:top;' />
<col style='width: 25%; vertical-align:top;' />
<col style='width: 5%; vertical-align:top;' />
<col style='width: 10%; vertical-align:top; text-align: center;' />
<col style='width: 15%; vertical-align:top; text-align: center;' />
</colgroup>
<tr>
<td>".LAN_ID."</td>
<td>".LWLAN_5."</td>
<td>".LWLAN_6."</td>
<td>".LWLAN_56."</td>
<td>".LWLAN_50."</td>
<td>".LWLAN_60."</td>
<td>".LWLAN_7."</td>
<td>".LAN_OPTIONS."</td>
2007-03-06 20:17:16 +00:00
</tr>\n";
while($row = $sql->db_Fetch())
2007-03-06 20:17:16 +00:00
{
$text .= "
<tr>
2013-02-03 14:19:24 +01:00
<td>{$row['linkword_id']}</td>
<td>{$row['linkword_word']}</td>
<td>{$row['linkword_link']}</td>
<td>".($row['linkword_newwindow'] ? LAN_YES : LAN_NO)."</td>
<td>{$row['linkword_tooltip']}</td>
<td>".($row['linkword_tip_id'] > 0 ? $row['linkword_tip_id'] : '')."</td>
<td>".$lwaction_vals[$row['linkword_active']]."</td>
<td>
<form action='".e_SELF."' method='post' id='myform_{$row['linkword_id']}' onsubmit=\"return jsconfirm('".LWLAN_18." [ID: {$row['linkword_id']} ]')\">
<div>
<input class='btn button' type='button' onclick=\"document.location='".e_SELF."?edit.{$row['linkword_id']}'\" value='".LAN_EDIT."' id='edit_{$row['linkword_id']}' name='edit_linkword_id' />
<input class='btn button' type='submit' value='".LAN_DELETE."' id='delete_{$row['linkword_id']}' name='delete_{$row['linkword_id']}' />
</div>
</form>\n
</td>
2007-03-06 20:17:16 +00:00
</tr>
2008-12-07 21:55:02 +00:00
";
2007-03-06 20:17:16 +00:00
}
$text .= "</table>";
}
$ns->tablerender(LWLAN_11, $mes->render() . $text);
2007-03-06 20:17:16 +00:00
}
if ($action=='options')
{
$menu_pages = substr($pref['lw_page_visibility'],2); // Knock off the 'show/hide' flag
$menu_pages = str_replace("|", "\n", $menu_pages);
2008-12-07 21:55:02 +00:00
$AjaxEnable = varset($pref['lw_ajax_enable'],0);
$text = "
2012-11-26 15:43:42 -08:00
<div>
<form method='post' action='".e_SELF."?options'>
2012-11-26 15:43:42 -08:00
<table class='table adminform'>
<colgroup>
<col style='width: 30%; />
<col style='width: 70%; />
</colgroup>
<tr>
2012-11-26 15:43:42 -08:00
<td>".LWLAN_26."</td>
<td>";
foreach ($lw_context_areas as $lw_key=>$lw_desc)
{
$checked = $pref['lw_context_visibility'][$lw_key] ? "checked='checked'" : '';
2013-02-03 14:19:24 +01:00
$text .= "<input type='checkbox' name='lw_visibility_area[]' value='{$lw_key}' {$checked} /> {$lw_desc}<br />";
}
2013-02-03 14:19:24 +01:00
$text .= "<span class='field-help'>".LWLAN_27."</span></td>
</tr>
<tr>
2012-11-26 15:43:42 -08:00
<td>".LWLAN_28."</td>
<td><textarea rows='5' cols='60' class='tbox' name='linkword_omit_pages' >".$menu_pages."</textarea><span class='field-help'>".LWLAN_29."</span>
</td>
2008-12-07 21:55:02 +00:00
</tr>";
$checked = varset($pref['lw_ajax_enable'],0) ? 'checked=checked' : '';
$text .= "
<tr>
<td>".LWLAN_59."</td>
<td><input type='checkbox' name='lw_ajax_enable' {$checked} /></td>
</tr>";
$checked = varset($pref['lw_notsamepage'],0) ? 'checked=checked' : '';
$text .= "
<tr>
<td>".LWLAN_64."</td>
<td><input type='checkbox' name='lw_notsamepage' {$checked} /><span class='field-help'>".LWLAN_65."</span></td>
</tr>
</table>
2012-11-26 15:43:42 -08:00
<div class='buttons-bar center'>
2013-02-03 14:19:24 +01:00
".$frm->admin_button('saveopts_linkword','no-value','submit', LAN_UPDATE)."
2012-11-26 15:43:42 -08:00
</div>
</form>
</div>\n";
$ns -> tablerender(LAN_OPTIONS, $text);
}
2013-02-03 14:19:24 +01:00
function admin_config_adminmenu() // TODO FIX v2 style
{
if (e_QUERY)
{
$tmp = explode(".", e_QUERY);
$action = $tmp[0];
}
if (!isset($action) || ($action == ""))
{
$action = "words";
}
$var['words']['text'] = LWLAN_24;
$var['words']['link'] = "admin_config.php";
$var['options']['text'] = LAN_OPTIONS;
$var['options']['link'] ="admin_config.php?options";
show_admin_menu(LWLAN_23, $action, $var);
}
2006-12-02 04:36:16 +00:00
require_once(e_ADMIN."footer.php");
?>