__('Left Sidebar','alibi'),
'before_widget' => '
',
'after_widget' => ' ',
'before_title' => '',
'after_title' => ' ',
));
register_sidebar(array(
'name' => __('Right Sidebar','alibi'),
'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 (TEMPLATEURL, get_bloginfo('template_directory'));
define(ALI_LINKCOLOUR, '#3C439F');
define(ALI_HOVERCOLOUR, '#731113');
add_action('admin_print_scripts', 'mer_adminScripts');
function mer_adminScripts(){
wp_enqueue_script('jscolor', TEMPLATEURL . '/scripts/jscolor/jscolor.js', 'jquery');
$jsPath = TEMPLATEURL . '/scripts/jscolor/';
wp_localize_script('jscolor', 'metaSettings', array('templateUrl' => $jsPath));
}
function buildMenu(){
global $wpdb;
$mo = ap_getPageMenuOrder();
$menu = ''. __('Home','alibi').' ';
$pages = $wpdb->get_results("SELECT ID, post_title as title, guid FROM $wpdb->posts WHERE post_type='page' AND post_status='publish' AND post_parent='0' ORDER BY $mo");
$exc = get_option('ap_pagesOmit');
$excludeArray = explode(',',$exc);
foreach ($pages as $page){
if (!in_array($page->ID, $excludeArray)){
$url = get_page_link($page->ID);
$menu .= sprintf('%s ', $url, $page->title, $page->title);
}
}
return $menu;
}
function ap_add_theme_page() {
global $wpdb;
$errorFlag = false;
if ($_GET['page'] == basename(__FILE__)) {
// save settings
if ( 'save' == $_REQUEST['action'] ) {
if (valid_colour($_REQUEST['ali_linkColour'])){
update_option('ali_linkColour', $_REQUEST['ali_linkColour']);
} else {
$errorFlag = true;
}
if (valid_colour($_REQUEST['ali_hoverColour'])){
update_option('ali_hoverColour', $_REQUEST['ali_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;
}
// 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('ali_linkColour');
delete_option('ali_hoverColour');
delete_option('ap_pageMenuOrder');
delete_option('ap_pagesOmit');
header("Location: themes.php?page=functions.php&reset=true");
die;
}
}
add_theme_page(__('Alibi3col Theme Options','alibi'), __('Alibi3col Options','alibi'), 'edit_themes', basename(__FILE__), 'ap_theme_page');
}
function ap_theme_page() {
global $wpdb;
?>
'.__('Settings saved.','alibi').'
';
if ($_REQUEST['reset'] ) echo ''.__('Settings reset.','alibi').'
';
if ($_REQUEST['error'] ) echo ''.__('Error - invalid data','alibi').'
';
?>
Themocracy - the options are short and sweet...','alibi'); ?>
', $var, $var, $type, $value, $onchange);
break;
case "submit":
printf('
', $var, $type, $value);
break;
case "option":
if($selected == $value) $extra = 'selected ';
printf('%s ', $value, $extra, $description);
break;
case "radio":
if($selected == $value) $extra = 'checked ';
printf(' %s ', $var, $var, $type, $value, $extra, $description);
break;
case "checkbox":
if($selected == $value) $extra = 'checked ';
printf(' %s ', $var, $var, $type, $value, $extra, $description);
break;
case "textarea":
printf('',$var, $var, $value );
break;
}
}
function ap_th( $title ) {
echo '
';
echo ''.$title.' ';
echo '';
}
function ap_cth() {
echo ' ';
echo ' ';
}
function valid_colour($var){
$regex = '^#([a-f]|[A-F]|[0-9]){6}^';
return preg_match($regex,$var);
}
function ali_linkColour() {
$tc = get_option('ali_linkColour');
return (empty($tc)) ? ALI_LINKCOLOUR : $tc;
}
function ali_hoverColour() {
$tc = get_option('ali_hoverColour');
return (empty($tc)) ? ALI_HOVERCOLOUR : $tc;
}
function ap_getPageMenuOrder() {
switch (get_settings('ap_pageMenuOrder')){
case ('alpha'):
$mo = 'post_title ASC';
break;
case ('pageid'):
$mo = 'ID DESC';
break;
default:
$mo = 'menu_order';
}
return $mo;
}
function checkPagesOmit($str){
if (empty($str)) return true;
$regex = '/^[0-9 ,]+$/';
return preg_match($regex,$str);
}
?>