__('Sidebar'),
'before_widget' => '
',
'after_widget' => '',
'before_title' => '',
'after_title' => '
',
));
}
add_filter('comments_template', 'legacy_comments');
function legacy_comments($file) {
if ( !function_exists('wp_list_comments') )
$file = TEMPLATEPATH . '/legacy.comments.php';
return $file;
}
define(AP_LAYOUT, 'r');
define(AP_LINKCOLOUR, '#454673');
define(AP_HOVERCOLOUR, '#4B5BAD');
define(AP_HEADERIMAGE, 'a_rome_street.jpg');
function buildMenu(){
$mo = ap_getPageMenuOrder();
$exc = get_settings('ap_pagesOmit');
$excString = (!empty($exc)) ? '&exclude=' . $exc : '';
wp_list_pages('title_li=&sort_column='.$mo. '&depth=-1'. $excString);
return NULL;
}
function ap_add_theme_page() {
global $wpdb;
$errorFlag = false;
if ($_GET['page'] == basename(__FILE__)) {
// save settings
if ( 'save' == $_REQUEST['action'] ) {
if (valid_colour($_REQUEST['ap_linkColour'])){
update_option('ap_linkColour', $_REQUEST['ap_linkColour']);
} else {
$errorFlag = true;
}
if (valid_colour($_REQUEST['ap_hoverColour'])){
update_option('ap_hoverColour', $_REQUEST['ap_hoverColour']);
} else {
$errorFlag = true;
}
if (($_REQUEST['ap_pageMenuOrder'] == 'menu') ||
($_REQUEST['ap_pageMenuOrder'] == 'alpha') ||
($_REQUEST['ap_pageMenuOrder'] == 'pageid')
){
update_option('ap_pageMenuOrder', $_REQUEST['ap_pageMenuOrder']);
} else {
$errorFlag = true;
}
if (checkPagesOmit($_REQUEST['ap_pagesOmit'])){
update_option('ap_pagesOmit', trim($_REQUEST['ap_pagesOmit']));
} else {
$errorFlag = true;
}
$ap_includeHome = (isset($_REQUEST['ap_includeHome'])) ? '0': '1';
update_option('ap_includeHome', $ap_includeHome);
$ap_headerRotate = (isset($_REQUEST['ap_headerRotate'])) ? '0': '1';
update_option('ap_headerRotate', $ap_headerRotate);
$ap_dateTimeFormat = (isset($_REQUEST['ap_dateTimeFormat'])) ? '0': '1';
update_option('ap_dateTimeFormat', $ap_dateTimeFormat);
update_option('ap_rssUrl', attribute_escape(trim($_REQUEST['ap_rssUrl'])));
update_option('ap_twitterName', attribute_escape(trim($_REQUEST['ap_twitterName'])));
update_option('ap_headerImage', attribute_escape(trim($_REQUEST['ap_headerImage'])));
$ap_layout = ($_REQUEST['ap_layout'] == 'l') ? 'l':'r';
update_option('ap_layout', $ap_layout);
// goto theme edit page
if($errorFlag){
header("Location: themes.php?page=functions.php&error=true");
die;
} else {
header("Location: themes.php?page=functions.php&saved=true");
die;
}
// reset defaults
} else if('reset' == $_REQUEST['action']) {
delete_option('ap_linkColour');
delete_option('ap_hoverColour');
delete_option('ap_pageMenuOrder');
delete_option('ap_pagesOmit');
delete_option('ap_rssUrl');
delete_option('ap_twitterName');
delete_option('ap_headerImage');
delete_option('ap_headerRotate');
delete_option('ap_dateTimeFormat');
delete_option('ap_layout');
delete_option('ap_includeHome');
header("Location: themes.php?page=functions.php&reset=true");
die;
}
}
add_theme_page(__('Panorama Theme Options','panorama'), __('Panorama Theme Options','panorama'), 'edit_themes', basename(__FILE__), 'ap_theme_page');
}
include(TEMPLATEPATH . '/library/theme_options.php');
include(TEMPLATEPATH . '/library/formFunctions.php');
add_action('admin_menu', 'ap_add_theme_page');
function valid_colour($var){
$regex = '^#([a-f]|[A-F]|[0-9]){6}^';
return preg_match($regex,$var);
}
function ap_linkColour() {
$tc = get_settings('ap_linkColour');
return (empty($tc)) ? AP_LINKCOLOUR : $tc;
}
function ap_hoverColour() {
$hc = get_settings('ap_hoverColour');
return (empty($hc)) ? AP_HOVERCOLOUR: $hc;
}
function ap_getPageMenuOrder() {
switch (get_settings('ap_pageMenuOrder')){
case ('alpha'):
$mo = 'post_title';
break;
case ('pageid'):
$mo = 'ID';
break;
default:
$mo = 'menu_order';
}
return $mo;
}
function checkPagesOmit($str){
if (empty($str)) return true;
$regex = '/^[0-9 ,]+$/';
return preg_match($regex,$str);
}
function ap_rssLink(){
$link = get_settings('ap_rssUrl');
return (!empty($link)) ? $link : get_bloginfo('rss2_url');
}
function ap_twitterLink(){
$name = get_settings('ap_twitterName');
return (!empty($name)) ? sprintf(' %s %s Twitter | ', get_bloginfo('template_directory'), $name, $name, get_bloginfo('name'), __('on','panorama')) : '';
}
function findImageFile(){
$dir = TEMPLATEPATH . '/header_images';
if(function_exists('scandir')) {
$ap_files = deDotifyFiles(scandir($dir));
} else {
$dh = opendir($dir);
while (false !== ($filename = readdir($dh))) {
$ap_files[] = $filename;
}
$ap_files = deDotifyFiles($ap_files);
sort($ap_files);
}
return $ap_files;
}
function deDotifyFiles($files){
while(($n = array_search('.',$files)) > -1)
unset($files[$n]);
while(($n = array_search('..',$files)) > -1)
unset($files[$n]);
return $files;
}
function ap_headerImage(){
$imageFile = (get_settings('ap_headerRotate') == 0) ?
ap_headerImageDynamic():
ap_headerImageStatic();
if (!empty($imageFile) && file_exists(TEMPLATEPATH.'/header_images/'.$imageFile)) {
return sprintf('background: url("%s/header_images/%s") top center no-repeat;',get_bloginfo('template_directory'), $imageFile);
} else {
return 'background: green;';
}
}
function ap_headerImageStatic(){
$imageFile = get_settings('ap_headerImage');
if (empty($imageFile)){
foreach (findImageFile() as $img) {
if ($img != '.' && $img != '..' && file_exists(TEMPLATEPATH.'/header_images/'.$img)){
$imageFile = $img;
break;
}
}
}
return $imageFile;
}
function ap_headerImageDynamic(){
$imgs = findImageFile();
if(!is_array($imgs)) return '';
shuffle($imgs);
return $imgs[0];
}
function ap_buildMenu(){
$mo = ap_getPageMenuOrder();
$exc = get_settings('ap_pagesOmit');
$excString = (!empty($exc)) ? '&exclude=' . $exc : '';
wp_list_pages('title_li=&sort_column='.$mo. '&depth=0'. $excString);
return NULL;
}
function ap_layout(){
$layout = get_settings('ap_layout');
echo (!empty($layout)) ? $layout : 'r';
return NULL;
}
$ap_dateFormat = get_settings('date_format');
$ap_timeFormat = (get_settings('ap_dateTimeFormat') == 0) ? ' ' . get_settings('time_format') : '';
$ap_dateTimeFormat = $ap_dateFormat . $ap_timeFormat;
?>