Dit is de meegeleverde admin_q_links.php
Code: Selecteer alles
define('IN_PHPBB', TRUE);
define('MOD_VERSION', '1.20');
$phpbb_root_path = '../';
if( !empty($setmodules) )
{
$filename = basename(__FILE__);
$module['Applications']['Q_links'] = $filename;
return;
}
include($phpbb_root_path . 'extension.inc');
(file_exists('pagestart.' . $phpEx)) ? include('pagestart.' . $phpEx) : include('pagestart.inc');
/****************************************************************************
/** Constants and Main Vars.
/***************************************************************************/
$page_title = 'Quicklinks';
$required_fields = array('name', 'url', 'image');
$dbase_fields = array('name', 'url', 'image', 'description', 'seperator');
$status_message = '';
$update_sql = '';
$insert_sql = '';
$insert_val_sql = '';
$params = array('mode' => '', 'id' => 'id');
foreach($params as $var => $default)
{
$$var = $default;
if( isset($HTTP_POST_VARS[$var]) || isset($HTTP_GET_VARS[$var]) )
{
$$var = ( isset($HTTP_POST_VARS[$var]) ) ? $HTTP_POST_VARS[$var] : $HTTP_GET_VARS[$var];
}
}
if (count($HTTP_POST_VARS))
{
foreach($HTTP_POST_VARS as $key => $valx)
{
if (substr_count($key, 'delete_id_'))
{
$id = substr($key, 10);
$sql = "SELECT name FROM " . Q_LINKS . "
WHERE id = $id";
if(!$result = $db->sql_query($sql))
{
message_die(GENERAL_ERROR, 'Error by query q_links', '', __LINE__, __FILE__, $sql);
}
$row = $db->sql_fetchrow($result);
$sql = "DELETE FROM " . Q_LINKS . "
WHERE id = $id";
if(!$db->sql_query($sql))
{
message_die(GENERAL_ERROR, 'Error by query q_links', '', __LINE__, __FILE__, $sql);
}
else
{
$status_message .= sprintf($lang['QL_delete'], $row['name']);
}
}
elseif (substr_count($key, 'update_id_'))
{
$id = substr($key, 10);
foreach ($dbase_fields as $val)
{
/* Check for required items */
if (in_array($val, $required_fields) && $HTTP_POST_VARS[$val] == '')
{
message_die(GENERAL_ERROR, 'Required field missed', '', __LINE__, __FILE__);
}
/* Compile the SQL Lists */
$update_sql .= ($update_sql != '') ? ", $val = '" . addslashes($HTTP_POST_VARS[$val]) . "'" : "$val = '" . addslashes($HTTP_POST_VARS[$val]) . "'";
}
$sql = "UPDATE " . Q_LINKS . "
SET $update_sql
WHERE id = '$id'";
if(!$db->sql_query($sql))
{
message_die(GENERAL_ERROR, 'Error query q_links', '', __LINE__, __FILE__, $sql);
}
else
{
$status_message .= sprintf($lang['QL_update'], $HTTP_POST_VARS['name']);
}
}
elseif (substr_count($key, 'add_id_'))
{
$id = substr($key, 7);
foreach ($dbase_fields as $val)
{
/* Check for required items */
if (in_array($val, $required_fields) && $HTTP_POST_VARS[$val] == '')
{
message_die(GENERAL_ERROR, 'Required field missed', '', __LINE__, __FILE__);
}
/* Compile the SQL Lists */
$insert_sql .= ($insert_sql != '') ? ", $val" : $val;
$insert_val_sql .= ($insert_val_sql != '') ? ", '" . addslashes($HTTP_POST_VARS[$val]) . "'" : "'" . addslashes($HTTP_POST_VARS[$val]) . "'";
}
$sql = "INSERT INTO " . Q_LINKS . "
($insert_sql)
VALUES
($insert_val_sql)";
if(!$db->sql_query($sql))
{
message_die(GENERAL_ERROR, 'Error query q_links', '', __LINE__, __FILE__, $sql);
}
else
{
$status_message .= sprintf($lang['QL_insert'], $HTTP_POST_VARS['name']);
}
}
}
}
switch($mode)
{
case 'edit':
{
$sql = "SELECT * FROM " . Q_LINKS . "
WHERE id = $id";
if(!$result = $db->sql_query($sql))
{
message_die(GENERAL_ERROR, 'Error query q_links', '', __LINE__, __FILE__, $sql);
}
$template->set_filenames(array('body' => 'admin/admin_q_links_add.tpl'));
while ( $row = $db->sql_fetchrow($result) )
{
$template->assign_vars(array(
'QL_ID' => $row['id'],
'S_HIDDEN' => 'update_id_' . $row['id'],
'QL_NAME' => $row['name'],
'QL_URL' => $row['url'],
'QL_DESC' => $row['description'],
'QL_SEPERATOR' => ( $row['seperator'] == TRUE ) ? 'checked="checked"' : '',
'QL_IMAGE' => $row['image']));
}
break;
}
case 'add':
{
$template->set_filenames(array('body' => 'admin/admin_q_links_add.tpl'));
$template->assign_vars(array(
'S_HIDDEN' => 'add_id_'));
break;
}
case 'display':
default:
{
$sql = "SELECT * FROM " . Q_LINKS . "
ORDER BY name ASC";
if(!$result = $db->sql_query($sql))
{
message_die(GENERAL_ERROR, 'Error query q_links', '', __LINE__, __FILE__, $sql);
}
while (($linkrow[] = $db->sql_fetchrow($result)));
$totallink = count($linkrow)-1;
$template->set_filenames(array('body' => 'admin/admin_q_links_display.tpl'));
$template->assign_vars(array(
'S_MODE_ACTION' => append_sid(basename(__FILE__))));
for ( $j = 0; $j < $totallink; $j++ )
{
$template->assign_block_vars('catrow.listrow', array(
'ROW_CLASS' => (!(++$r% 2)) ? $theme['td_class1'] : $theme['td_class2'],
'ID' => $linkrow[$j]['id'],
'URL' => $linkrow[$j]['url'],
'NAME' => $linkrow[$j]['name'],
'IMAGE' => $linkrow[$j]['image'],
'DESCRIPTION' => $linkrow[$j]['description'],
'SEPERATOR' => ( $linkrow[$j]['seperator'] == TRUE ) ? 'checked="checked"' : '',
'S_ACTION_EDIT' => '<a href="' . append_sid(basename(__FILE__) . '?mode=edit&id=' . $linkrow[$j]['id']) . '">'.$lang['Edit'].'</a>'));
}
break;
}
}
$template->assign_vars(array(
'L_VERSION' => $lang['QL_version'],
'VERSION' => MOD_VERSION,
'L_PAGE_NAME' => $page_title,
'S_ACTION_ADD' => '<a href="' . append_sid(basename(__FILE__) . '?mode=add') . '">'.$lang['Add_new'].'</a>',
'S_MODE_ACTION' => append_sid(basename(__FILE__)),
'L_EDIT' => $lang['Edit'],
'L_DELETE' => $lang['Delete'],
'L_ADD_NEW_HACK' => $lang['Add_new'],
'L_DESCRIPTION' => $lang['QL_description'],
'L_SUBMIT' => $lang['Submit'],
'L_RESET' => $lang['Reset'],
'L_NAME' => $lang['QL_name'],
'L_TITLE' => $lang['QL_title'],
'L_REQUIRED' => $lang['QL_require'],
'L_DOWNLOAD_URL' => $lang['QL_link'],
'L_DESC' => $lang['QL_desc'],
'L_URL' => $lang['QL_url'],
'L_SEPERATOR' => $lang['QL_seperator'],
'L_YES' => $lang['QL_yes'],
'L_NO' => $lang['QL_no'],
'L_PAGE_DESC' => $page_title));
if ($status_message != '')
{
$template->assign_block_vars('statusrow', array());
$template->assign_vars(array(
'L_STATUS' => $lang['QL_status'],
'I_STATUS_MESSAGE' => $status_message)
);
}
$template->pparse('body');
include('page_footer_admin.'.$phpEx);