Laatste
Heb je onlangs een andere modificatie of stijl geïnstalleerd?
Nee
Wat is het probleem?[/list]
Ik ben bezig om een nieuws pagina te maken. Hier moet nog wat dingetjes bij komen zoals bijvoorbeeld een rubrieks afbeeldingen.
Nu heb ik via het acp iets gemaakt waardoor ik de afbeeldingen kan krijgen.
Helaas krijg ik een volle lijst met afbeeldingen die ik niet nodig heb.
Hoe krijg ik het voor elkaar om alleen de afbeeldingen te krijgen die in de map images/rubrieks staan?
ACP_RUBRIEKS.PHP
Code: Selecteer alles
<?php
/**
*
* Static rubrieks MOD acp module file
*
* @version $Id$
* @copyright (c) 2009 Vojtěch Vondra
* @license http://opensource.org/licenses/gpl-license.php GNU Public License
*
*/
/**
* @ignore
*/
if (!defined('IN_PHPBB'))
{
exit;
}
/**
* @package acp
*/
class acp_rubrieks
{
var $u_action;
function main($id, $mode)
{
global $db, $user, $auth, $template, $cache;
global $config, $phpbb_root_path, $phpbb_admin_path, $phpEx;
include($phpbb_root_path . 'includes/acp/info/acp_rubrieks.' . $phpEx);
// MOD language file gets added automatically
$user->add_lang(array('posting'));
// Set up general vars
$action = request_var('action', '');
$action = (isset($_POST['add'])) ? 'add' : $action;
$action = (isset($_POST['save'])) ? 'save' : $action;
$rubriek_id = request_var('id', 0);
// Handle install and update through ACP file.
$module_info = new acp_rubrieks_info();
$module_info_array = $module_info->module();
$mod_version = $module_info_array['version'];
if (!isset($config['static_rubrieks_version']))
{
$module_info->install($this->u_action);
}
else if (version_compare($config['static_rubrieks_version'], $mod_version, '<'))
{
$module_info->update($this->u_action);
}
// Template and rubrieks title
$this->tpl_name = 'acp_rubrieks';
$this->rubriek_title = 'ACP_MANAGE_RUBRIEKS';
$form_name = 'acp_rubrieks';
add_form_key($form_name);
switch ($action)
{
case 'save':
if (!check_form_key($form_name))
{
trigger_error($user->lang['FORM_INVALID']. adm_back_link($this->u_action), E_USER_WARNING);
}
$rubriek_title = utf8_normalize_nfc(request_var('title', '', true));
$rubriek_image = request_var('rubriek_image', '');
// The rubriek image has to be a jpg, gif or png
if ($rubriek_image != '' && !preg_match('#(\.gif|\.png|\.jpg|\.jpeg)$#i', $rubriek_image))
{
$rubriek_image = '';
}
if (!$rubriek_title)
{
trigger_error($user->lang['NO_RUBRIEK_TITLE'] . adm_back_link($this->u_action), E_USER_WARNING);
}
$sql_ary = array(
'rubriek_title' => $rubriek_title,
'rubriek_image' => htmlspecialchars_decode($rubriek_image)
);
if ($rubriek_id)
{
$sql = 'UPDATE ' . RUBRIEKS_TABLE . ' SET ' . $db->sql_build_array('UPDATE', $sql_ary) . " WHERE rubriek_id = $rubriek_id";
$message = $user->lang['RUBRIEK_UPDATED'];
add_log('admin', 'LOG_RUBRIEK_UPDATED', $rubriek_title);
}
else
{
$sql = 'INSERT INTO ' . RUBRIEKS_TABLE . ' ' . $db->sql_build_array('INSERT', $sql_ary);
$message = $user->lang['RUBRIEK_ADDED'];
add_log('admin', 'LOG_RUBRIEK_ADDED', $rubriek_title);
}
$db->sql_query($sql);
$cache->destroy('_rubrieks');
trigger_error($message . adm_back_link($this->u_action));
break;
case 'delete':
if (!$rubriek_id)
{
trigger_error($user->lang['MUST_SELECT_RUBRIEK'] . adm_back_link($this->u_action), E_USER_WARNING);
}
if (confirm_box(true))
{
$sql = 'SELECT rubriek_title
FROM ' . RUBRIEKS_TABLE . '
WHERE rubriek_id = ' . $rubriek_id;
$result = $db->sql_query($sql);
$rubriek_title = (string) $db->sql_fetchfield('rubriek_title');
$db->sql_freeresult($result);
$sql = 'DELETE FROM ' . RUBRIEKS_TABLE . "
WHERE rubriek_id = $rubriek_id";
$db->sql_query($sql);
$sql = 'UPDATE ' . USERS_TABLE . "
SET user_rubriek = 0
WHERE user_rubriek = $rubriek_id";
$db->sql_query($sql);
$cache->destroy('_rubrieks');
add_log('admin', 'LOG_rubriek_REMOVED', $rubriek_title);
}
else
{
confirm_box(false, $user->lang['CONFIRM_OPERATION'], build_hidden_fields(array(
'i' => $id,
'mode' => $mode,
'rubriek_id' => $rubriek_id,
'action' => 'delete',
)));
}
break;
case 'edit':
case 'add':
$data = $rubrieks = $existing_imgs = array();
$sql = 'SELECT *
FROM ' . RUBRIEKS_TABLE . '
ORDER BY rubriek_title ASC, rubriek_id ASC';
$result = $db->sql_query($sql);
while ($row = $db->sql_fetchrow($result))
{
$existing_imgs[] = $row['rubriek_image'];
if ($action == 'edit' && $rubriek_id == $row['rubriek_id'])
{
$rubrieks = $row;
}
}
$db->sql_freeresult($result);
$imglist = filelist($phpbb_root_path . $config['rubrieks_path'], '');
$edit_img = $filename_list = '';
foreach ($imglist as $path => $img_ary)
{
sort($img_ary);
foreach ($img_ary as $img)
{
$img = $path . $img;
if ($rubrieks && $img == $rubrieks['rubriek_image'])
{
$selected = ' selected="selected"';
$edit_img = $img;
}
else
{
$selected = '';
}
if (strlen($img) > 255)
{
continue;
}
$filename_list .= '<option value="' . htmlspecialchars($img) . '"' . $selected . '>' . $img . ((in_array($img, $existing_imgs)) ? ' ' . $user->lang['RUBRIEK_IMAGE_IN_USE'] : '') . '</option>';
}
}
$filename_list = '<option value=""' . (($edit_img == '') ? ' selected="selected"' : '') . '>----------</option>' . $filename_list;
unset($existing_imgs, $imglist);
$template->assign_vars(array(
'S_EDIT' => true,
'U_BACK' => $this->u_action,
'RUBRIEKS_PATH' => $phpbb_root_path . $config['rubrieks_path'],
'U_ACTION' => $this->u_action . '&id=' . $rubriek_id,
'RUBRIEK_TITLE' => (isset($rubrieks['rubriek_title'])) ? $rubrieks['rubriek_title'] : '',
'S_FILENAME_LIST' => $filename_list,
'RUBRIEK_IMAGE' => ($edit_img) ? $phpbb_root_path . $config['rubrieks_path'] . '/' . $edit_img : $phpbb_admin_path . 'images/spacer.gif',)
);
return;
break;
}
$template->assign_vars(array(
'U_ACTION' => $this->u_action)
);
$sql = 'SELECT *
FROM ' . RUBRIEKS_TABLE . '
ORDER BY rubriek_title DESC, rubriek_id ASC, rubriek_title ASC';
$result = $db->sql_query($sql);
while ($row = $db->sql_fetchrow($result))
{
$template->assign_block_vars('rubrieks', array(
'S_RUBRIEK_IMAGE' => ($row['rubriek_image']) ? true : false,
'RUBRIEK_IMAGE' => $phpbb_root_path . $config['rubrieks_path'] . '/' . $row['rubriek_image'],
'RUBRIEK_TITLE' => $row['rubriek_title'],
'U_EDIT' => $this->u_action . '&action=edit&id=' . $row['rubriek_id'],
'U_DELETE' => $this->u_action . '&action=delete&id=' . $row['rubriek_id'])
);
}
$db->sql_freeresult($result);
}
}
?>
