This is a control module and may not be deactivated or activated. Author: Aaron Harun Version: 1.0 Author URI: http://anthologyoi.com/ */ $AWP_admin = new AWP_admin(); if(!$_REQUEST['custom_options_menu']) add_action('awp_build_menu',array($AWP_admin,'admin_panel')); add_action('awp_admin_overall', 'admin_panel_overall'); add_action('admin_print_footer_scripts', array(&$AWP_admin,'admin_footer_js')); class AWP_admin{ function process_admin(){ global $awpall,$awp_mods; if ($_POST["action"] == "saveconfiguration") { if($_POST["awp_test"] == 1){ AWP::update_options($_REQUEST['awp']); $awpall[last_modified] = gmdate('Y-m-d_H:i:59'); update_option('awp_test',$awpall); $action = '&act=test'; }elseif($_POST["awp_test"] == 2){ update_option('awp_test',''); $awpall[last_modified] = gmdate('Y-m-d_H:i:59'); $action = '&act=testdelete'; $awpall = get_option('awp'); }else{ AWP::update_options($_REQUEST['awp']); $awpall[last_modified] = gmdate('Y-m-d_H:i:59'); update_option('awp',$awpall); update_option('awp_test',''); $action = '&act=updated'; } }elseif($_POST["action"] == "restoredefaults"){ $awp_mods =''; $awpall = ''; AWP::set_defaults(); $action = '&act=defaults'; }elseif($_POST["action"] == "restoreupdate" && $_POST['resop']){ $options = trim($_POST['resop']); if( get_magic_quotes_gpc() ) { $options = trim(stripslashes($options)); } $options = preg_replace('!s:(\d+):"(.*?)";!e', "'s:'.strlen('$2').':\"$2\";'", $options ); $options = unserialize($options); $awpall = ''; if(is_array($options)){ AWP::update_options($options); update_option('awp_test',$awpall); $action = '&act=restore'; } }elseif ('activate' == $_GET['action'] && $_GET['module']) { include_once(ABSPATH . '/wp-admin/admin-functions.php'); check_admin_referer('activate-module_' . $_GET['module']); $module = trim($_GET['module']); if ( validate_file($module) ) wp_die(__('Invalid module.','awp')); if ( ! file_exists(ABSPATH . PLUGINDIR . AWP_MODULES .'/' . $module) ) wp_die(__('Plugin file does not exist.')); if (!in_array($module, $awp_mods)) { wp_redirect('themes.php?page='.AWP_BASE.'/control/aWP-admin_panel.php&act=failed'); ob_start(); @include(ABSPATH . PLUGINDIR . AWP_MODULES .'/' . $module); $awp_mods[] = $module; sort($awp_mods); update_option('awp_mods', $awp_mods); do_action('activate_' . ltrim(AWP_MODULES .'/' . $_GET['module'], '/')); ob_end_clean(); $action ='&act=activated'; } } else if ('deactivate' == $_GET['action'] && $_GET['module']) { check_admin_referer('deactivate-module_' . $_GET['module']); array_splice($awp_mods, array_search( $_GET['module'], $awp_mods), 1 ); // Array-fu! update_option('awp_mods', $awp_mods); do_action('deactivate_' . ltrim(AWP_MODULES .'/' . $_GET['module'], '/')); $action = '&act=deactivate'; } else if ('remove_messages' == $_POST['action']) { $messages = get_option('awp_messages'); $count = count($messages); while($x == false && count($messages) > 0 && $i < $count){ if($_POST['time'] == array_shift($messages)){ $x = true; } $i++; } update_option('awp_messages',$messages); $action = '&act=remove_messages'; } if($_POST['last_screen']) $action .= '&last_screen='.$_POST['last_screen']; do_action('awp_admin_update'); wp_redirect('themes.php?page='.AWP_BASE.'/control/aWP-admin_panel.php'.$action); } function admin_panel($menu){ global $aWP, $awpall; require_once(ABSPATH . PLUGINDIR . '/'. AWP_BASE . '/xmlparser.php'); $marray = AWP::XML($menu); if(is_array($marray[menus])){ $this->admin_panel_menu($marray[menus][menu]); }elseif(is_array($marray[menu])){ $this->admin_panel_menu($marray[menu]); }elseif(is_array($marray[submenu])){ $this->admin_panel_sub($marray[submenu]); }elseif(is_array($marray[item])){ $this->admin_panel_item($marray[item]); } } function admin_panel_menu($menu){ global $aWP, $awpall; foreach($menu as $m){ $id = $m[id]; if($id){ ?>

'; if($m[title]){echo '

'.$m[title].'

';} echo '
'; echo $m[desc]; } if($m[submenu]){ $class = ($awpall[$id])? 'class="'.$awpall[$id].'"' : '' ; $e_id = ($id)? ' id="'.$id.'"' : '' ; echo '
'; $this->admin_panel_sub($m[submenu]); if($m[action]) do_action($m[action]); echo '
'; } ?>
['.__('More Information','awp').']'; echo '

'.$menu[info].'

'; $info++; } if(is_array($menu[item])){ echo ''; } } } function admin_panel_item($items){ global $aWP, $awpall; static $radios; foreach($items as $item){ $selected = $size =$post =$pre = $extra=''; $type = $item[type]; $name = $item[name]; if(!$open){ if($item[important] > 0) $class= ' class="level'.$item[important].'"'; echo sprintf('

',$class); } if($item[intro]) echo __($item[intro],'awp').'
'; if($type){ if($type != 'select' && $type != 'textarea'){ switch($type){ case 'text': $value=$awpall[$name]; break; case 'checkbox'; $value='1'; $extra = $aWP[$type][$name]; $pre = ''; break; case 'radio'; $value=$item[value]; $extra = $aWP[$type][$name][$value]; $pre = ''; $radios[$name]++; break; default: $value=$awpall[$name]; } $size = ($item[size]) ? ' size="'.$item[size].'"' : ' '; $input = sprintf('',$type,$value,$name,$extra,$size); }elseif($type == 'textarea'){ $value=$awpall[$name]; $input = ''; }else{ $input = ''; } if(strpos($item[d],'%s') === false) $item[d] = '%s «—'.$item[d]; $output = $pre.sprintf($item[d],$input).$post; if($item[desc]){ $output .= ' [?]'; $inline .= ''.$item[desc].''; } } echo $output; if(!$item[open] && !$item[nobreak]){ echo $inline.'

'."\n\n"; $inline = $open = null; }else{ $open = 1; echo ' '; if(!$item[nobreak]) echo '
'."\n"; if($item[action]) do_action($item[action]); } } } function admin_footer_js() { ?> read() ) !== false ) { if ( substr($file, 0, 1) == '.' ) continue; if ( is_dir( $modules_root.'/'.$file ) ) { $modules_subdir = dir( $modules_root.'/'.$file ); if ( $modules_subdir ) { while (($subfile = $modules_subdir->read() ) !== false ) { if ( substr($subfile, 0, 1) == '.' ) continue; if ( substr($subfile, -4) == '.php' ) $modules_files[] = "$file/$subfile"; } } } else { if ( substr($file, -4) == '.php' ) $modules_files[] = $file; } } } if ( !$modules_dir || !$modules_files ) return $awp_modules; foreach ( $modules_files as $modules_file ) { if ( !is_readable( "$modules_root/$modules_file" ) ) continue; $modules_data = $this->get_modules_data( "$modules_root/$modules_file" ); if ( empty ( $modules_data['Name'] ) ) continue; $awp_modules[plugin_basename( $modules_file )] = $modules_data; } uasort( $awp_modules, create_function( '$a, $b', 'return strnatcasecmp( $a["Name"], $b["Name"] );' )); return $awp_modules; } function get_modules_data( $mod_file ) { $mod_data = implode( '', file( $mod_file )); preg_match( "@(Plugin|Module) Name:(.*)@i", $mod_data, $mod_name ); preg_match( "@(Plugin|Module) URI:(.*)@i", $mod_data, $mod_uri ); preg_match( "@Description:(.*)@i", $mod_data, $description ); preg_match( "@Author:(.*)@i", $mod_data, $author_name ); preg_match( "@Author URI:(.*)@i", $mod_data, $author_uri ); preg_match( "@Requires:(.*)@i", $mod_data, $requires ); if ( preg_match( "@AWP Release:(.*)@i", $mod_data, $awpversion )) $awpversion = trim( $awpversion[1] ); else $awpversion = ''; if ( preg_match( "@Version:(.*)@i", $mod_data, $version )) $version = trim( $version[1] ); else $version = ''; $description = wptexturize( trim( $description[1] )); $name = $mod_name[2]; $name = trim( $name ); $mod = $name; if ('' != $mod_uri[2] && '' != $name ) { $mod = ''.$mod.''; } if ('' == $author_uri[1] ) { $author = trim( $author_name[1] ); } else { $author = '' . trim( $author_name[1] ) . ''; } return array('Name' => $name, 'Title' => $mod, 'Description' => $description, 'Author' => $author, 'Version' => $version, 'AWP_Version' => $awpversion, 'Requires' => $requires); } function print_modules($c=1){ global $aWP,$awp_mods; ?> class="widefat plugins"> $module_data) { $style = ('class="alternate"' == $style|| 'class="alternate active"' == $style) ? '' : 'alternate'; if (!empty($awp_mods) && in_array($module_file, $awp_mods)) { $toggle = "".__('Deactivate').""; $module_data['Title'] = "{$module_data['Title']}"; $style .= $style == 'alternate' ? ' active' : 'active'; $status = "".__('Active').""; } else { $toggle = "".__('Activate').""; $status = __('Inactive'); } if($c){ $modules_allowedtags = array('a' => array('href' => array(),'title' => array()),'abbr' => array('title' => array()),'acronym' => array('title' => array()),'code' => array(),'em' => array(),'strong' => array()); }else{ $modules_allowedtags = array('abbr' => array('title' => array()),'acronym' => array('title' => array()),'code' => array(),'em' => array()); } // Sanitize all displayed data $module_data['Title'] = wp_kses($module_data['Title'], $modules_allowedtags); $module_data['Version'] = wp_kses($module_data['Version'], $modules_allowedtags); $module_data['AWP_Version'] = wp_kses($module_data['AWP_Version'], $modules_allowedtags); $module_data['Description'] = wp_kses($module_data['Description'], $modules_allowedtags); $module_data['Author'] = wp_kses($module_data['Author'], $modules_allowedtags); if ( $style != '' ) $style = 'class="' . $style . '"'; echo " {$module_data['Title']}

{$module_data['Description']} ".sprintf(__('By %s'), $module_data['Author']).".

"; if($c){ echo "$status";} if($c){ echo "$toggle";} echo " "; } ?> get_modules(); $messages = get_option('awp_messages'); if(count($messages) > 1){ $aWP[messages] .= '

AWP Updates:

    '; foreach($messages as $m){ if(is_int($m)){$time = $m; continue;} $aWP[messages] .= '
  1. '.$m.'
  2. '; } $aWP[messages] .= '
'; } switch($_GET['act']){ case 'updated': $aWP[admin_message] .= __('AWP options updated.','awp').'
'; break; case 'activated': $aWP[admin_message] .= __('Module Activated Successfully.','awp').'
'; break; case 'deactivated': $aWP[admin_message] .= __('Module Deactivated Successfully.','awp').'
'; break; case 'failed': $aWP[admin_message] .= __('The module you attempted to activate has an error in it and could not be activated.','awp').'
'; break; case 'defaults': $aWP[admin_message] .= __('AWP settings restored to defaults.','awp').'
'; break; case 'restore': $aWP[admin_message] .= __('Options successfully saved as test options. Please review them for consistancy before saving.','awp').'
'; break; case 'test': $aWP[admin_message] .= __('AWP test options updated. These settings will not go live until you save them.','awp').'
'; break; case 'testdelete': $aWP[admin_message] .= __('AWP test options deleted.','awp').'
'; break; } if (version_compare($wp_version, '2.1', '<')){ $aWP[admin_message] .= __('This version of Wordpress is outdated and not supported by this plugin. Please upgrade to the latest version from','awp').'wordpress.org
'; } $awp_test = get_option('awp_test'); if(is_array($awp_test)){ $awpall = $awp_test; $aWP['is_test']= true; $aWP[admin_message] .= __('You are using the test options currently. You must save them as live options or delete them to see the current live options.','awp').__('To view these settings append ?awp=test to any URL in your blog or click the follwing link to view your homepage>','awp').''.get_settings('siteurl').'$texts, 'radios'=>$radios, 'selects'=>$selects, 'checkboxes' =>$checkboxes)); foreach($options['radios'] as $radio){ $aWP[radio][$radio[0]][$awpall[$radio[0]]] = 'checked="checked"'; if(!$awpall[$radio[0]]) $aWP[radio][$radio[0]][$radio[1]] = 'checked="checked"'; } foreach($options['texts'] as $name){ $awpall[$name]= stripslashes(htmlspecialchars($awpall[$name],ENT_QUOTES)); } foreach($options['checkboxes'] as $name){ if(!empty($awpall[$name])) $aWP[checkbox][$name]= 'checked="checked"'; } foreach($options['selects'] as $select){ if(!$awpall[$select]){ $awpall[$select] = 'Disabled'; } $aWP[select][$select] = ($awpall[$select] == 'Disabled') ? 'Enabled' : 'Disabled'; } } } function admin_panel_overall(){ ob_start(); ?> <?php _e('Overall Options','awp');?>

]]>
]]> The files should be in the following structure:
%theme_directory%/aWP/%module_name%/%template_file%.php','awp'); ?>]]>
The files should be in the following structure:
plugins/aWP-templates/%module_name%/%template_file%.php','awp'); ?>]]>
]]> Pick a throbber. /plugins//images/throbber.gif" alt='normal'> %s ]]> /plugins//images/throbberbouncing_ball.gif" alt='bouncy ball'> %s ]]> /plugins//images/throbbersun.gif" alt='sun'> %s ]]> /plugins//images/throbberdot.gif" alt='dot'> %s ]]> /plugins//images/throbberkit.gif" alt='kit'> %s ]]> /plugins//images/throbberradar.gif" alt='radar'> %s ]]> ]]> Pick a really big throbber. /plugins//images/throbberbig.gif" alt='normal'> %s ]]> /plugins//images/throbberlarge.gif" alt='normal'> %s ]]> /plugins//images/throbberbar_dark.gif" alt='normal'> %s ]]> /plugins//images/throbberbar.gif" alt='normal'> %s ]]> /plugins//images/throbberclock.gif" alt='normal'> %s ]]> ]]> ]]> ]]>