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"; return; } define('IN_PHPBB', 1); // // Include files // $phpbb_root_path = '../'; require($phpbb_root_path . 'extension.inc'); require('pagestart.' . $phpEx); // // Do we have styles admin permissions? // if ( !$acl->get_acl_admin('styles') ) { message_die(MESSAGE, $lang['No_admin']); } /* $dp = opendir($phpbb_root_path . 'templates/cache/'); while ( $file = readdir($dp) ) { 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 .= ''; } } closedir($dp); */ // // // $mode = ( isset($HTTP_GET_VARS['mode']) ) ? $HTTP_GET_VARS['mode'] : $HTTP_POST_VARS['mode']; if ( $mode == 'editimageset' ) { $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 .= ''; } $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) ) { $selected = ( $imgname == $file ) ? ' selected="selected"' : ''; $imgname_options .= ''; } } closedir($dp); // // Output page // page_header($lang['Styles']); echo '
'; } 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 = "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) ) { $str .= fread($fp, 4096); } @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) ) { $tpl = substr($file, 0, strpos($file, '.')); $selected = ( $tplname == $tpl ) ? ' selected="selected"' : ''; $tplname_options .= ''; } } closedir($dp); // // // page_header($lang['Styles']); echo ''; page_footer(); } // // // function get_templates($tplroot = '') { 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 .= ''; } return $tplroot_options; } ?>