.
*/
$agca = new AGCA();
class AGCA{
private $colorizer="";
private $active_plugin;
private $agca_version;
private $agca_debug = false;
private $admin_capabilities;
private $context = "";
private $saveAfterImport = false;
private $templateCustomizations = "";
private $templates_ep = "http://wordpressadminpanel.com/configuration.php";
public function __construct()
{
$this->reloadScript();
$this->checkPOST();
$this->checkGET();
if(function_exists("add_filter")){
add_filter('admin_title', array(&$this,'change_title'), 10, 2);
add_filter('plugin_row_meta', array(&$this,'jk_filter_plugin_links'), 10, 2);
}
add_action('admin_init', array(&$this,'agca_register_settings'));
add_action('admin_init', array(&$this,'agca_init_session'));
add_action('admin_head', array(&$this,'print_admin_css'));
add_action('login_head', array(&$this,'print_login_head'));
add_action('admin_menu', array(&$this,'agca_create_menu'));
add_action('wp_head', array(&$this,'print_page'));
add_action( 'wp_before_admin_bar_render', array(&$this,'admin_bar_changes') );
register_deactivation_hook(__FILE__, array(&$this,'agca_deactivate'));
add_action( 'customize_controls_enqueue_scripts', array(&$this,'agca_customizer_php') );
/*Initialize properties*/
$this->colorizer = $this->jsonMenuArray(get_option('ag_colorizer_json'),'colorizer');
$this->agca_version = "1.5.2";
//TODO:upload images programmatically
}
// Add donate and support information
function jk_filter_plugin_links($links, $file)
{
if ( $file == plugin_basename(__FILE__) )
{
$links[] = '' . __('Settings') . '';
$links[] = '' . __('Admin Themes') . '';
$links[] = '' . __('Support') . '';
$links[] = '' . __('Donate') . '';
}
return $links;
}
function change_admin_color(){
return 'default';
}
function agca_customizer_php(){
$this->agca_get_includes();
}
function agca_init_session(){
if (!session_id())
session_start();
}
function checkGET(){
if(isset($_GET['agca_action'])){
if($_GET['agca_action'] =="remove_templates"){
$this->delete_template_images_all();
update_option('agca_templates', "");
update_option('agca_selected_template', "");
}
}
if(isset($_GET['agca_debug'])){
if($_GET['agca_debug'] =="true"){
$this->agca_debug = true;
}else{
$this->agca_debug = false;
}
}
}
function checkPOST(){
if(isset($_POST['_agca_save_template'])){
//print_r($_POST);
$data = $_POST['templates_data'];
$parts = explode("|||",$data);
$common_data = $parts [0];
$admin_js = $parts [1];
$admin_css = $parts [2];
$login_js = $parts [3];
$login_css = $parts [4];
$settings = $parts [5];
$images = $parts [6];
$template_name = $_POST['templates_name'];
update_option('agca_selected_template', $template_name);
$templates = get_option( 'agca_templates' );
if($templates == ""){
$templates = array();
}
$templates[$template_name] = array(
'common'=>$common_data,
'admin'=>"",
'adminjs'=>$admin_js,
'admincss'=>$admin_css,
'login'=>"",
'loginjs'=>$login_js,
'logincss'=>$login_css,
'images'=>$images,
'settings'=>$settings
);
update_option('agca_templates', $templates);
$_POST = array();
}else if(isset($_POST['_agca_templates_session'])){
$this->agcaAdminSession();
if($_POST['template'] !="")
$_SESSION["AGCA"]["Templates"][$_POST['template']] = array("license"=>$_POST['license']);
print_r($_SESSION);
echo "_agca_templates_session:OK";
exit;
}else if(isset($_POST['_agca_templates_session_remove_license'])){
$this->agcaAdminSession();
if($_POST['template'] !="")
$_SESSION["AGCA"]["Templates"][$_POST['template']] = null;
print_r($_SESSION);
echo "_agca_templates_session_remove_license:OK";
exit;
}else if(isset($_POST['_agca_get_templates'])){
$templates = get_option( 'agca_templates' );
if($templates == "") $templates = array();
$results = array();
foreach($templates as $key=>$val){
$results[]=$key;
}
echo json_encode($results);
exit;
}else if(isset($_POST['_agca_activate_template'])){
update_option('agca_selected_template', $_POST['_agca_activate_template']);
$_POST = array();
//unset($_POST);
exit;
}else if(isset($_POST['_agca_template_settings'])){
$settings = $_POST['_agca_template_settings'];
$templates = get_option( 'agca_templates' );
if($templates == ""){
$templates = array();
}
$template_name = $_POST["_agca_current_template"];
$templates[$template_name]["settings"] = $settings;
update_option('agca_templates', $templates);
$_POST = array();
//print_r($templates);
exit;
}else if(isset($_POST['_agca_upload_image'])){
function my_sideload_image() {
$remoteurl = $_POST['_agca_upload_image'];
$file = media_sideload_image( $remoteurl, 0 ,"AG Custom Admin Template Image (do not delete)");
$fileparts = explode("src='",$file);
$url=explode("'",$fileparts[1]);
echo $url[0];
exit;
}
add_action( 'admin_init', 'my_sideload_image' );
}else if(isset($_POST['_agca_remove_template_images'])){
$this->delete_template_images($_POST['_agca_remove_template_images']);
exit;
}
}
function admin_bar_changes(){
if( current_user_can( 'manage_options' )){
global $wp_admin_bar;
$wp_admin_bar->add_menu( array(
'id' => 'agca-admin-themes',
'title' => ''.__( 'Admin Themes', 'agca-admin-themes' ),
'href' => 'tools.php?page=ag-custom-admin/plugin.php#ag-templates'
) );
}
}
function delete_template_images_all(){
$templates = get_option('agca_templates');
if($templates != null && $templates != ""){
foreach($templates as $template){
if($template != null && $template['images'] != null && $template['images'] != ""){
//print_r($template['images']);
$imgs = explode(',',$template['images']);
foreach($imgs as $imageSrc){
$this->delete_attachment_by_src($imageSrc);
}
//print_r($imgs);
}
}
}
//print_r($templates);
}
function delete_template_images($template_name){
$templates = get_option('agca_templates');
if($templates != null && $templates != ""){
$template = $templates[$template_name];
if($template != null && $template['images'] != null && $template['images'] != ""){
//print_r($template['images']); exit;
$imgs = explode(',',$template['images']);
foreach($imgs as $imageSrc){
$this->delete_attachment_by_src($imageSrc);
}
//print_r($imgs);
}
}
//print_r($templates);
}
function delete_attachment_by_src ($image_src) {
global $wpdb;
$query = "SELECT ID FROM {$wpdb->posts} WHERE guid='$image_src'";
$id = $wpdb->get_var($query);
wp_delete_attachment( $id, $true );
}
function get_installed_agca_templates(){
$templates = get_option( 'agca_templates' );
if($templates == "")return '[]';
$results = array();
foreach($templates as $key=>$val){
$results[]=$key;
}
return json_encode($results);
}
function isGuest(){
global $user_login;
if($user_login) {
return false;
}else{
return true;
}
}
function check_active_plugin(){
$ozh = false;
if (is_plugin_active('ozh-admin-drop-down-menu/wp_ozh_adminmenu.php')) {
$ozh = true;
}
$this->active_plugin = array(
"ozh" => $ozh
);
}
function change_title($admin_title, $title){
//return get_bloginfo('name').' - '.$title;
if(get_option('agca_custom_title')!=""){
$blog = get_bloginfo('name');
$page = $title;
$customTitle = get_option('agca_custom_title');
$customTitle = str_replace('%BLOG%',$blog,$customTitle);
$customTitle = str_replace('%PAGE%',$page,$customTitle);
return $customTitle;
}else{
return $admin_title;
}
}
function agca_get_includes() {
?>
" />
context == "login"){
?>
templateCustomizations;
if(!((get_option('agca_role_allbutadmin')==true) and (current_user_can($this->admin_capability())))){
?>
0){
}else{
$file = $_FILES['settings_import_file'];
if($this->startsWith($file['name'],'AGCA_Settings')){
if (file_exists($file['tmp_name'])) {
$fh = fopen($file['tmp_name'], 'r');
$theData = "";
if(filesize($file['tmp_name']) > 0){
$theData = fread($fh,filesize($file['tmp_name']));
}
fclose($fh);
$this->importSettings($theData);
}
}
}
}
}else if(isset($_POST['_agca_export_settings']) && $_POST['_agca_export_settings']=="true"){
$this->exportSettings();
}
}
if(isset($_GET['agca_action'])){
if($_GET['agca_action'] == "disablewarning"){
update_option('agca_disablewarning', true);
}
}
}
function agca_deactivate() {
}
function getOptions(){
return Array(
'agca_role_allbutadmin',
'agca_admin_bar_frontend',
'agca_admin_bar_frontend_hide',
'agca_login_register_remove',
'agca_login_register_href',
'agca_login_lostpassword_remove',
'agca_admin_capability',
'agca_screen_options_menu',
'agca_help_menu',
'agca_logout',
'agca_remove_your_profile',
'agca_logout_only',
'agca_custom_title',
'agca_howdy',
'agca_header',
'agca_header_show_logout',
'agca_footer',
'agca_privacy_options',
'agca_header_logo',
'agca_header_logo_custom',
'agca_remove_site_link',
'agca_wp_logo_custom',
'agca_wp_logo_custom_link',
'agca_site_heading',
'agca_custom_site_heading',
'agca_update_bar',
'agca_footer_left',
'agca_footer_left_hide',
'agca_footer_right',
'agca_footer_right_hide',
'agca_login_banner',
'agca_login_banner_text',
'agca_login_photo_remove',
'agca_login_photo_url',
'agca_login_photo_href',
'agca_login_round_box',
'agca_login_round_box_size',
'agca_dashboard_icon',
'agca_dashboard_text',
'agca_dashboard_text_paragraph',
'agca_dashboard_widget_welcome',
'agca_dashboard_widget_activity',
'agca_dashboard_widget_il',
'agca_dashboard_widget_plugins',
'agca_dashboard_widget_qp',
'agca_dashboard_widget_rn',
'agca_dashboard_widget_rd',
'agca_dashboard_widget_primary',
'agca_dashboard_widget_secondary',
'agca_admin_bar_comments',
'agca_admin_bar_new_content',
'agca_admin_bar_new_content_post',
'agca_admin_bar_new_content_link',
'agca_admin_bar_new_content_page',
'agca_admin_bar_new_content_user',
'agca_admin_bar_new_content_media',
'agca_admin_bar_update_notifications',
'agca_admin_bar_admin_themes',
'agca_remove_top_bar_dropdowns',
'agca_admin_menu_turnonoff',
'agca_admin_menu_agca_button_only',
'agca_admin_menu_separators',
'agca_admin_menu_icons',
'agca_admin_menu_arrow',
'agca_admin_menu_submenu_round',
'agca_admin_menu_submenu_round_size',
'agca_admin_menu_brand',
'agca_admin_menu_brand_link',
'agca_admin_menu_autofold',
'agca_admin_menu_collapse_button',
'ag_edit_adminmenu_json',
'ag_edit_adminmenu_json_new',
'ag_add_adminmenu_json',
'ag_colorizer_json',
'agca_colorizer_turnonof',
'agca_custom_js',
'agca_custom_css',
'agca_colorizer_turnonoff',
'agca_disablewarning',
'agca_selected_template',
'agca_templates',
);
}
function getTextEditor($name){
$settings = array(
'textarea_name' => $name,
'media_buttons' => true,
'tinymce' => array(
'theme_advanced_buttons1' => 'formatselect,|,bold,italic,underline,|,' .
'bullist,blockquote,|,justifyleft,justifycenter' .
',justifyright,justifyfull,|,link,unlink,|' .
',spellchecker,wp_fullscreen,wp_adv'
)
);
wp_editor( get_option($name), $name, $settings );
}
function importSettings($settings){
$exploaded = explode("|^|^|", $settings);
// $str = "EEE: ";
$savedOptions = array();
foreach ($exploaded as $setting){
$key = current(explode(':', $setting));
$value = substr($setting, strlen($key)+1);
$cleanedValue = str_replace('|^|^|','',$value);
$savedOptions[$key] = $cleanedValue;
}
// print_r($savedOptions);
$optionNames = $this->getOptions();
foreach ($optionNames as $optionName){
$optionValue = "";
$optionValue = $savedOptions[$optionName];
if($optionName == "ag_edit_adminmenu_json" || "ag_edit_adminmenu_json_new"|| $optionName == "ag_add_adminmenu_json" ||$optionName == "ag_colorizer_json"){
$optionValue = str_replace("\\\"", "\"", $optionValue);
$optionValue = str_replace("\\\'", "\'", $optionValue);
}else if($optionName == "agca_custom_js" || $optionName == "agca_custom_css"){
//fb($optionValue);
$optionValue = htmlspecialchars_decode($optionValue);
$optionValue = str_replace("\'", '"', $optionValue);
$optionValue = str_replace('\"', "'", $optionValue);
//fb($optionValue);
}else{
}
update_option($optionName, $optionValue);
$str.="/".$optionName."/".$optionValue."\n";
}
//Migration from 1.2.6. to 1.2.5.1 - remove in later versions
//agca_script_css
//
// fb($savedOptions);
if($savedOptions['agca_script_css'] != null){
$optionValue = "";
$optionValue = str_replace("\'", '"', $savedOptions['agca_script_css']);
$optionValue = str_replace('\"', "'", $optionValue);
update_option('agca_custom_css', $optionValue);
}
if($savedOptions['agca_script_js'] != null){
$optionValue = "";
$optionValue = str_replace("\'", '"', $savedOptions['agca_script_js']);
$optionValue = str_replace('\"', "'", $optionValue);
update_option('agca_custom_js', $optionValue);
}
//echo $str;
//save imported settings
$this->saveAfterImport = true;
}
function exportSettings(){
$str = "";
$include_menu_settings = false;
if(isset($_POST['export_settings_include_admin_menu'])){
if($_POST['export_settings_include_admin_menu'] == 'on'){
$include_menu_settings = true;
}
}
foreach ($_POST as $key => $value) {
if ($this->startsWith($key,'ag')||$this->startsWith($key,'color')) {
if($this->startsWith($key,'ag_edit_adminmenu')){
if($include_menu_settings) $str .=$key. ":".$value."|^|^|";
}else{
$str .=$key. ":".$value."|^|^|";
}
}
}
$filename = 'AGCA_Settings_'.date("Y-M-d_H-i-s").'.agca';
header("Cache-Control: public");
header("Content-Description: File Transfer");
header("Content-Disposition: attachment; filename=$filename");
header("Content-Type: text/plain; ");
header("Content-Transfer-Encoding: binary");
echo $str;
die();
}
function startsWith($haystack, $needle)
{
$length = strlen($needle);
return (substr($haystack, 0, $length) === $needle);
}
function agca_create_menu() {
add_management_page( 'AG Custom Admin', 'AG Custom Admin', 'administrator', __FILE__, array(&$this,'agca_admin_page') );
}
function agca_create_admin_button($name,$arr) {
$href = $arr["value"];
$target =$arr["target"];
$button ="
";
return $button;
}
function agca_decode($code){
$code = str_replace("{","",$code);
$code = str_replace("}","",$code);
$code = str_replace("\", \"","\"|||\"",$code);
$elements = explode("|||",$code);
return $elements;
}
function jsonMenuArray($json,$type){
$arr = explode("|",$json);
$elements = "";
$array ="";
$first = true;
//print_r($json);
if($type == "colorizer"){
$elements = json_decode($arr[0],true);
if($elements !=""){
return $elements;
}
}else if($type == "buttons"){
$elements = json_decode($arr[0],true);
if($elements !=""){
foreach($elements as $k => $v){
$array.=$this->agca_create_admin_button($k,$v);
}
}
}else if($type == "buttonsJq"){
$elements = json_decode($arr[0],true);
if($elements !=""){
foreach($elements as $k => $v){
$array.='| | |
';
}
}
}else{
if(isset($arr[$type])){
$elements = $this->agca_decode($arr[$type]);
}
if($elements !=""){
foreach($elements as $element){
if(!$first){
$array .=",";
}
$parts = explode(" : ",$element);
if(isset($parts[0]) && isset($parts[1])){
$array.="[".$parts[0].", ".$parts[1]."]";
}
$first=false;
}
}
}
return $array;
}
function remove_dashboard_widget($widget,$side)
{
//side can be 'normal' or 'side'
global $wp_meta_boxes;
remove_meta_box($widget, 'dashboard', $side);
}
function get_wp_version(){
global $wp_version;
$array = explode('-', $wp_version);
$version = $array[0];
return $version;
}
function print_page()
{
if($this->isGuest() && get_option('agca_admin_bar_frontend_hide')){
return false;
}
if(get_option('agca_admin_bar_frontend_hide')==true){
add_filter( 'show_admin_bar', '__return_false' );
?>
context = "page";
$wpversion = $this->get_wp_version();
?>
jQuery("#wpadminbar #wp-admin-bar-root-default > #wp-admin-bar-wp-logo .ab-sub-wrapper").hide();
jQuery("#wpadminbar #wp-admin-bar-root-default > #wp-admin-bar-site-name .ab-sub-wrapper").hide();
jQuery("#wpadminbar #wp-admin-bar-root-default > #wp-admin-bar-wp-logo .ab-item").attr('title','');
jQuery(".new_content_header_submenu").hide();
jQuery("ul#wp-admin-bar-root-default li#wp-admin-bar-comments").css("display","none");
jQuery("ul#wp-admin-bar-root-default li#wp-admin-bar-new-content").css("display","none");
jQuery("ul#wp-admin-bar-root-default li#wp-admin-bar-new-content li#wp-admin-bar-new-post").css("display","none");
jQuery("ul#wp-admin-bar-root-default li#wp-admin-bar-new-content li#wp-admin-bar-new-link").css("display","none");
jQuery("ul#wp-admin-bar-root-default li#wp-admin-bar-new-content li#wp-admin-bar-new-page").css("display","none");
jQuery("ul#wp-admin-bar-root-default li#wp-admin-bar-new-content li#wp-admin-bar-new-user").css("display","none");
jQuery("ul#wp-admin-bar-root-default li#wp-admin-bar-new-content li#wp-admin-bar-new-media").css("display","none");
jQuery("ul#wp-admin-bar-root-default li#wp-admin-bar-updates").css("display","none");
jQuery("ul#wp-admin-bar-root-default li#wp-admin-bar-agca-admin-themes").css("display","none");
jQuery("#wphead #header-logo").css("display","none");
jQuery("ul#wp-admin-bar-root-default li#wp-admin-bar-wp-logo").css("display","none");
var img_url = '';
advanced_url = img_url;
image = jQuery("
").attr("src",advanced_url);
jQuery(image).load(function() {
jQuery("#wpbody-content").prepend(image);
});
jQuery("li#wp-admin-bar-wp-logo a.ab-item span.ab-icon").html("
\" />");
jQuery("li#wp-admin-bar-wp-logo a.ab-item span.ab-icon").css('background-image','none');
jQuery("li#wp-admin-bar-wp-logo a.ab-item span.ab-icon").css('width','auto');
jQuery("li#wp-admin-bar-wp-logo a.ab-item").attr('href',"");
jQuery("#wpadminbar #wp-admin-bar-root-default > #wp-admin-bar-wp-logo .ab-item:before").attr('title','');
jQuery('body #wpadminbar #wp-admin-bar-wp-logo > .ab-item .ab-icon').attr('class','ab-icon2');
jQuery("#wp-admin-bar-site-name").css("display","none");
var href = "";
href = href.replace("%BLOG%", "");
if(href == "%SWITCH%"){
href = "";
context == "page"){
?>href+="/wp-admin";
}
jQuery("li#wp-admin-bar-wp-logo a.ab-item").attr('href',href);
jQuery("#wphead #site-heading").css("display","none");
jQuery("#wphead #site-heading").after('');
jQuery("#wp-admin-bar-site-name a:first").html('');
context =='admin'){
?>
jQuery("#wpadminbar").css("display","none");
jQuery("body.admin-bar").css("padding-top","0");
jQuery("#wphead").css("display","none");
jQuery('html.wp-toolbar').css("padding-top","0");
jQuery("#wpbody-content").prepend('');
var alltext="";
alltext="";
jQuery('li#wp-admin-bar-my-account').css('cursor','default');
alltext = jQuery('li#wp-admin-bar-my-account').html();
if(alltext!=null){
var parts = alltext.split(',');
alltext = "" + ", " + parts[1];
}
jQuery("li#wp-admin-bar-my-account").html(""+alltext+"");
change_title', 10, 2);
}
?>
jQuery("ul#wp-admin-bar-user-actions li#wp-admin-bar-logout a").text("");
jQuery("ul#wp-admin-bar-user-actions li#wp-admin-bar-edit-profile").css("visibility","hidden");
jQuery("ul#wp-admin-bar-user-actions li#wp-admin-bar-edit-profile").css("height","10px");
jQuery('#wpadminbar #wp-admin-bar-top-secondary > #wp-admin-bar-my-account > a').attr('href','#');
jQuery('#wpadminbar #wp-admin-bar-top-secondary #wp-admin-bar-user-info > a').attr('href','#');
jQuery('#wpadminbar #wp-admin-bar-top-secondary #wp-admin-bar-edit-profile > a').attr('href','#');
var logout_content = jQuery("li#wp-admin-bar-logout").html();
jQuery("ul#wp-admin-bar-top-secondary").html(''+ logout_content +'');
function updateAllColors(){
colorizer as $k => $v){
if(($k !="") and ($v !="")){
?> updateTargetColor("","");
jQuery('.color_picker').each(function(){
updateColor(jQuery(this).attr('id'),jQuery(this).val())
});
jQuery('label,h1,h2,h3,h4,h5,h6,a,p,.form-table th,.form-wrap label').css('text-shadow','none');
jQuery('#adminmenu li.wp-menu-open').css('border','none');
jQuery('#adminmenu li.wp-menu-open .wp-submenu').css({'border':'none','margin':'0px','border-radius':'0px'});
}roles['administrator']['capabilities'];
$capabilitySelector = "";
$selectedValue = get_option('agca_admin_capability');
if($selectedValue == ""){
$selectedValue = "edit_dashboard";
}
/*echo $selectedValue;
die;*/
ksort($capabs);
foreach($capabs as $k=>$v){
$selected = "";
if($this->startsWith($k, 'level_')) continue;
if($selectedValue == $k){
$selected = " selected=\"selected\" ";
}
//TODO:Find out why this does not work
//$capabilitySelector .="\n";
$capabilitySelector .="\n";
}
$this->admin_capabilities = "";
}
function admin_capability(){
$selectedValue = get_option('agca_admin_capability');
if($selectedValue == ""){
$selectedValue = "edit_dashboard";
}
return $selectedValue;
}
function JSPrintAGCATemplateSettingsVar($settings){
echo "\n#is', '', $settings).";\n"; //TODO: think about this
echo "";
}
function appendSettingsToAGCATemplateCustomizations($customizations, $settings){
$template_settings = json_decode($settings);
//print_r($template_settings);
foreach($template_settings as $sett){
$key = $sett->code;
//use default value if user's value is not set
$value="";
if($sett->value != ""){
$value = $sett->value;
}else{
$value = $sett->default_value;
}
//Prepare settings
if($sett->type == 6){
if($value !== null && (strtolower($value) == "on" || $value == "1")){
$value = "true";
}else{
$value = "false";
}
}
$customizations = str_replace("%".$key."%",$value, $customizations);
}
return $customizations;
}
function enableSpecificWPVersionCustomizations($customizations){
/*enable special CSS for this WP version*/
$ver = $this->get_wp_version();
$customizations = str_replace("/*".$ver," ", $customizations);
$customizations = str_replace($ver."*/"," ", $customizations);
return $customizations;
}
function removeCSSComments($customizations){
$customizations = preg_replace('#/\*.*?\*/#si','',$customizations);
return $customizations;
}
function prepareAGCAAdminTemplates(){
if(get_option( 'agca_templates' ) != ""){
//print_r(get_option( 'agca_templates' ));
$themes = get_option( 'agca_templates' );
$selectedTheme = get_option('agca_selected_template');
if(isset($themes[$selectedTheme])){
$theme = $themes[$selectedTheme];
add_filter('get_user_option_admin_color', array(&$this,'change_admin_color'));
echo (stripslashes($theme['common']));
echo "";
//KEEP THIS FOR MIGRATION PURPOSE FOR SOME TIME
if(!((get_option('agca_role_allbutadmin')==true) and (current_user_can($this->admin_capability())))){
if($theme['settings'] == "" || $theme['settings'] == " ") $theme['settings'] = "{}";
//print_r($templdata);
$this->JSPrintAGCATemplateSettingsVar($theme['settings']);
$admindata = $this->appendSettingsToAGCATemplateCustomizations(stripslashes($theme['admin']), $theme['settings']);
$admindata = $this->enableSpecificWPVersionCustomizations($admindata);
$admindata = $this->removeCSSComments($admindata);
//echo $admindata;
//REPLACE TAGS WITH CUSTOM TEMPLATE SETTINGS
$this->templateCustomizations = $admindata;
}
//KEEP THIS FOR MIGRATION PURPOSE FOR SOME TIME
}
}
}
function agcaAdminSession(){
$agcaTemplatesSession = array();
//session_destroy();
//session_unset();
/*if(!session_id()){
session_start();
}*/
if(!isset($_SESSION["AGCA"])){
$_SESSION["AGCA"] = array();
$_SESSION["AGCA"]["Templates"] = array();
}
//print_r($_SESSION);
if(isset($_SESSION["AGCA"])){
if(isset($_SESSION["AGCA"]["Templates"])){
//print_r($_SESSION["AGCA"]["Templates"]);
$agcaTemplatesSession = json_encode($_SESSION["AGCA"]["Templates"]);
}
}
if($agcaTemplatesSession == '""' || $agcaTemplatesSession == '"[]"'){
$agcaTemplatesSession = array();
}
return $agcaTemplatesSession;
}
function getAGCAColor($name){
if(isset($this->colorizer[$name])){
echo htmlspecialchars($this->colorizer[$name]);
}
}
function prepareAGCALoginTemplates(){
if(get_option( 'agca_templates' ) != ""){
//print_r(get_option( 'agca_templates' ));
$templates = get_option( 'agca_templates' );
foreach($templates as $templname=>$templdata){
if($templname == get_option('agca_selected_template')){
echo (stripslashes($templdata['common']));
if($templdata['settings'] == "" || $templdata['settings'] == " ") $templdata['settings'] = "{}";
$this->JSPrintAGCATemplateSettingsVar($templdata['settings']);
$logindata = $this->appendSettingsToAGCATemplateCustomizations(stripslashes($templdata['login']), $templdata['settings']);
$logindata = $this->enableSpecificWPVersionCustomizations($logindata);
$logindata = $this->removeCSSComments($logindata);
echo($logindata);
break;
}
}
}
}
function agca_error_check(){
?>
menu_item_cleartext($name);
//apply previous submenu customizations
if($customizationsSet){
$pc = $previousCustomizations[$url];
}
//get submenu
$s = array();
if(isset($submenu[$url])){
$sitems = $submenu[$url];
foreach($sitems as $key=>$sub){
$nameSub = $sub[0];
$urlSub = $sub[2];
$removeSub = false;
$nameSub = $this->menu_item_cleartext($nameSub);
$s[$key]=array(
'name'=>$nameSub,
'new'=>'',
'remove'=>$removeSub,
'url'=>$urlSub
);
if(isset($pc) && isset($pc['submenus'])){
$s[$key]['new'] = $pc['submenus'][$key]['new'];
$s[$key]['remove'] = $pc['submenus'][$key]['remove'];
if($s[$key]['new'] == null){
$s[$key]['new'] = '';
}
if($s[$key]['remove'] == null){
$s[$key]['remove'] = false;
}
}
}
}
$m[$url]=array(
'name'=>$name,
'remove'=>$remove,
'new'=>'',
'url'=>$url,
'cls'=>$cls,
'submenus'=>$s
);
//apply previous top menu customizations
if($customizationsSet){
$pc = $previousCustomizations[$url];
if(isset($pc)){
$m[$url]['remove'] = $pc['remove'];
$m[$url]['new'] = $pc['new'];
}
}
}
return $m;
}
/**
* Applies customizations to admin menu
*/
function customized_menu(){
$customizations = $this->get_menu_customizations();
global $menu;
global $submenu;
//print_r($submenu);die;
//apply customizations to original admin menu
foreach($menu as $key=>$top){
$url = $top[2];
if(isset($customizations[$url])){
$topCustomized = $customizations[$url];
if($topCustomized['new']) {
$menu[$key][0] = $topCustomized['new'];
}
if($topCustomized['remove']){
unset($menu[$key]);
}
}
}
foreach($submenu as $topkey=>$subs){
foreach($subs as $subkey=>$sub){
if(isset($customizations[$topkey]['submenus'][$subkey])){
$cs = $customizations[$topkey]['submenus'][$subkey];
if($cs['new']) {
$submenu[$topkey][$subkey][0] = preg_replace("/".$cs['name']."/",$cs['new'], $submenu[$topkey][$subkey][0],1);
}
if($cs['remove']){
unset($submenu[$topkey][$subkey]);
}
}
}
}
}
/**
* Used only for removing admin menu customizations to AGCA 1.5 version or later
* @param $checkboxes
* @param $textboxes
*/
function migrate_menu_customizations($checkboxes, $textboxes){
$customizations = $this->get_menu_customizations();
global $menu;
/*print_r($menu);
print_r($customizations);
print_r($textboxes);*/
$oldTopValue = "";
//Migrate checkboxes
foreach($checkboxes as $key=>$value){
$isTop = false;
$oldSubValue = "";
if (strpos($key,'<-TOP->') !== false) {
$oldTopValue = str_replace('<-TOP->','',$key);
$isTop = true;
}else{
$oldSubValue = $key;
}
if($value == 'checked'){
$topIndex = "";
foreach($customizations as $k=>$c){
if($c['cls'] == $oldTopValue){
$topIndex = $k;
break;
}
}
if($topIndex == "") continue;
if($isTop){
$customizations[$topIndex]['remove'] = true;
}else{
if(is_array($customizations[$topIndex]['submenus'])){
foreach($customizations[$topIndex]['submenus'] as $skey=>$sval){
if($sval['name'] == $oldSubValue){
$customizations[$topIndex]['submenus'][$skey]['remove'] = true;
}
}
}
}
}
}
//Migrate textboxes
foreach($textboxes as $key=>$value){
$isTop = false;
$oldSubValue = "";
if (strpos($key,'<-TOP->') !== false) {
$oldTopValue = str_replace('<-TOP->','',$key);
$isTop = true;
}else{
$oldSubValue = $key;
}
if($value != ''){
$topIndex = "";
foreach($customizations as $k=>$c){
if($c['cls'] == $oldTopValue){
$topIndex = $k;
break;
}
}
if($topIndex == "") continue;
if($isTop){
$customizations[$topIndex]['new'] = $value;
}else{
if(is_array($customizations[$topIndex]['submenus'])){
foreach($customizations[$topIndex]['submenus'] as $skey=>$sval){
if($sval['name'] == $oldSubValue){
if($customizations[$topIndex]['submenus'][$skey]['name'] != $value){
$customizations[$topIndex]['submenus'][$skey]['new'] = $value;
}
}
}
}
}
}
}
update_option('ag_edit_adminmenu_json','');//remove previous admin menu configuration
update_option('ag_edit_adminmenu_json_new',json_encode($customizations));
}
function print_admin_css()
{
$agcaTemplateSession = $this->agcaAdminSession();
$wpversion = $this->get_wp_version();
$this->context = "admin";
$this->error_check();
?>
prepareAGCAAdminTemplates();
$this->agca_get_includes();
$this->admin_capabilities();
get_currentuserinfo() ;
?>
admin_capability())){
?>
context = "login";
$this->error_check();
$wpversion = $this->get_wp_version();
?>
prepareAGCALoginTemplates();
$this->agca_get_includes();
?>
get_wp_version();
$this->agca_error_check();
?>
AG Custom Admin Settings (vagca_version; ?>)
$val){
$strAttributes.=' '.$key.'="'.$val.'"';
}
}
if(isset($data['input-class'])){
$strInputClass = $data['input-class'];
}
if(isset($data['hide'])){
$strInputClass .= " visibility";
}
if(isset($data['input-attributes'])){
$strInputAttributes = $data['input-attributes'];
}
if(isset($data['onchange'])){
$strOnchange = $data['onchange'];
}
if(!isset($data['title'])){
$data['title'] = $data['label'];
}
if(isset($data['checked'])){
$isChecked = $data['checked'];
}else{
//use default check with the option
$isChecked = get_option($data['name'])==true;
}
?>
>
|
|
= $strInputAttributes ?> title='Toggle on/off' name="= $data['name'] ?>" value="true" = ($isChecked)?' checked="checked"':'' ?> />
|
'.$data['hint'].'';
}
if(!isset($data['title'])){
$data['title'] = $data['label'];
}
if(isset($data['suffix'])){
$suffix = $data['suffix'];
}
if(isset($data['attributes'])){
foreach($data['attributes'] as $key=>$val){
$strAttributes.=' '.$key.'="'.$val.'"';
}
}
?>
>
|
|
= $suffix ?>
= $strHint ?>
|
'.$data['hint'].'.';
}
if(!isset($data['title'])){
$data['title'] = $data['label'];
}
?>
|
|
= $strHint ?>
|
|
|
= $title ?>
|
|
|
|