2001-10-14 15:46:53 +00:00
< ? php
2002-07-14 14:51:03 +00:00
if ( ! empty ( $setmodules ) )
2001-10-14 15:46:53 +00:00
{
2002-07-14 14:51:03 +00:00
if ( ! $acl -> get_acl_admin ( 'styles' ) )
{
return ;
}
$filename = basename ( __FILE__ );
$module [ 'Styles' ][ 'Edit_Styles' ] = $filename . " $SID &mode=newstyle " ;
$module [ 'Styles' ][ 'Edit_Templates' ] = $filename . " $SID &mode=edittemplate " ;
$module [ 'Styles' ][ 'Edit_Themes' ] = $filename . " $SID &mode=newstyle " ;
$module [ 'Styles' ][ 'Edit_Imagesets' ] = $filename . " $SID &mode=editimageset " ;
2001-10-14 15:46:53 +00:00
return ;
}
2002-07-14 14:51:03 +00:00
define ( 'IN_PHPBB' , 1 );
2001-10-14 15:46:53 +00:00
//
2002-07-14 14:51:03 +00:00
// Include files
2001-10-14 15:46:53 +00:00
//
2002-07-14 14:51:03 +00:00
$phpbb_root_path = '../' ;
require ( $phpbb_root_path . 'extension.inc' );
require ( 'pagestart.' . $phpEx );
2001-10-25 08:53:18 +00:00
//
2002-07-14 14:51:03 +00:00
// Do we have styles admin permissions?
2001-10-25 08:53:18 +00:00
//
2002-07-14 14:51:03 +00:00
if ( ! $acl -> get_acl_admin ( 'styles' ) )
2001-10-25 08:53:18 +00:00
{
2002-07-14 14:51:03 +00:00
message_die ( MESSAGE , $lang [ 'No_admin' ]);
2001-10-25 08:53:18 +00:00
}
2002-07-14 14:51:03 +00:00
/*
$dp = opendir ( $phpbb_root_path . 'templates/cache/' );
while ( $file = readdir ( $dp ) )
2001-10-25 08:53:18 +00:00
{
2002-07-14 14:51:03 +00:00
if ( ! is_file ( $phpbb_root_path . 'templates/cache/' . $file ) && ! is_link ( $phpbb_root_path . 'templates/cache/' . $file ) && $file != '.' && $file != '..' )
{
$selected = ( $tplroot == $file ) ? ' selected="selected"' : '' ;
$tplroot_options .= '<option name="' . $file . '"' . $selected . '>' . $file . '</option>' ;
}
2001-10-25 08:53:18 +00:00
}
2002-07-14 14:51:03 +00:00
closedir ( $dp );
*/
2001-10-25 08:53:18 +00:00
2002-07-14 14:51:03 +00:00
//
//
//
$mode = ( isset ( $HTTP_GET_VARS [ 'mode' ]) ) ? $HTTP_GET_VARS [ 'mode' ] : $HTTP_POST_VARS [ 'mode' ];
2001-10-14 15:46:53 +00:00
2002-07-14 14:51:03 +00:00
if ( $mode == 'editimageset' )
2001-10-25 08:53:18 +00:00
{
2002-07-14 14:51:03 +00:00
$imgroot = ( isset ( $HTTP_POST_VARS [ 'imgroot' ]) ) ? $HTTP_POST_VARS [ 'imgroot' ] : 'subSilver' ;
if ( isset ( $HTTP_POST_VARS [ 'img_root' ]) )
{
$sql = " SELECT *
FROM " . STYLES_IMAGE_TABLE . "
WHERE imageset_path LIKE '" . $HTTP_POST_VARS[' imgroot '] . "' " ;
$result = $db -> sql_query ( $sql );
$images = $db -> sql_fetchrow ( $result );
}
if ( isset ( $HTTP_POST_VARS [ 'img_addconfig' ]) )
{
}
else if ( isset ( $HTTP_POST_VARS [ 'img_addlocal' ]) )
{
}
$imageset = array ( 'imageset_path' , 'post_new' , 'post_locked' , 'post_pm' , 'reply_new' , 'reply_pm' , 'reply_locked' , 'icon_profile' , 'icon_pm' , 'icon_delete' , 'icon_ip' , 'icon_quote' , 'icon_search' , 'icon_edit' , 'icon_email' , 'icon_www' , 'icon_icq' , 'icon_aim' , 'icon_yim' , 'icon_msnm' , 'icon_no_email' , 'icon_no_www' , 'icon_no_icq' , 'icon_no_aim' , 'icon_no_yim' , 'icon_no_msnm' , 'goto_post' , 'goto_post_new' , 'goto_post_latest' , 'goto_post_newest' , 'forum' , 'forum_new' , 'forum_locked' , 'folder' , 'folder_new' , 'folder_hot' , 'folder_hot_new' , 'folder_locked' , 'folder_locked_new' , 'folder_sticky' , 'folder_sticky_new' , 'folder_announce' , 'folder_announce_new' , 'topic_watch' , 'topic_unwatch' , 'poll_left' , 'poll_center' , 'poll_right' , 'rating' );
$sql = " SELECT imageset_name, imageset_path
FROM " . STYLES_IMAGE_TABLE . "
ORDER BY imageset_name " ;
$result = $db -> sql_query ( $sql );
$imgroot_options = '' ;
while ( $row = $db -> sql_fetchrow ( $result ) )
{
$selected = ( $imgroot == $row [ 'imageset_path' ] ) ? ' selected="selected"' : '' ;
$imgroot_options .= '<option name="' . $row [ 'imageset_path' ] . '"' . $selected . '>' . $row [ 'imageset_path' ] . '</option>' ;
}
$imgname_options = '' ;
$dp = opendir ( $phpbb_root_path . 'imagesets/' . $imgroot . '/' );
while ( $file = readdir ( $dp ) )
{
if ( preg_match ( '#\.(gif|png|jpg|jpeg)$#' , $file ) && is_file ( $phpbb_root_path . 'imagesets/' . $imgroot . '/' . $file ) )
2001-11-07 11:10:56 +00:00
{
2002-07-14 14:51:03 +00:00
$selected = ( $imgname == $file ) ? ' selected="selected"' : '' ;
$imgname_options .= '<option value="' . $file . '"' . $selected . '>' . $file . '</option>' ;
2001-11-07 11:10:56 +00:00
}
2002-07-14 14:51:03 +00:00
}
closedir ( $dp );
2001-11-07 11:10:56 +00:00
2002-07-14 14:51:03 +00:00
//
// Output page
//
page_header ( $lang [ 'Styles' ]);
2001-10-25 08:53:18 +00:00
2002-07-14 14:51:03 +00:00
echo '<form method="post" action="admin_styles.' . $phpEx . '?mode=editimageset">' ;
2001-11-24 01:51:36 +00:00
2002-07-14 14:51:03 +00:00
echo '<h2>Edit Imageset</h2>' ;
2001-10-25 08:53:18 +00:00
2002-07-14 14:51:03 +00:00
echo '<p>Template set: <select name="imgroot">' . $imgroot_options . '</select> <input class="liteoption" type="submit" name="img_root" value="Select" /></p>' ;
2001-10-25 08:53:18 +00:00
2002-07-14 14:51:03 +00:00
echo '<p>Use this panel to edit or remove imagesets from the database.</p>' ;
echo '<table cellspacing="1" cellpadding="2" border="0" align="center" bgcolor="#98AAB1">' ;
echo '<tr>' ;
echo '<td class="cat" colspan="6" height="28" align="center"><span class="gen">Available images: <select name="imageset">' . $imgname_options . '</select></span></td>' ;
echo '</tr>' ;
echo '<tr>' ;
echo '<th height="25">Image</th><th>Source</th><th>Width</th><th>Height</th><th>Border</th><th> </th>' ;
echo '</tr>' ;
for ( $i = 0 ; $i < count ( $imageset ); $i ++ )
{
$class = ( ! ( $i % 2 ) ) ? 'row1' : 'row2' ;
echo '<tr>' ;
echo '<td class="' . $class . '" height="25"><span class="gen">' . ucfirst ( str_replace ( '_' , ' ' , $imageset [ $i ])) . '</span></td>' ;
echo '<td class="' . $class . '"><input class="text" type="text" name="src[' . $imageset [ $i ] . ']" value="' . ( ( ! empty ( $images [ $imageset [ $i ]]) ) ? $images [ $imageset [ $i ]] : '' ) . '" size="20" maxsize="30" /></td>' ;
echo '<td class="' . $class . '"><input class="text" type="text" name="width[' . $imageset [ $i ] . ']" size="3" maxsize="3" /></td>' ;
echo '<td class="' . $class . '"><input class="text" type="text" name="height[' . $imageset [ $i ] . ']" size="3" maxsize="3" /></td>' ;
echo '<td class="' . $class . '"><input class="text" type="text" name="border[' . $imageset [ $i ] . ']" size="2" maxsize="2" /></td>' ;
echo '<td class="' . $class . '"><input class="liteoption" type="submit" value="Update" onclick="this.form.' . $imageset [ $i ] . '.value=this.form.imageset.options[this.form.imageset.selectedIndex].value;return false" /> <input class="liteoption" type="submit" value="Clear" onclick="this.form.' . $imageset [ $i ] . '.value=\'\';return false" /> </td>' ;
echo '</tr>' ;
}
echo '<td class="cat" colspan="6" height="28" align="center"><input class="liteoption" type="submit" name="img_update" value="Update set" /> <input class="liteoption" type="submit" name="img_delete" value="Delete set" /> <input class="liteoption" type="reset" value="Undo" /></td>' ;
echo '</tr>' ;
echo '</table>' ;
echo '</form>' ;
}
else if ( $mode == 'edittemplate' )
{
$tplcols = ( isset ( $HTTP_POST_VARS [ 'tplcols' ]) ) ? max ( 60 , intval ( $HTTP_POST_VARS [ 'tplcols' ])) : 76 ;
$tplrows = ( isset ( $HTTP_POST_VARS [ 'tplrows' ]) ) ? max ( 4 , intval ( $HTTP_POST_VARS [ 'tplrows' ])) : 30 ;
$tplname = ( isset ( $HTTP_POST_VARS [ 'tplname' ]) ) ? $HTTP_POST_VARS [ 'tplname' ] : '' ;
$tplroot = ( isset ( $HTTP_POST_VARS [ 'tplroot' ]) ) ? $HTTP_POST_VARS [ 'tplroot' ] : 'subSilver' ;
$str = '' ;
if ( isset ( $HTTP_POST_VARS [ 'tpl_compile' ]) && ! empty ( $HTTP_POST_VARS [ 'decompile' ]) )
{
$str = " <?php \n " . $template -> compile ( stripslashes ( $HTTP_POST_VARS [ 'decompile' ])) . " \n ? " . " > " ;
$fp = fopen ( $phpbb_root_path . 'templates/cache/' . $tplroot . '/' . $tplname . '.html.' . $phpEx , 'w+' );
fwrite ( $fp , $str );
fclose ( $fp );
@ chmod ( $phpbb_root_path . 'templates/cache/' . $tplroot . '/' . $tplname . '.html.' . $phpEx , 0644 );
add_admin_log ( 'log_template_edit' , $tplname , $tplroot );
exit ;
}
else if ( ! empty ( $tplname ) && isset ( $HTTP_POST_VARS [ 'tpl_name' ]) )
{
$fp = fopen ( $phpbb_root_path . 'templates/cache/' . $tplroot . '/' . $tplname . '.html.' . $phpEx , 'r' );
while ( ! feof ( $fp ) )
2001-10-25 08:53:18 +00:00
{
2002-07-14 14:51:03 +00:00
$str .= fread ( $fp , 4096 );
2001-10-25 08:53:18 +00:00
}
2002-07-14 14:51:03 +00:00
@ fclose ( $fp );
$template -> decompile ( $str );
}
else
{
$str = ( ! empty ( $HTTP_POST_VARS [ 'decompile' ]) ) ? stripslashes ( $HTTP_POST_VARS [ 'decompile' ]) : '' ;
}
if ( isset ( $HTTP_POST_VARS [ 'tpl_download' ]) )
{
header ( " Content-Type: text/html; name= \" " . $tplname . " .html \" " );
header ( " Content-disposition: attachment; filename= " . $tplname . " .html " );
echo $str ;
exit ;
}
$tplroot_options = get_templates ( $tplroot );
$tplname_options = '' ;
$dp = opendir ( $phpbb_root_path . 'templates/cache/' . $tplroot . '/' );
while ( $file = readdir ( $dp ) )
{
if ( strstr ( $file , '.html.' . $phpEx ) && is_file ( $phpbb_root_path . 'templates/cache/' . $tplroot . '/' . $file ) )
2001-10-25 08:53:18 +00:00
{
2002-07-14 14:51:03 +00:00
$tpl = substr ( $file , 0 , strpos ( $file , '.' ));
$selected = ( $tplname == $tpl ) ? ' selected="selected"' : '' ;
$tplname_options .= '<option name="' . $tpl . '"' . $selected . '>' . $tpl . '</option>' ;
2001-10-25 08:53:18 +00:00
}
2002-07-14 14:51:03 +00:00
}
closedir ( $dp );
//
//
//
page_header ( $lang [ 'Styles' ]);
echo '<form method="post" action="admin_styles.' . $phpEx . '?mode=edittemplate">' ;
echo '<h2>Edit Template</h2>' ;
echo '<p>Use this panel to edit an existing compiled template set. When you have made the required changes you can recompile the template and (or) download it. Please remember that the existing HTML templates are <b>not</b> altered, only the compiled versions are affected. Therefore you should download any altered files if you wish to keep them for future use and for archival purposes.</p>' ;
echo '<p>Template set: <select name="tplroot">' . $tplroot_options . '</select> <input class="liteoption" type="submit" name="tpl_root" value="Select" /></p>' ;
echo '<table cellspacing="1" cellpadding="0" border="0" align="center" bgcolor="#98AAB1">' ;
echo '<tr>' ;
echo '<td class="cat"><table width="100%" cellspacing="0" cellpadding="0" border="0">' ;
echo '<tr>' ;
echo '<td> Template: <select name="tplname">' . $tplname_options . '</select> <input class="liteoption" type="submit" name="tpl_name" value="Select" /></td>' ;
echo '<td align="right">Columns: <input type="text" name="tplcols" size="3" maxlength="3" value="' . $tplcols . '" /> Rows: <input type="text" name="tplrows" size="3" maxlength="3" value="' . $tplrows . '" /> <input class="liteoption" type="submit" name="tpl_layout" value="Update" /> </td>' ;
echo '</tr>' ;
echo '</table></td>' ;
echo '</tr>' ;
echo '<tr>' ;
echo '<td colspan="2" align="center"><textarea style="background-color:#DEE3E7;font-size:9pt;font-family:Courier;line-height:125%" cols="' . $tplcols . '" rows="' . $tplrows . '" name="decompile">' . htmlentities ( $str ) . '</textarea></td>' ;
echo '</tr>' ;
echo '<tr>' ;
echo '<td class="cat" colspan="2" height="28" align="center"><input class="liteoption" type="submit" name="tpl_compile" value="Recompile" /> <input class="liteoption" type="submit" name="tpl_download" value="Download" /> <input class="liteoption" type="reset" value="Undo" /></td>' ;
echo '</tr>' ;
echo '</table>' ;
echo '</form>' ;
page_footer ();
2001-10-25 08:53:18 +00:00
}
2002-07-14 14:51:03 +00:00
//
//
//
function get_templates ( $tplroot = '' )
2001-10-25 08:53:18 +00:00
{
2002-07-14 14:51:03 +00:00
global $db ;
$sql = " SELECT template_name, template_path
FROM " . STYLES_TPL_TABLE . "
ORDER BY template_name " ;
$result = $db -> sql_query ( $sql );
$tplroot_options = '' ;
while ( $row = $db -> sql_fetchrow ( $result ) )
{
$selected = ( $tplroot == $row [ 'template_path' ] ) ? ' selected="selected"' : '' ;
$tplroot_options .= '<option name="' . $row [ 'template_path' ] . '"' . $selected . '>' . $row [ 'template_path' ] . '</option>' ;
}
return $tplroot_options ;
2001-10-25 08:53:18 +00:00
}
2001-10-14 15:46:53 +00:00
2002-07-14 14:51:03 +00:00
?>