Version Description
- Compatibility with WordPress 4.6
- Resolved styling issue for AGCA admin menu button, when default menu is hidden
- Improved styling of admin bar logo
- A couple of visual improvements on input fields and text
- Removed dashboard empty box placeholders
Download this release
Release Info
Developer | argonius |
Plugin | Absolutely Glamorous Custom Admin |
Version | 5.6.3 |
Comparing to | |
See all releases |
Code changes from version 5.6.2 to 5.6.3
- plugin.php +16 -13
- readme.txt +14 -4
- style/ag_style.css +4 -0
- trunk/ag-custom-admin.html +95 -0
- trunk/images/agca.png +0 -0
- trunk/images/btn_donate_LG.gif +0 -0
- trunk/images/cusminlogo.png +0 -0
- trunk/languages/ag-custom-admin-hr.mo +0 -0
- trunk/languages/ag-custom-admin-hr.po +1296 -0
- trunk/licence.txt +674 -0
- trunk/plugin.php +3113 -0
- trunk/readme.txt +704 -0
- trunk/require/dynamic.php +95 -0
- trunk/script/ag_script.js +979 -0
- trunk/script/agca_farbtastic.js +68 -0
- trunk/script/agca_tmpl.js +744 -0
- trunk/script/farbtastic.js +346 -0
- trunk/script/xd.js +1 -0
- trunk/style/admin.min.css +0 -0
- trunk/style/ag_style.css +776 -0
- trunk/style/agca_farbtastic.css +4 -0
- trunk/style/farbtastic.css +51 -0
- trunk/style/login.min.css +0 -0
- trunk/style/marker.png +0 -0
- trunk/style/mask.png +0 -0
- trunk/style/wheel.png +0 -0
- trunk/uninstall.php +90 -0
plugin.php
CHANGED
@@ -4,7 +4,7 @@ Plugin Name: AG Custom Admin
|
|
4 |
Plugin URI: http://wordpressadminpanel.com/ag-custom-admin/
|
5 |
Description: All-in-one tool for admin panel customization. Change almost everything: admin menu, dashboard, login page, admin bar etc. Apply admin panel themes.
|
6 |
Author: WAP
|
7 |
-
Version: 5.6.
|
8 |
Text Domain: ag-custom-admin
|
9 |
Domain Path: /languages
|
10 |
Author URI: http://www.wordpressadminpanel.com/
|
@@ -73,7 +73,7 @@ class AGCA{
|
|
73 |
/*Initialize properties*/
|
74 |
$this->colorizer = $this->jsonMenuArray(get_option('ag_colorizer_json'),'colorizer');
|
75 |
|
76 |
-
$this->agca_version = "5.6.
|
77 |
|
78 |
//TODO:upload images programmatically
|
79 |
}
|
@@ -805,7 +805,7 @@ class AGCA{
|
|
805 |
|
806 |
$href = $arr["value"];
|
807 |
$target =$arr["target"];
|
808 |
-
$button ="<li class=\"wp-not-current-submenu menu-top menu-top-last\" id=\"menu-$name\"><a href=\"$href\" target=\"$target\" class=\"wp-not-current-submenu menu-top\"><div class=\"wp-menu-arrow\"><div></div></div><div class=\"wp-menu-image dashicons-before dashicons-admin-$name\"><br></div><div class=\"wp-menu-name\">$name</div></a></li>";
|
809 |
|
810 |
return $button;
|
811 |
}
|
@@ -1031,10 +1031,13 @@ class AGCA{
|
|
1031 |
|
1032 |
<?php } ?>
|
1033 |
<?php if(get_option('agca_wp_logo_custom')!=""){ ?>
|
1034 |
-
jQuery("li#wp-admin-bar-wp-logo a.ab-item span.ab-icon")
|
1035 |
-
|
1036 |
-
|
1037 |
-
|
|
|
|
|
|
|
1038 |
jQuery("#wpadminbar #wp-admin-bar-root-default > #wp-admin-bar-wp-logo .ab-item:before").attr('title','');
|
1039 |
jQuery('body #wpadminbar #wp-admin-bar-wp-logo > .ab-item .ab-icon').attr('class','ab-icon2');
|
1040 |
jQuery("#wp-admin-bar-wp-logo").show();
|
@@ -2311,7 +2314,7 @@ class AGCA{
|
|
2311 |
'title'=>__('Change default WordPress logo with custom image.', 'ag-custom-admin'),
|
2312 |
'name'=>'agca_wp_logo_custom',
|
2313 |
'label'=>__('Admin bar logo', 'ag-custom-admin'),
|
2314 |
-
'hint' =>__('Image URL
|
2315 |
));
|
2316 |
|
2317 |
$this->print_input(array(
|
@@ -2338,16 +2341,16 @@ class AGCA{
|
|
2338 |
|
2339 |
$this->print_checkbox(array(
|
2340 |
'hide'=>true,
|
2341 |
-
'title'=>__('Hides small Wordpress logo from the admin bar', 'ag-custom-admin'),
|
2342 |
'name'=>'agca_header_logo',
|
2343 |
-
'label'=>__('
|
2344 |
));
|
2345 |
|
2346 |
$this->print_checkbox(array(
|
2347 |
'hide'=>true,
|
2348 |
-
'title'=>__('Hides WordPress context menu on
|
2349 |
'name'=>'agca_remove_top_bar_dropdowns',
|
2350 |
-
'label'=>__('
|
2351 |
));
|
2352 |
|
2353 |
$this->print_checkbox(array(
|
@@ -2440,7 +2443,7 @@ class AGCA{
|
|
2440 |
'label'=>__('"Admin themes"', 'ag-custom-admin')
|
2441 |
));
|
2442 |
|
2443 |
-
$this->
|
2444 |
'title'=>__('Adds custom text in admin top bar.', 'ag-custom-admin'),
|
2445 |
'name'=>'agca_custom_site_heading',
|
2446 |
'label'=>__('Custom blog heading', 'ag-custom-admin'),
|
4 |
Plugin URI: http://wordpressadminpanel.com/ag-custom-admin/
|
5 |
Description: All-in-one tool for admin panel customization. Change almost everything: admin menu, dashboard, login page, admin bar etc. Apply admin panel themes.
|
6 |
Author: WAP
|
7 |
+
Version: 5.6.3
|
8 |
Text Domain: ag-custom-admin
|
9 |
Domain Path: /languages
|
10 |
Author URI: http://www.wordpressadminpanel.com/
|
73 |
/*Initialize properties*/
|
74 |
$this->colorizer = $this->jsonMenuArray(get_option('ag_colorizer_json'),'colorizer');
|
75 |
|
76 |
+
$this->agca_version = "5.6.3";
|
77 |
|
78 |
//TODO:upload images programmatically
|
79 |
}
|
805 |
|
806 |
$href = $arr["value"];
|
807 |
$target =$arr["target"];
|
808 |
+
$button ="<li class=\"wp-not-current-submenu menu-top menu-top-last\" id=\"menu-$name\"><a href=\"$href\" target=\"$target\" class=\"wp-not-current-submenu menu-top\"><div class=\"wp-menu-arrow\"><div></div></div><div class=\"wp-menu-image dashicons-before dashicons-admin-$name\" style=\"width:15px\"><br></div><div class=\"wp-menu-name\">$name</div></a></li>";
|
809 |
|
810 |
return $button;
|
811 |
}
|
1031 |
|
1032 |
<?php } ?>
|
1033 |
<?php if(get_option('agca_wp_logo_custom')!=""){ ?>
|
1034 |
+
jQuery("li#wp-admin-bar-wp-logo a.ab-item span.ab-icon")
|
1035 |
+
.html("<img style=\"height:32px;margin-top:0\" src=\"<?php echo get_option('agca_wp_logo_custom'); ?>\" />")
|
1036 |
+
.css('background-image','none')
|
1037 |
+
.css('width','auto');
|
1038 |
+
jQuery("li#wp-admin-bar-wp-logo > a.ab-item")
|
1039 |
+
.attr('href',"<?php echo get_bloginfo('wpurl'); ?>")
|
1040 |
+
.css('padding', 0);
|
1041 |
jQuery("#wpadminbar #wp-admin-bar-root-default > #wp-admin-bar-wp-logo .ab-item:before").attr('title','');
|
1042 |
jQuery('body #wpadminbar #wp-admin-bar-wp-logo > .ab-item .ab-icon').attr('class','ab-icon2');
|
1043 |
jQuery("#wp-admin-bar-wp-logo").show();
|
2314 |
'title'=>__('Change default WordPress logo with custom image.', 'ag-custom-admin'),
|
2315 |
'name'=>'agca_wp_logo_custom',
|
2316 |
'label'=>__('Admin bar logo', 'ag-custom-admin'),
|
2317 |
+
'hint' =>__('Image URL', 'ag-custom-admin')
|
2318 |
));
|
2319 |
|
2320 |
$this->print_input(array(
|
2341 |
|
2342 |
$this->print_checkbox(array(
|
2343 |
'hide'=>true,
|
2344 |
+
'title'=>__('Hides small Wordpress logo or custom logo from the admin bar', 'ag-custom-admin'),
|
2345 |
'name'=>'agca_header_logo',
|
2346 |
+
'label'=>__('Admin bar logo', 'ag-custom-admin')
|
2347 |
));
|
2348 |
|
2349 |
$this->print_checkbox(array(
|
2350 |
'hide'=>true,
|
2351 |
+
'title'=>__('Hides WordPress context menu on admin bar logo from admin bar', 'ag-custom-admin'),
|
2352 |
'name'=>'agca_remove_top_bar_dropdowns',
|
2353 |
+
'label'=>__('Admin bar logo context menu', 'ag-custom-admin')
|
2354 |
));
|
2355 |
|
2356 |
$this->print_checkbox(array(
|
2443 |
'label'=>__('"Admin themes"', 'ag-custom-admin')
|
2444 |
));
|
2445 |
|
2446 |
+
$this->print_input(array(
|
2447 |
'title'=>__('Adds custom text in admin top bar.', 'ag-custom-admin'),
|
2448 |
'name'=>'agca_custom_site_heading',
|
2449 |
'label'=>__('Custom blog heading', 'ag-custom-admin'),
|
readme.txt
CHANGED
@@ -3,8 +3,8 @@ Contributors: wap
|
|
3 |
Donate link: http://wordpressadminpanel.com/ag-custom-admin/
|
4 |
Tags: admin, customize, hide, change admin, themes, admin themes, admin bar, login page
|
5 |
Requires at least: 3.0
|
6 |
-
Tested up to: 4.
|
7 |
-
Stable tag: 5.6.
|
8 |
License: GPLv3 or later
|
9 |
License URI: https://www.gnu.org/licenses/gpl.txt
|
10 |
|
@@ -97,13 +97,13 @@ With this plugin you can easily customize WordPress **admin panel**, **login pag
|
|
97 |
> <strong>CUSMIN</strong><br>
|
98 |
> Cusmin is premium version of AG Custom Admin that gives you more advanced features for customization and branding.<br><br>
|
99 |
> For more info about Cusmin, please go to [Cusmin](https://cusmin.com) site.
|
100 |
-
|
101 |
> <strong>ADMIN THEMES</strong><br>
|
102 |
> AG Custom Admin plugin contains specially created professional and responsive themes for admin panel and login page, that can be applied easily within AG Custom Admin plugin with only few clicks!
|
103 |
> We will add more themes with better styles and theme options in future.
|
104 |
|
105 |
> For more info about AG Custom Admin themes, please go to [WordPress Admin Panel Themes](http://wordpressadminpanel.com/themes/home) site.
|
106 |
-
|
107 |
> <br><strong>CUSTOM ADMIN MENU ICONS</strong><br>
|
108 |
> AGL Custom Admin Menu Icons plugin, can be used to add or change admin menu icons, add custom colors and icons, and even draw custom icons<br>
|
109 |
> For more information about advanced admin menu icons management, please check [Admin Menu Icons Management](http://wordpressadminpanel.com/aglcami/home)
|
@@ -158,6 +158,13 @@ If you have the latest WordPress and plugin versions and you still experience so
|
|
158 |
|
159 |
== Change Log ==
|
160 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
161 |
= 5.6.2 =
|
162 |
* Updated readme.txt
|
163 |
|
@@ -500,6 +507,9 @@ If you have the latest WordPress and plugin versions and you still experience so
|
|
500 |
|
501 |
== Upgrade Notice ==
|
502 |
|
|
|
|
|
|
|
503 |
= 5.6.2 =
|
504 |
* Updated readme
|
505 |
|
3 |
Donate link: http://wordpressadminpanel.com/ag-custom-admin/
|
4 |
Tags: admin, customize, hide, change admin, themes, admin themes, admin bar, login page
|
5 |
Requires at least: 3.0
|
6 |
+
Tested up to: 4.6
|
7 |
+
Stable tag: 5.6.3
|
8 |
License: GPLv3 or later
|
9 |
License URI: https://www.gnu.org/licenses/gpl.txt
|
10 |
|
97 |
> <strong>CUSMIN</strong><br>
|
98 |
> Cusmin is premium version of AG Custom Admin that gives you more advanced features for customization and branding.<br><br>
|
99 |
> For more info about Cusmin, please go to [Cusmin](https://cusmin.com) site.
|
100 |
+
|
101 |
> <strong>ADMIN THEMES</strong><br>
|
102 |
> AG Custom Admin plugin contains specially created professional and responsive themes for admin panel and login page, that can be applied easily within AG Custom Admin plugin with only few clicks!
|
103 |
> We will add more themes with better styles and theme options in future.
|
104 |
|
105 |
> For more info about AG Custom Admin themes, please go to [WordPress Admin Panel Themes](http://wordpressadminpanel.com/themes/home) site.
|
106 |
+
<br>
|
107 |
> <br><strong>CUSTOM ADMIN MENU ICONS</strong><br>
|
108 |
> AGL Custom Admin Menu Icons plugin, can be used to add or change admin menu icons, add custom colors and icons, and even draw custom icons<br>
|
109 |
> For more information about advanced admin menu icons management, please check [Admin Menu Icons Management](http://wordpressadminpanel.com/aglcami/home)
|
158 |
|
159 |
== Change Log ==
|
160 |
|
161 |
+
= 5.6.3 =
|
162 |
+
* Compatibility with WordPress 4.6
|
163 |
+
* Resolved styling issue for AGCA admin menu button, when default menu is hidden
|
164 |
+
* Improved styling of admin bar logo
|
165 |
+
* A couple of visual improvements on input fields and text
|
166 |
+
* Removed dashboard empty box placeholders
|
167 |
+
|
168 |
= 5.6.2 =
|
169 |
* Updated readme.txt
|
170 |
|
507 |
|
508 |
== Upgrade Notice ==
|
509 |
|
510 |
+
= 5.6.3 =
|
511 |
+
* Compatibility with WordPress 4.6
|
512 |
+
|
513 |
= 5.6.2 =
|
514 |
* Updated readme
|
515 |
|
style/ag_style.css
CHANGED
@@ -769,4 +769,8 @@ td.ag_admin_menu_parent:hover {
|
|
769 |
|
770 |
#section_ag_colorizer_settings .color .agca_button span.clear:hover {
|
771 |
color: red;
|
|
|
|
|
|
|
|
|
772 |
}
|
769 |
|
770 |
#section_ag_colorizer_settings .color .agca_button span.clear:hover {
|
771 |
color: red;
|
772 |
+
}
|
773 |
+
/*Hide dashboard empty box containers*/
|
774 |
+
#dashboard-widgets div.empty-container{
|
775 |
+
display: none;
|
776 |
}
|
trunk/ag-custom-admin.html
ADDED
@@ -0,0 +1,95 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<html>
|
2 |
+
<head><title>WordPress Admin Themes - AG Custom Admin Plugin</title></head>
|
3 |
+
<body>
|
4 |
+
<h1><a href="http://wordpress.org/plugins/ag-custom-admin/">What is AG Custom Admin?</a></h1>
|
5 |
+
<p>AG Custom Admin is plugin for Wordpress that can be used for WordPress admin panel customizations. There are dozens of options available for customizations:</p>
|
6 |
+
<h2>Admin Bar Options</h2>
|
7 |
+
<ul>
|
8 |
+
<li>Hide admin bar completely</li>
|
9 |
+
<li>Hide admin bar on front end</li>
|
10 |
+
<li>Change admin bar logo and link</li>
|
11 |
+
<li>Hide admin bar WordPress logo</li>
|
12 |
+
<li>Add custom image in admin header</li>
|
13 |
+
<li>Add custom admin bar logo</li>
|
14 |
+
<li>Hide admin bar dropdown menus</li>
|
15 |
+
<li>Hide "New" dropdown items</li>
|
16 |
+
<li>Hide comments from admin bar</li>
|
17 |
+
<li>Hide updates from admin bar</li>
|
18 |
+
<li>Hide WordPress update notification bar</li>
|
19 |
+
<li>Hide default blog heading in admin bar</li>
|
20 |
+
<li>Change admin bar heading text</li>
|
21 |
+
<li>Hide Screen Options menu</li>
|
22 |
+
<li>Hide Help menu</li>
|
23 |
+
<li>Hide Favorite Actions</li>
|
24 |
+
<li>Change/remove Howdy text</li>
|
25 |
+
<li>Change Log out text</li>
|
26 |
+
<li>Log out button only</li>
|
27 |
+
</ul>
|
28 |
+
|
29 |
+
<h2>Admin Footer Options</h2>
|
30 |
+
<ul>
|
31 |
+
<li>Hide footer completely</li>
|
32 |
+
<li>Change/remove footer text</li>
|
33 |
+
<li>Change/remove footer version text</li>
|
34 |
+
</ul>
|
35 |
+
|
36 |
+
<h2>Dashboard Page Options</h2>
|
37 |
+
<ul>
|
38 |
+
<li>Hide Dashboard heading icon</li>
|
39 |
+
<li>Change Dashboard heading text</li>
|
40 |
+
<li>Add custom Dashboard content</li>
|
41 |
+
<li>Hide dashboard widgets</li>
|
42 |
+
</ul>
|
43 |
+
|
44 |
+
<h2>Login Page Options</h2>
|
45 |
+
<ul>
|
46 |
+
<li>Hide back to blog completely</li>
|
47 |
+
<li>Change login image </li>
|
48 |
+
<li>Change hyperlink on login image</li>
|
49 |
+
<li>Hide login image</li>
|
50 |
+
<li>Round corners on login boxes</li>
|
51 |
+
<li>Hide register and lost password links</li>
|
52 |
+
<li>Change hyperlink on register button</li>
|
53 |
+
</ul>
|
54 |
+
|
55 |
+
<h2>Admin Menu Options</h2>
|
56 |
+
<ul>
|
57 |
+
<li>Rename menu and submenu items</li>
|
58 |
+
<li>Remove menu and submenu items</li>
|
59 |
+
<li>Add new buttons with custom links</li>
|
60 |
+
<li>Remove icons from admin menu buttons</li>
|
61 |
+
<li>Remove spaces between admin menu buttons</li>
|
62 |
+
<li>Remove admin menu arrow on rollower</li>
|
63 |
+
<li>Round admin submenu popups </li>
|
64 |
+
<li>Add custom branding image above the admin menu</li>
|
65 |
+
<li>Add custom link to branding image</li>
|
66 |
+
<li>Admin menu auto-folding options for mobile devices</li>
|
67 |
+
</ul>
|
68 |
+
|
69 |
+
<h2>Colorizer</h2>
|
70 |
+
<ul>
|
71 |
+
<li>Change background and text colors on admin and login page </li>
|
72 |
+
<li>Change admin menu colors</li>
|
73 |
+
<li>Change widget colors</li>
|
74 |
+
</ul>
|
75 |
+
|
76 |
+
<h2>Advanced</h2>
|
77 |
+
<ul>
|
78 |
+
<li>Add custom CSS</li>
|
79 |
+
<li>Add custom JavaScript</li>
|
80 |
+
<li>Export/import customization settings</li>
|
81 |
+
</ul>
|
82 |
+
</br>
|
83 |
+
<h1><a href="http://wordpressadminpanel.com/themes/home">AG Custom Admin WordPress Themes</a></h1>
|
84 |
+
<p>From AGCA version 1.3 we introduce AG Custom Admin themes. With AGCA themes you can easily change your WordPress admin panel theme in matter of seconds!</p>
|
85 |
+
<p>Please check our <a href="http://wordpressadminpanel.com/themes/home">AG Custom Admin WordPress Themes</a> page for more info.</p>
|
86 |
+
</br>
|
87 |
+
<h1><a href="https://cusmin.com">Upgrade</a></h1>
|
88 |
+
<p>If you need even more features and premium support, you can upgrade to <a href="https://cusmin.com">Cusmin</a> - premium tool for advanced WordPress admin panel customization.</p>
|
89 |
+
</br>
|
90 |
+
<h1><a href="http://wordpressadminpanel.com/agca-support/">Support</a></h1>
|
91 |
+
<p>Feel free to check our <a href="http://wordpressadminpanel.com/agca-support/">support page</a> in case you have found any issues with your AGCA or AGCA themes features.</p>
|
92 |
+
<p>Happy blogging!</p>
|
93 |
+
</br>
|
94 |
+
</body>
|
95 |
+
</html>
|
trunk/images/agca.png
ADDED
Binary file
|
trunk/images/btn_donate_LG.gif
ADDED
Binary file
|
trunk/images/cusminlogo.png
ADDED
Binary file
|
trunk/languages/ag-custom-admin-hr.mo
ADDED
Binary file
|
trunk/languages/ag-custom-admin-hr.po
ADDED
@@ -0,0 +1,1296 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
# Translation of Development (trunk) in Croatian
|
2 |
+
# This file is distributed under the same license as the Development (trunk) package.
|
3 |
+
msgid ""
|
4 |
+
msgstr ""
|
5 |
+
"PO-Revision-Date: 2016-05-07 20:12:12+0000\n"
|
6 |
+
"MIME-Version: 1.0\n"
|
7 |
+
"Content-Type: text/plain; charset=UTF-8\n"
|
8 |
+
"Content-Transfer-Encoding: 8bit\n"
|
9 |
+
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
|
10 |
+
"X-Generator: GlotPress/2.1.0-alpha\n"
|
11 |
+
"Project-Id-Version: Development (trunk)\n"
|
12 |
+
|
13 |
+
#: plugin.php:88
|
14 |
+
msgid "Settings"
|
15 |
+
msgstr "Postavke"
|
16 |
+
|
17 |
+
#: plugin.php:89 plugin.php:295 plugin.php:1605 plugin.php:2149 plugin.php:2866
|
18 |
+
msgid "Admin Themes"
|
19 |
+
msgstr "Admin teme"
|
20 |
+
|
21 |
+
#: plugin.php:91
|
22 |
+
msgid "Support"
|
23 |
+
msgstr "Podrška"
|
24 |
+
|
25 |
+
#: plugin.php:92
|
26 |
+
msgid "Upgrade"
|
27 |
+
msgstr "Nadogradnja"
|
28 |
+
|
29 |
+
#: plugin.php:93 plugin.php:2151 plugin.php:2227
|
30 |
+
msgid "Donate"
|
31 |
+
msgstr "Doniranje"
|
32 |
+
|
33 |
+
#: plugin.php:220
|
34 |
+
msgid "AG Custom Admin theme image (do not delete)"
|
35 |
+
msgstr "AG Custom Admin slika teme (ne brisati)"
|
36 |
+
|
37 |
+
#: plugin.php:240
|
38 |
+
msgid "User is not administrator."
|
39 |
+
msgstr "Korisnik nije administrator."
|
40 |
+
|
41 |
+
#: plugin.php:252
|
42 |
+
msgid "Please try temporary disabling POST verification. Go to AG Custom Admin -> Advanced -> Temporary disable POST verification. Do not forget to un-check this option once you are done with customizations."
|
43 |
+
msgstr "Molimo pokušajte privremeno onemogućiti POST potvrdu. Idite na AG Custom Admin -> Napredno -> Privremeno onemogući POST potvrdu. Nemojte zaboraviti isključiti ovu opciju nakon što završite s prilagodbama."
|
44 |
+
|
45 |
+
#: plugin.php:255
|
46 |
+
msgid "Multi-site: Current user is not recognized as administrator."
|
47 |
+
msgstr "Multi-site: Trenutni korisnik nije prepoznat kao administrator."
|
48 |
+
|
49 |
+
#. translators: 1: User Id 2: Blog Id
|
50 |
+
#: plugin.php:262
|
51 |
+
msgid "Multi-site: User (%1$s) does not have access to this blog (%2$s)."
|
52 |
+
msgstr "Multi-site: Korisnik (%1$s) nema prava pristupa na blog (%2$s)."
|
53 |
+
|
54 |
+
#: plugin.php:270
|
55 |
+
msgid "User is not logged in."
|
56 |
+
msgstr "Korisnik nije prijavljen."
|
57 |
+
|
58 |
+
#: plugin.php:271
|
59 |
+
msgid "User can not manage options."
|
60 |
+
msgstr "Korisnik ne može upravljati opcijama."
|
61 |
+
|
62 |
+
#: plugin.php:276
|
63 |
+
msgid "Nonce verification failed."
|
64 |
+
msgstr "Nonce provjera nije uspjela."
|
65 |
+
|
66 |
+
#: plugin.php:411
|
67 |
+
msgid "There is an error in your custom JS script. Please fix it:"
|
68 |
+
msgstr "Došlo je do greške u prilagođenoj JS skripti. Molimo ispravite to:"
|
69 |
+
|
70 |
+
#: plugin.php:411
|
71 |
+
msgid "AG CUSTOM ADMIN -> Advanced -> Custom JavaScript"
|
72 |
+
msgstr "AG CUSTOM ADMIN -> Napredno -> Prilagođena JavaScript"
|
73 |
+
|
74 |
+
#: plugin.php:766
|
75 |
+
msgid "AGCA_Settings"
|
76 |
+
msgstr "AGCA_Postavke"
|
77 |
+
|
78 |
+
#: plugin.php:1061
|
79 |
+
msgid "Log Out"
|
80 |
+
msgstr "Odjava"
|
81 |
+
|
82 |
+
#: plugin.php:1308
|
83 |
+
msgid "This JavaScript error can stop AG Custom Admin plugin to work properly. If everything still works, you can ignore this notification."
|
84 |
+
msgstr "Ova JavaScript greška može obustaviti ispravan rad AG Custom Admin dodatka. Ako sve i dalje radi kako treba, možete zanemariti ovu obavijest."
|
85 |
+
|
86 |
+
#: plugin.php:1308
|
87 |
+
msgid "Possible solutions"
|
88 |
+
msgstr "Moguća rješenja"
|
89 |
+
|
90 |
+
#: plugin.php:1308
|
91 |
+
msgid "Make sure to have everything up to date: WordPress site, plugins and themes."
|
92 |
+
msgstr "Budite sigurni da je sve ažurirano: WordPress stranica, dodaci i teme."
|
93 |
+
|
94 |
+
#: plugin.php:1308
|
95 |
+
msgid "Try disabling plugins one by one to see if problem can be resolved this way. If so, one of disabled plugins caused this error."
|
96 |
+
msgstr "Pokušajte isključiti dodatke, jedan po jedan kako biste vidjeli da li se problem može riješiti na ovaj način. Ako može, jedan od isključenih dodataka je uzročnik problema."
|
97 |
+
|
98 |
+
#: plugin.php:1308
|
99 |
+
msgid "Check \"source\" path of this error. This could be indicator of the plugin/theme that caused the error."
|
100 |
+
msgstr "Provjerite putanju do ove greške. To bi mogao biti pokazivač na temu ili dodatak koji je uzročnik ove greške."
|
101 |
+
|
102 |
+
#: plugin.php:1308
|
103 |
+
msgid "If it\\'s obvious that error is thrown from a particular plugin/theme, please report this error to their support."
|
104 |
+
msgstr "U slučaju da je očigledno da je grešku prouzrokovao neki dodatak ili tema, molimo prijavite ovaj problem na stranici za podršku tog dodatka ili teme."
|
105 |
+
|
106 |
+
#: plugin.php:1308
|
107 |
+
msgid "Try activating default WordPress theme instead of your current theme."
|
108 |
+
msgstr "Pokušajte aktivirati zadanu WordPress temu umjesto trenutno aktivne teme."
|
109 |
+
|
110 |
+
#: plugin.php:1308
|
111 |
+
msgid "Advanced: Try fixing this issue manually: Navigate to the link above in your browser and open the source of the page (right click -> view page source) and find the line in code where it fails. You should access this file via FTP and try to fix this error on that line."
|
112 |
+
msgstr "Napredno: Pokušajte riješiti ovaj problem ručno: Otvorite poveznicu iznad u vašem pregledniku i otvorite izvorni kod stranice (desni klik -> pogledaj izvorni kod) i pronađite liniju koda gdje program ima problem. Ovoj datoteci možete pristupiti preko FTP protokola i pokušati riješiti problem na ovoj liniji koda."
|
113 |
+
|
114 |
+
#: plugin.php:1308
|
115 |
+
msgid "Contact us if nothing above helps. Please do not post errors that are caused by other plugins/themes to our support page. Contact their support instead. If you think that error is somehow related to AG Custom Admin plugin, or something unexpected happens, please report that on our"
|
116 |
+
msgstr "Kontaktirajte nas u slučaju da ništa od ovoga ne pomaže. Molimo ne šaljite nam greške koje su prouzrokovali drugi dodaci ili teme već probajte kontaktirati njihovu podršku. Ako mislite da je greška povezana sa AG Custom Admin dodatkom na neki način, ili ako vam se desio neki nepredviđeni problem, molimo prijavite to na našoj"
|
117 |
+
|
118 |
+
#: plugin.php:1308
|
119 |
+
msgid "SUPPORT PAGE"
|
120 |
+
msgstr "Stranici za podršku"
|
121 |
+
|
122 |
+
#: plugin.php:1311
|
123 |
+
msgid "AG Custom Admin caught an error on your site!"
|
124 |
+
msgstr "AG Custom Admin je pronašao grešku na stranici!"
|
125 |
+
|
126 |
+
#: plugin.php:1311
|
127 |
+
msgid "show/hide more..."
|
128 |
+
msgstr "prikaži/sakrij više..."
|
129 |
+
|
130 |
+
#: plugin.php:1337
|
131 |
+
msgid "AG Custom Admin caught a JavaScript on your site"
|
132 |
+
msgstr "AG Custom Admin je pronašao JavaScript grešku na stranici!"
|
133 |
+
|
134 |
+
#: plugin.php:1597
|
135 |
+
msgid "File for import is not selected!"
|
136 |
+
msgstr "Datoteka za uvoz nije odabrana!"
|
137 |
+
|
138 |
+
#: plugin.php:1598 plugin.php:2141 plugin.php:2751
|
139 |
+
msgid "General"
|
140 |
+
msgstr "Općenito"
|
141 |
+
|
142 |
+
#: plugin.php:1599 plugin.php:2142
|
143 |
+
msgid "Admin Bar"
|
144 |
+
msgstr "Admin traka"
|
145 |
+
|
146 |
+
#: plugin.php:1600 plugin.php:2143
|
147 |
+
msgid "Admin Footer"
|
148 |
+
msgstr "Admin podnožje"
|
149 |
+
|
150 |
+
#: plugin.php:1601 plugin.php:2144
|
151 |
+
msgid "Dashboard Page"
|
152 |
+
msgstr "Kontrolna ploča"
|
153 |
+
|
154 |
+
#: plugin.php:1602 plugin.php:2145
|
155 |
+
msgid "Login Page"
|
156 |
+
msgstr "Stranica za prijavu"
|
157 |
+
|
158 |
+
#: plugin.php:1603 plugin.php:2146
|
159 |
+
msgid "Admin Menu"
|
160 |
+
msgstr "Admin izbornik"
|
161 |
+
|
162 |
+
#: plugin.php:1604 plugin.php:2147
|
163 |
+
msgid "Colorizer"
|
164 |
+
msgstr "Bojanica"
|
165 |
+
|
166 |
+
#: plugin.php:1606 plugin.php:2148 plugin.php:2888
|
167 |
+
msgid "Advanced"
|
168 |
+
msgstr "Napredno"
|
169 |
+
|
170 |
+
#: plugin.php:1607
|
171 |
+
msgid "Remove"
|
172 |
+
msgstr "Ukloni"
|
173 |
+
|
174 |
+
#: plugin.php:1608
|
175 |
+
msgid "from menu"
|
176 |
+
msgstr "s izbornika"
|
177 |
+
|
178 |
+
#: plugin.php:1609
|
179 |
+
msgid "Rename"
|
180 |
+
msgstr "Promijeni ime"
|
181 |
+
|
182 |
+
#: plugin.php:1610
|
183 |
+
msgid "with this value"
|
184 |
+
msgstr "s ovom vrijednošću"
|
185 |
+
|
186 |
+
#: plugin.php:1611
|
187 |
+
msgid "sub-menu item"
|
188 |
+
msgstr "pod-izbornik stavka"
|
189 |
+
|
190 |
+
#: plugin.php:1612
|
191 |
+
msgid "open"
|
192 |
+
msgstr "otvoreno"
|
193 |
+
|
194 |
+
#: plugin.php:1613
|
195 |
+
msgid "Delete"
|
196 |
+
msgstr "Obriši"
|
197 |
+
|
198 |
+
#: plugin.php:1614
|
199 |
+
msgid "in"
|
200 |
+
msgstr "u"
|
201 |
+
|
202 |
+
#: plugin.php:1615
|
203 |
+
msgid "Save changes"
|
204 |
+
msgstr "Spremi promjene"
|
205 |
+
|
206 |
+
#: plugin.php:2132
|
207 |
+
msgid "POSITIVE FEEDBACK: I like this plugin!"
|
208 |
+
msgstr "POZITIVNA OCJENA: Volim ovaj dodatak!"
|
209 |
+
|
210 |
+
#: plugin.php:2135
|
211 |
+
msgid "NEGATIVE FEEDBACK: I don't like this plugin."
|
212 |
+
msgstr "NEGATIVNA OCJENA: Ne sviđa mi se ovaj dodatak."
|
213 |
+
|
214 |
+
#: plugin.php:2141 plugin.php:2163
|
215 |
+
msgid "General Settings"
|
216 |
+
msgstr "Opće postavke"
|
217 |
+
|
218 |
+
#: plugin.php:2142
|
219 |
+
msgid "Settings for admin bar"
|
220 |
+
msgstr "Postavke admin trake"
|
221 |
+
|
222 |
+
#: plugin.php:2143
|
223 |
+
msgid "Settings for admin footer"
|
224 |
+
msgstr "Postavke admin podnožja"
|
225 |
+
|
226 |
+
#: plugin.php:2144
|
227 |
+
msgid "Settings for Dashboard page"
|
228 |
+
msgstr "Postavke kontrolne ploče"
|
229 |
+
|
230 |
+
#: plugin.php:2145
|
231 |
+
msgid "Settings for Login page"
|
232 |
+
msgstr "Postavke stranice za prijavu"
|
233 |
+
|
234 |
+
#: plugin.php:2146
|
235 |
+
msgid "Settings for main admin menu"
|
236 |
+
msgstr "Postavke glavnog admin izbornika"
|
237 |
+
|
238 |
+
#: plugin.php:2147
|
239 |
+
msgid "Colorizer settings"
|
240 |
+
msgstr "Postavke Bojanice"
|
241 |
+
|
242 |
+
#: plugin.php:2148
|
243 |
+
msgid "My custom scripts"
|
244 |
+
msgstr "Moje skripte"
|
245 |
+
|
246 |
+
#: plugin.php:2149
|
247 |
+
msgid "AG Custom Admin Themes"
|
248 |
+
msgstr "AG Custom Admin teme"
|
249 |
+
|
250 |
+
#: plugin.php:2151
|
251 |
+
msgid "Do you like this plugin? You can support its future development by giving a donation by your choice"
|
252 |
+
msgstr "Da li vam se sviđa ovaj dodatak? Možete podržati njegov budući razvoj doniranjem po vašem izboru"
|
253 |
+
|
254 |
+
#: plugin.php:2161
|
255 |
+
msgid "All AG Custom Admin plugin's settings, except admin themes, are disabled. Please use"
|
256 |
+
msgstr "Sve postavke AG Custom Admin dodatka, osim admin tema su isključene. Molimo koristite"
|
257 |
+
|
258 |
+
#: plugin.php:2161
|
259 |
+
msgid "plugin to manage these settings."
|
260 |
+
msgstr "dodatak za upravljanje ovim postavkama."
|
261 |
+
|
262 |
+
#: plugin.php:2164
|
263 |
+
msgid "<strong>Tip: </strong>Move mouse cursor over the option label to see more information about an option"
|
264 |
+
msgstr "<strong>Savjet: </strong>Postavite pokazivač preko imena postavke kako biste saznali više informacija o postavci"
|
265 |
+
|
266 |
+
#: plugin.php:2170
|
267 |
+
msgid "Exclude AGCA admin from customizations"
|
268 |
+
msgstr "Iskljućite AGCA administratora iz prilagodbi"
|
269 |
+
|
270 |
+
#: plugin.php:2171
|
271 |
+
msgid "<h3>Applying customizations</h3><br><strong>Checked</strong> - apply to all users, except admin<br><strong>Not checked</strong> - apply to everyone</br></br><strong>Q</strong>: Who is AGCA administrator?</br><strong>A</strong>: Go to <i>General -> Security -> AGCA admin capability</i> and change capability option to define administrators. Only the users with selected capability will be AGCA administrators.</br>"
|
272 |
+
msgstr "<h3>Primjena prilagodbi</h3><br><strong>Odabrano</strong> - primijeni na sve korisnike osim administratora<br><strong>Ugašeno</strong> - primijeni na sve korisnike</br></br><strong>Pitanje</strong>: Tko je AGCA administrator?</br><strong>Odgovor</strong>: Odi na <i>Općenito -> Sigurnost -> AGCA administrator ima osobnost</i> i promijeni postavku osobnosti koja će razlikovati AGCA administratora od ostalih korisnika. Samo korisnici sa odabranom osobnošću mogu biti AGCA administratori.</br>"
|
273 |
+
|
274 |
+
#: plugin.php:2174
|
275 |
+
msgid "Pages"
|
276 |
+
msgstr "Stranice"
|
277 |
+
|
278 |
+
#: plugin.php:2179
|
279 |
+
msgid "\"Screen Options\" menu"
|
280 |
+
msgstr "Izbornik \"Postavke ekrana\""
|
281 |
+
|
282 |
+
#: plugin.php:2180 plugin.php:2187
|
283 |
+
msgid "Hides the menu from the admin pages (located on the top right corner of the page, below the admin bar)"
|
284 |
+
msgstr "Sakriva izbornik sa admin stranica (lociran na gornjem desnom uglu stranice, ispod admin trake)"
|
285 |
+
|
286 |
+
#: plugin.php:2186
|
287 |
+
msgid "\"Help\" menu"
|
288 |
+
msgstr "Izbornik \"Pomoć\""
|
289 |
+
|
290 |
+
#: plugin.php:2190
|
291 |
+
msgid "Security"
|
292 |
+
msgstr "Sigurnost"
|
293 |
+
|
294 |
+
#: plugin.php:2196
|
295 |
+
msgid "Choose which WordPress capability will be used to distinguish AGCA admin users from other users.</br>AGCA admin users have access to AGCA settings. AGCA administrators can be excluded from customizations if that option is checked"
|
296 |
+
msgstr "Odaberi koja WordPress osobnost će izdvajati AGCA administratore od ostalih korisnika.</br>Samo AGCA administratori imaju pristup AGCA postavkama. AGCA administratori mogu biti isključeni iz prilagodbi ako je ta postavka uključena"
|
297 |
+
|
298 |
+
#: plugin.php:2196
|
299 |
+
msgid "AGCA admin capability"
|
300 |
+
msgstr "AGCA administrator ima sposobnost"
|
301 |
+
|
302 |
+
#: plugin.php:2198
|
303 |
+
msgid "<strong>Edit Dashboard</strong> - selected by default"
|
304 |
+
msgstr "<strong>Izmijena nadzorne ploče</strong> - zadana postavka"
|
305 |
+
|
306 |
+
#: plugin.php:2199
|
307 |
+
msgid "Find more information about"
|
308 |
+
msgstr "Pronađite više informacija o"
|
309 |
+
|
310 |
+
#: plugin.php:2199
|
311 |
+
msgid "WordPress capabilities"
|
312 |
+
msgstr "WordPress osobnosti"
|
313 |
+
|
314 |
+
#: plugin.php:2205
|
315 |
+
msgid "Feedback and Support"
|
316 |
+
msgstr "Vaš dojam i podrška"
|
317 |
+
|
318 |
+
#: plugin.php:2212
|
319 |
+
msgid "Idea for improvement"
|
320 |
+
msgstr "Ideja za unaprijeđenje"
|
321 |
+
|
322 |
+
#: plugin.php:2212
|
323 |
+
msgid "submit your idea for improvement"
|
324 |
+
msgstr "pošaljite svoju ideju za unaprijeđenje"
|
325 |
+
|
326 |
+
#: plugin.php:2215
|
327 |
+
msgid "Report an issue"
|
328 |
+
msgstr "Prijavite problem"
|
329 |
+
|
330 |
+
#: plugin.php:2215
|
331 |
+
msgid "If plugin does not work as expected"
|
332 |
+
msgstr "Ako dodatan ne radi kako se očekuje"
|
333 |
+
|
334 |
+
#: plugin.php:2218
|
335 |
+
msgid "Idea for admin theme"
|
336 |
+
msgstr "Ideja za admin temu"
|
337 |
+
|
338 |
+
#: plugin.php:2218
|
339 |
+
msgid "submit your idea for admin theme"
|
340 |
+
msgstr "pošaljite svoju ideju za admin temu"
|
341 |
+
|
342 |
+
#: plugin.php:2221
|
343 |
+
msgid "Add a review on WordPress.org"
|
344 |
+
msgstr "Dodaj recenziju na WordPress.org"
|
345 |
+
|
346 |
+
#: plugin.php:2221
|
347 |
+
msgid "add your review and rate us on WordPress.org"
|
348 |
+
msgstr "dodajte svoju recenziju i ocjenite nas na WordPress.org"
|
349 |
+
|
350 |
+
#: plugin.php:2224
|
351 |
+
msgid "Visit our support site"
|
352 |
+
msgstr "Posjetite našu stranicu za podršku"
|
353 |
+
|
354 |
+
#: plugin.php:2224
|
355 |
+
msgid "for any other questions, feel free to contact us"
|
356 |
+
msgstr "za sva ostala pitanja, slobodno nas kontaktirajte"
|
357 |
+
|
358 |
+
#: plugin.php:2227
|
359 |
+
msgid "only if you find this plugin helpful for your needs"
|
360 |
+
msgstr "samo u slučaju da ovaj dodatak odgovara vašim potrebama"
|
361 |
+
|
362 |
+
#: plugin.php:2236
|
363 |
+
msgid "Admin Bar Settings"
|
364 |
+
msgstr "Postavke admin trake"
|
365 |
+
|
366 |
+
#: plugin.php:2245
|
367 |
+
msgid "Hides admin bar completely from the admin panel"
|
368 |
+
msgstr "Uklanja admin traku sa administracijske ploče"
|
369 |
+
|
370 |
+
#: plugin.php:2247
|
371 |
+
msgid "<strong>Admin bar</strong>"
|
372 |
+
msgstr "<strong>Admin traka</strong>"
|
373 |
+
|
374 |
+
#: plugin.php:2258
|
375 |
+
msgid "Check this if you want to show Log Out button in top right corner of the admin page"
|
376 |
+
msgstr "Odaberite ako želite da prikažete dugme Odjavi u gornjem desnom uglu administracijske ploče"
|
377 |
+
|
378 |
+
#: plugin.php:2261
|
379 |
+
msgid "<strong>(but show Log Out button)</strong>"
|
380 |
+
msgstr "<strong>(ali prikaži dugme za odjavu)</strong>"
|
381 |
+
|
382 |
+
#: plugin.php:2265
|
383 |
+
msgid "Removes admin bar customizations for authenticated users on site pages.</br>This option can be useful if you want to remove AGCA scripts (styles, JavaScript) on your website for any reason."
|
384 |
+
msgstr "Uklanja prilagodbe sa admin trake za prijavljene korisnike na web stranicama.</br>Ova postavka može biti korisna ako želite ukloniti AGCA skripte (stilovi i JavaScript) na vašoj web stranici iz bilo kojeg razloga."
|
385 |
+
|
386 |
+
#: plugin.php:2268
|
387 |
+
msgid "Site pages: Admin bar customizations"
|
388 |
+
msgstr "Web stranica: postavke admin trake"
|
389 |
+
|
390 |
+
#: plugin.php:2272
|
391 |
+
msgid "Hides admin bar completely for authenticated users on site pages."
|
392 |
+
msgstr "Sakriva admin traku za prijavljene korisnike na web stranici."
|
393 |
+
|
394 |
+
#: plugin.php:2275
|
395 |
+
msgid "Site pages: Admin bar"
|
396 |
+
msgstr "Web stranica: admin traka"
|
397 |
+
|
398 |
+
#: plugin.php:2278
|
399 |
+
msgid "Left Side"
|
400 |
+
msgstr "Lijeva strana"
|
401 |
+
|
402 |
+
#: plugin.php:2281
|
403 |
+
msgid "Change default WordPress logo with custom image."
|
404 |
+
msgstr "Promijeni zadani WordPress logo sa novom slikom."
|
405 |
+
|
406 |
+
#: plugin.php:2283
|
407 |
+
msgid "Admin bar logo"
|
408 |
+
msgstr "Logo na admin traci"
|
409 |
+
|
410 |
+
#: plugin.php:2284
|
411 |
+
msgid "Image URL (maximum height is 28px)"
|
412 |
+
msgstr "Lokacija slike (maksimalna visina je 28px)"
|
413 |
+
|
414 |
+
#: plugin.php:2288
|
415 |
+
msgid "Custom link on admin bar logo."
|
416 |
+
msgstr "Prilagođena poveznica na logu admin trake."
|
417 |
+
|
418 |
+
#: plugin.php:2288
|
419 |
+
msgid "for blog URL."
|
420 |
+
msgstr "za blog URL."
|
421 |
+
|
422 |
+
#: plugin.php:2288
|
423 |
+
msgid "to switch betweent admin and site area"
|
424 |
+
msgstr "za promjenu između admin i web dijela"
|
425 |
+
|
426 |
+
#: plugin.php:2290
|
427 |
+
msgid "Admin bar logo link"
|
428 |
+
msgstr "Poveznica na logu admin trake"
|
429 |
+
|
430 |
+
#: plugin.php:2291
|
431 |
+
msgid "Link"
|
432 |
+
msgstr "Poveznica"
|
433 |
+
|
434 |
+
#: plugin.php:2295
|
435 |
+
msgid "Customize WordPress title using custom title template.</br></br>Examples"
|
436 |
+
msgstr "Prilagodi WordPress naslov korištenjem predloška prilagođenog naslova.</br></br>Primjeri"
|
437 |
+
|
438 |
+
#: plugin.php:2295
|
439 |
+
msgid "will be"
|
440 |
+
msgstr "će biti"
|
441 |
+
|
442 |
+
#: plugin.php:2297
|
443 |
+
msgid "Page title template"
|
444 |
+
msgstr "Predložak naslova stranice"
|
445 |
+
|
446 |
+
#: plugin.php:2298
|
447 |
+
msgid "Please use"
|
448 |
+
msgstr "Molimo koristite"
|
449 |
+
|
450 |
+
#: plugin.php:2298
|
451 |
+
msgid "and"
|
452 |
+
msgstr "i"
|
453 |
+
|
454 |
+
#: plugin.php:2298
|
455 |
+
msgid "in your title template.nd"
|
456 |
+
msgstr "u vašem predlošku naslova"
|
457 |
+
|
458 |
+
#: plugin.php:2302
|
459 |
+
msgid "Add custom image on the top of the admin content."
|
460 |
+
msgstr "Dodaj prilagođenu sliku na vrhu admin sadržaja."
|
461 |
+
|
462 |
+
#: plugin.php:2304
|
463 |
+
msgid "Header image"
|
464 |
+
msgstr "Slika zaglavlja"
|
465 |
+
|
466 |
+
#: plugin.php:2305 plugin.php:2606 plugin.php:2812
|
467 |
+
msgid "Image URL"
|
468 |
+
msgstr "URL slike"
|
469 |
+
|
470 |
+
#: plugin.php:2311
|
471 |
+
msgid "Hides small Wordpress logo from the admin bar"
|
472 |
+
msgstr "Sakriva mali WordPress logo sa admin trake"
|
473 |
+
|
474 |
+
#: plugin.php:2313
|
475 |
+
msgid "WordPress logo"
|
476 |
+
msgstr "WordPress logo"
|
477 |
+
|
478 |
+
#: plugin.php:2318
|
479 |
+
msgid "Hides WordPress context menu on WordPress logo icon from admin bar"
|
480 |
+
msgstr "Sakriva WordPress kontekstni izbornik na ikonici WordPress loga u admin traci"
|
481 |
+
|
482 |
+
#: plugin.php:2320
|
483 |
+
msgid "WordPress logo context menu"
|
484 |
+
msgstr "Kontekstni izbornik na WordPress logu"
|
485 |
+
|
486 |
+
#: plugin.php:2325
|
487 |
+
msgid "Hides site name link from the admin bar"
|
488 |
+
msgstr "Sakriva poveznicu na imenu stranice u admin traci"
|
489 |
+
|
490 |
+
#: plugin.php:2327
|
491 |
+
msgid "Site name"
|
492 |
+
msgstr "Ime stranice"
|
493 |
+
|
494 |
+
#: plugin.php:2332
|
495 |
+
msgid "Hides update notifications from admin bar"
|
496 |
+
msgstr "Sakriva obavijesti ažuriranja na admin traci"
|
497 |
+
|
498 |
+
#: plugin.php:2334
|
499 |
+
msgid "Update notifications"
|
500 |
+
msgstr "Obavijesti ažuriranja"
|
501 |
+
|
502 |
+
#: plugin.php:2339
|
503 |
+
msgid "Hides comments block from admin bar"
|
504 |
+
msgstr "Sakriva blok komentara u admin traci"
|
505 |
+
|
506 |
+
#: plugin.php:2341
|
507 |
+
msgid "\"Comments\" block"
|
508 |
+
msgstr "Blok \"Komentari\""
|
509 |
+
|
510 |
+
#: plugin.php:2349
|
511 |
+
msgid "Hides \"+ New\" block and its context menu from admin bar"
|
512 |
+
msgstr "Sakriva \"+ Novi\" blok i njegov padajući izbornik sa admin trake"
|
513 |
+
|
514 |
+
#: plugin.php:2351
|
515 |
+
msgid "\"+ New\" block"
|
516 |
+
msgstr "\"+ Novi\" blok"
|
517 |
+
|
518 |
+
#: plugin.php:2361
|
519 |
+
msgid "Hides \"Post\" sub-menu from \"+ New\" block on admin bar"
|
520 |
+
msgstr "Sakriva \"Objava\" pod-izbornik sa \"+ Novi\" bloka na admin traci"
|
521 |
+
|
522 |
+
#: plugin.php:2363
|
523 |
+
msgid "\"+ New\" -> Post sub-menu"
|
524 |
+
msgstr "\"+ Novi\" -> Objava pod-izbornik"
|
525 |
+
|
526 |
+
#: plugin.php:2371
|
527 |
+
msgid "Hides \"Link\" sub-menu from \"+ New\" block on admin bar"
|
528 |
+
msgstr "Sakriva \"Veza\" pod-izbornik sa \"+ Novi\" bloka na admin traci"
|
529 |
+
|
530 |
+
#: plugin.php:2373
|
531 |
+
msgid "\"+ New\" -> Link sub-menu"
|
532 |
+
msgstr "\"+ Novi\" -> Veza pod-izbornik"
|
533 |
+
|
534 |
+
#: plugin.php:2381
|
535 |
+
msgid "Hides \"Page\" sub-menu from \"+ New\" block on admin bar"
|
536 |
+
msgstr "Sakriva \"Stranica\" pod-izbornik sa \"+ Novi\" bloka na admin traci"
|
537 |
+
|
538 |
+
#: plugin.php:2383
|
539 |
+
msgid "\"+ New\" -> Page sub-menu"
|
540 |
+
msgstr "\"+ Novi\" -> Stranica pod-izbornik"
|
541 |
+
|
542 |
+
#: plugin.php:2391
|
543 |
+
msgid "Hides \"User\" sub-menu from \"+ New\" block on admin bar"
|
544 |
+
msgstr "Sakriva \"Korisnik\" pod-izbornik sa \"+ Novi\" bloka na admin traci"
|
545 |
+
|
546 |
+
#: plugin.php:2393
|
547 |
+
msgid "\"+ New\" -> User sub-menu"
|
548 |
+
msgstr "\"+ Novi\" -> Korisnik pod-izbornik"
|
549 |
+
|
550 |
+
#: plugin.php:2401
|
551 |
+
msgid "Hides \"Media\" sub-menu from \"+ New\" block on admin bar"
|
552 |
+
msgstr "Sakriva \"Medijski zapisi\" pod-izbornik sa \"+ Novi\" bloka na admin traci"
|
553 |
+
|
554 |
+
#: plugin.php:2403
|
555 |
+
msgid "\"+ New\" -> Media sub-menu"
|
556 |
+
msgstr "\"+ Novi\" -> Medij pod-izbornik"
|
557 |
+
|
558 |
+
#: plugin.php:2408
|
559 |
+
msgid "Hides \"Admin themes\" from admin bar"
|
560 |
+
msgstr "Sakriva \"Admin teme\" sa admin trake"
|
561 |
+
|
562 |
+
#: plugin.php:2410
|
563 |
+
msgid "\"Admin themes\""
|
564 |
+
msgstr "\"Admin teme\""
|
565 |
+
|
566 |
+
#: plugin.php:2414
|
567 |
+
msgid "Adds custom text in admin top bar."
|
568 |
+
msgstr "Dodaje prilagođeni tekst u admin traci."
|
569 |
+
|
570 |
+
#: plugin.php:2416
|
571 |
+
msgid "Custom blog heading"
|
572 |
+
msgstr "Prilagođeni naslov bloga"
|
573 |
+
|
574 |
+
#: plugin.php:2417
|
575 |
+
msgid "<strong>Tip: </strong>You can use HTML tags like"
|
576 |
+
msgstr "<strong>Savjet: </strong>Možete koristiti HTML elemente kao"
|
577 |
+
|
578 |
+
#: plugin.php:2417
|
579 |
+
msgid "or"
|
580 |
+
msgstr "ili"
|
581 |
+
|
582 |
+
#: plugin.php:2423
|
583 |
+
msgid "Hides yellow bar with information about new WordPress release"
|
584 |
+
msgstr "Sakriva žutu traku sa informacijama o novoj WordPress inačici"
|
585 |
+
|
586 |
+
#: plugin.php:2425
|
587 |
+
msgid "Update WordPress notification"
|
588 |
+
msgstr "Obavijesti nove inačice WordPressa"
|
589 |
+
|
590 |
+
#: plugin.php:2428
|
591 |
+
msgid "Right Side"
|
592 |
+
msgstr "Desna strana"
|
593 |
+
|
594 |
+
#: plugin.php:2432
|
595 |
+
msgid "Change Howdy text"
|
596 |
+
msgstr "Promjenite \"Kako ste\" text"
|
597 |
+
|
598 |
+
#: plugin.php:2436
|
599 |
+
msgid "Put 'Exit', for example"
|
600 |
+
msgstr "Utipkajte npr. \"Izlaz\""
|
601 |
+
|
602 |
+
#: plugin.php:2438
|
603 |
+
msgid "Change Log out text"
|
604 |
+
msgstr "Promjeniti izlazni text"
|
605 |
+
|
606 |
+
#: plugin.php:2444
|
607 |
+
msgid "\"Edit My Profile\" option from dropdown menu"
|
608 |
+
msgstr "\"Promjeni moj profil\" opcija na padajućem izborniku"
|
609 |
+
|
610 |
+
#: plugin.php:2448
|
611 |
+
msgid "If selected, hides all elements in top right corner, except Log Out button"
|
612 |
+
msgstr "Ako je odabrano, sakriva sve elemente u gornjem desnom uglu, osim dugmeta za odjavu"
|
613 |
+
|
614 |
+
#: plugin.php:2450
|
615 |
+
msgid "Log out only"
|
616 |
+
msgstr "Samo \"Odjava\" dugme"
|
617 |
+
|
618 |
+
#: plugin.php:2459
|
619 |
+
msgid "Admin Footer Settings"
|
620 |
+
msgstr "Opcije admin podnožja"
|
621 |
+
|
622 |
+
#: plugin.php:2467
|
623 |
+
msgid "Hides footer with all elements"
|
624 |
+
msgstr "Sakriva podnožje sa svim elementima"
|
625 |
+
|
626 |
+
#: plugin.php:2469
|
627 |
+
msgid "<strong>Footer</strong>"
|
628 |
+
msgstr "<strong>Podnožje</strong>"
|
629 |
+
|
630 |
+
#: plugin.php:2472
|
631 |
+
msgid "Footer Options"
|
632 |
+
msgstr "Opcije podnožja"
|
633 |
+
|
634 |
+
#: plugin.php:2476
|
635 |
+
msgid "Hides default text in footer"
|
636 |
+
msgstr "Sakriva zadani tekst u podnožju"
|
637 |
+
|
638 |
+
#: plugin.php:2478
|
639 |
+
msgid "Footer text"
|
640 |
+
msgstr "Tekst podnožja"
|
641 |
+
|
642 |
+
#: plugin.php:2482
|
643 |
+
msgid "Replaces text 'Thank you for creating with WordPress' with custom text"
|
644 |
+
msgstr "Mijenja tekst 'Hvala što kreirate sa WordPress-om' sa korisnikovim tekstom"
|
645 |
+
|
646 |
+
#: plugin.php:2484
|
647 |
+
msgid "Change footer text"
|
648 |
+
msgstr "Promjena teksta podnožja"
|
649 |
+
|
650 |
+
#: plugin.php:2489
|
651 |
+
msgid "Hides text 'Get Version ...' on right"
|
652 |
+
msgstr "Sakriva tekst 'Inačica..' u desnom uglu"
|
653 |
+
|
654 |
+
#: plugin.php:2491
|
655 |
+
msgid "Version text"
|
656 |
+
msgstr "Tekst inačice"
|
657 |
+
|
658 |
+
#: plugin.php:2495
|
659 |
+
msgid "Replaces text 'Get Version ...' with custom text"
|
660 |
+
msgstr "Mijenja tekst 'Inačica..' sa korisnikovim tekstom"
|
661 |
+
|
662 |
+
#: plugin.php:2497
|
663 |
+
msgid "Change version text"
|
664 |
+
msgstr "Promijenite tekst inačice"
|
665 |
+
|
666 |
+
#: plugin.php:2505
|
667 |
+
msgid "Dashboard Page Settings"
|
668 |
+
msgstr "Postavke stranice kontrolne ploče"
|
669 |
+
|
670 |
+
#: plugin.php:2509
|
671 |
+
msgid "Dashboard Page Options"
|
672 |
+
msgstr "Postavke stranice kontrolne ploče"
|
673 |
+
|
674 |
+
#: plugin.php:2512
|
675 |
+
msgid "Main heading ('Dashboard') on Dashboard page"
|
676 |
+
msgstr "Glavni naslov ('Kontrolna ploča') na stranici kontrolne ploče "
|
677 |
+
|
678 |
+
#: plugin.php:2514
|
679 |
+
msgid "Change Dashboard heading text"
|
680 |
+
msgstr "Promjena naslova stranice kontrolne ploče"
|
681 |
+
|
682 |
+
#: plugin.php:2520
|
683 |
+
msgid "Adds custom text (or HTML) between heading and widgets area on Dashboard page"
|
684 |
+
msgstr "Dodaje korisnikov tekst (ili HTML) između naslova i dodataka na stranici kontrolne ploče"
|
685 |
+
|
686 |
+
#: plugin.php:2520
|
687 |
+
msgid "Add custom Dashboard content<br> <em>(text or HTML content)"
|
688 |
+
msgstr "Dodaj svoj sadržaj<br> <em>(tekst ili HTML)"
|
689 |
+
|
690 |
+
#: plugin.php:2528
|
691 |
+
msgid "Dashboard Widgets Options"
|
692 |
+
msgstr "Opcije dodataka kontrolne ploče"
|
693 |
+
|
694 |
+
#: plugin.php:2533
|
695 |
+
msgid "Note"
|
696 |
+
msgstr "Bilješka"
|
697 |
+
|
698 |
+
#: plugin.php:2533
|
699 |
+
msgid "These settings override settings in Screen options on Dashboard page."
|
700 |
+
msgstr "Ove opcije će zaobići postavne unutar Opcija zaslona na stranici kontrolne ploče."
|
701 |
+
|
702 |
+
#: plugin.php:2539
|
703 |
+
msgid "Hides Welcome WordPress widget"
|
704 |
+
msgstr "Sakriva Dobro došli u WordPress widget na početnoj stranici"
|
705 |
+
|
706 |
+
#: plugin.php:2541
|
707 |
+
msgid "\"Welcome\" widget"
|
708 |
+
msgstr "\"Dobro došli\" widget"
|
709 |
+
|
710 |
+
#: plugin.php:2546
|
711 |
+
msgid "Hides Activity dashboard widget"
|
712 |
+
msgstr "Sakriva Aktivnosti dodatak na kontrolnoj ploči"
|
713 |
+
|
714 |
+
#: plugin.php:2548
|
715 |
+
msgid "\"Activity\" widget"
|
716 |
+
msgstr "\"Aktivnosti\" dodatak"
|
717 |
+
|
718 |
+
#: plugin.php:2553
|
719 |
+
msgid "Hides Quick Draft dashboard widget"
|
720 |
+
msgstr "Sakriva \"Brzi članak\" dodatak na kontrolnoj ploči"
|
721 |
+
|
722 |
+
#: plugin.php:2555
|
723 |
+
msgid "\"Quick Draft\" widget"
|
724 |
+
msgstr "\"Brzi članak\" dodatak"
|
725 |
+
|
726 |
+
#: plugin.php:2560
|
727 |
+
msgid "Hides At a Glance dashboard widget"
|
728 |
+
msgstr "Sakriva \"Na prvi pogled\" dodatak na kontrolnoj ploči"
|
729 |
+
|
730 |
+
#: plugin.php:2562
|
731 |
+
msgid "\"At a Glance\" widget"
|
732 |
+
msgstr "\"Na prvi pogled\" widget"
|
733 |
+
|
734 |
+
#: plugin.php:2568
|
735 |
+
msgid "This is 'WordPress News' or 'WordPress Development Blog' widget in older WordPress versions"
|
736 |
+
msgstr "Ovo je \"WordPress novosti\" ili \"WordPress razvojni blog\" dodatak u starijim inačicama WordPess-a"
|
737 |
+
|
738 |
+
#: plugin.php:2569
|
739 |
+
msgid "\"WordPress News\" widget"
|
740 |
+
msgstr "\"WordPress Novosti\" dodatak"
|
741 |
+
|
742 |
+
#: plugin.php:2575
|
743 |
+
msgid "This is 'Other WordPress News' widget by default"
|
744 |
+
msgstr "Ovo je 'Ostale novosti WordPress-a' zadani dodatak"
|
745 |
+
|
746 |
+
#: plugin.php:2576
|
747 |
+
msgid "Secondary widget area"
|
748 |
+
msgstr "Sekundarno polje dodataka"
|
749 |
+
|
750 |
+
#: plugin.php:2583
|
751 |
+
msgid "Login Page Settings"
|
752 |
+
msgstr "Opcije stranice za prijavu"
|
753 |
+
|
754 |
+
#: plugin.php:2587
|
755 |
+
msgid "Login Page Options"
|
756 |
+
msgstr "Opcije stranice za prijavu"
|
757 |
+
|
758 |
+
#: plugin.php:2592
|
759 |
+
msgid "Hide back to blog block"
|
760 |
+
msgstr "Sakrij \"Natrag na blog\""
|
761 |
+
|
762 |
+
#: plugin.php:2593
|
763 |
+
msgid "Back to blog text"
|
764 |
+
msgstr "Natrag na blog tekst"
|
765 |
+
|
766 |
+
#: plugin.php:2598
|
767 |
+
msgid "Changes '<- Back to ...' text in top bar on Login page"
|
768 |
+
msgstr "Mijenja '<- Natrag na ...' tekst na stranici za prijavu"
|
769 |
+
|
770 |
+
#: plugin.php:2599
|
771 |
+
msgid "Change back to blog text"
|
772 |
+
msgstr "Promijenite tekst Natrag na blog"
|
773 |
+
|
774 |
+
#: plugin.php:2603
|
775 |
+
msgid "If this field is not empty, image from provided url will be visible on Login page"
|
776 |
+
msgstr "Ako ovo polje nije prazno, slika sa URL lokacije će biti stavljena na stranicu za prijavu"
|
777 |
+
|
778 |
+
#: plugin.php:2605
|
779 |
+
msgid "Change Login header image"
|
780 |
+
msgstr "Promjena slike na stranici za prijavu"
|
781 |
+
|
782 |
+
#: plugin.php:2610
|
783 |
+
msgid "Put here custom link to a web location, that will be triggered on image click"
|
784 |
+
msgstr "Promjena poveznice na slici na stranici za prijavu"
|
785 |
+
|
786 |
+
#: plugin.php:2612
|
787 |
+
msgid "Change link on login image"
|
788 |
+
msgstr "Promjena poveznice na slici na stranici za prijavu"
|
789 |
+
|
790 |
+
#: plugin.php:2613
|
791 |
+
msgid "For blog URL use"
|
792 |
+
msgstr "Za blog URL koristite"
|
793 |
+
|
794 |
+
#: plugin.php:2618
|
795 |
+
msgid "Hides login image completely"
|
796 |
+
msgstr "Sakriva sliku sa stranice za prijavu"
|
797 |
+
|
798 |
+
#: plugin.php:2620
|
799 |
+
msgid "Login header image"
|
800 |
+
msgstr "Slika zaglavlja na stranici za prijavu"
|
801 |
+
|
802 |
+
#: plugin.php:2624
|
803 |
+
msgid "Rounds box on login page"
|
804 |
+
msgstr "Zaokružuje ivice na prozoru za prijavu"
|
805 |
+
|
806 |
+
#: plugin.php:2636 plugin.php:2801
|
807 |
+
msgid "Size of rounded box curve"
|
808 |
+
msgstr "Veličina zakrivljenosti uglova"
|
809 |
+
|
810 |
+
#: plugin.php:2638
|
811 |
+
msgid "Round box corners - size"
|
812 |
+
msgstr "Zakrivljenost uglova - veličina"
|
813 |
+
|
814 |
+
#: plugin.php:2640 plugin.php:2805
|
815 |
+
msgid "(Size in px)"
|
816 |
+
msgstr "(Veličina u pikselima)"
|
817 |
+
|
818 |
+
#: plugin.php:2645
|
819 |
+
msgid "Hides register link on login page"
|
820 |
+
msgstr "Sakriva poveznicu za registraciju na stranici za prijavu"
|
821 |
+
|
822 |
+
#: plugin.php:2647
|
823 |
+
msgid "Register link"
|
824 |
+
msgstr "Veza za registraciju"
|
825 |
+
|
826 |
+
#: plugin.php:2657
|
827 |
+
msgid "Change register link on login page to point to your custom registration page."
|
828 |
+
msgstr "Promjena poveznice za registriranje na stranici za prijavu prema prilagođenoj stranici za registriranje."
|
829 |
+
|
830 |
+
#: plugin.php:2659
|
831 |
+
msgid "Change register link"
|
832 |
+
msgstr "Promjenite vezu za registraciju"
|
833 |
+
|
834 |
+
#: plugin.php:2660
|
835 |
+
msgid "Link to new registration page"
|
836 |
+
msgstr "Veza na novu stranicu za registraciju"
|
837 |
+
|
838 |
+
#: plugin.php:2665
|
839 |
+
msgid "Hides lost password link on login page"
|
840 |
+
msgstr "Sakriva poveznicu za izgubljenu lozinku na stranici za prijavu"
|
841 |
+
|
842 |
+
#: plugin.php:2667
|
843 |
+
msgid "Lost password link"
|
844 |
+
msgstr "Veza za izgubljenu zaporku"
|
845 |
+
|
846 |
+
#: plugin.php:2676 plugin.php:2744
|
847 |
+
msgid "Admin Menu Settings"
|
848 |
+
msgstr "Opcije admin izbornika"
|
849 |
+
|
850 |
+
#: plugin.php:2679 plugin.php:2683
|
851 |
+
msgid "Apply admin menu customizations"
|
852 |
+
msgstr "Primjeni prilagodbe admin izbornika"
|
853 |
+
|
854 |
+
#: plugin.php:2684 plugin.php:2829
|
855 |
+
msgid "YES"
|
856 |
+
msgstr "DA"
|
857 |
+
|
858 |
+
#: plugin.php:2686
|
859 |
+
msgid "Do not apply admin menu customizations"
|
860 |
+
msgstr "Ne primjenjuj prilagodbe admin izbornika"
|
861 |
+
|
862 |
+
#: plugin.php:2687 plugin.php:2829
|
863 |
+
msgid "NO"
|
864 |
+
msgstr "NE"
|
865 |
+
|
866 |
+
#: plugin.php:2692
|
867 |
+
msgid "Admin menu"
|
868 |
+
msgstr "Admin izbornik"
|
869 |
+
|
870 |
+
#: plugin.php:2693
|
871 |
+
msgid "Hides admin menu completely (administrator can see 'AG custom admin' button)"
|
872 |
+
msgstr "Sakriva admin izbornik kompletno (administrator vidi 'AG Custom Admin dugme')"
|
873 |
+
|
874 |
+
#: plugin.php:2696
|
875 |
+
msgid "Edit / Remove Menu Items"
|
876 |
+
msgstr "Promjena / Uklanjanje stavki admin izbornika"
|
877 |
+
|
878 |
+
#: plugin.php:2700
|
879 |
+
msgid "Reset menu settings to default values"
|
880 |
+
msgstr "Postavite postavke izbornika na zadane"
|
881 |
+
|
882 |
+
#: plugin.php:2700
|
883 |
+
msgid "Reset to default settings"
|
884 |
+
msgstr "Postavljanje postavki na zadane"
|
885 |
+
|
886 |
+
#: plugin.php:2701
|
887 |
+
msgid "click on the top menu item to show its sub-menus"
|
888 |
+
msgstr "kliknite na glavno dugme izbornika kako biste vidjeli dugmad pod-izbornika"
|
889 |
+
|
890 |
+
#: plugin.php:2704
|
891 |
+
msgid "Item"
|
892 |
+
msgstr "Stavka"
|
893 |
+
|
894 |
+
#: plugin.php:2704
|
895 |
+
msgid "Visibility"
|
896 |
+
msgstr "Vidljivost"
|
897 |
+
|
898 |
+
#: plugin.php:2704
|
899 |
+
msgid "Change Text"
|
900 |
+
msgstr "Promjena teksta"
|
901 |
+
|
902 |
+
#: plugin.php:2715
|
903 |
+
msgid "Removes Profile menu item for non-admin users."
|
904 |
+
msgstr "Uklanja Profil izborničku stavku za sve korisnike koji nisu administratori."
|
905 |
+
|
906 |
+
#: plugin.php:2717
|
907 |
+
msgid "Remove Profile button from user menu"
|
908 |
+
msgstr "Sakriva Profil dugme sa korisničkog izbornika"
|
909 |
+
|
910 |
+
#: plugin.php:2721
|
911 |
+
msgid "Add New Menu Items"
|
912 |
+
msgstr "Dodaj nove stavke unutar admin izbornika"
|
913 |
+
|
914 |
+
#: plugin.php:2728
|
915 |
+
msgid "name"
|
916 |
+
msgstr "ime"
|
917 |
+
|
918 |
+
#: plugin.php:2728
|
919 |
+
msgid "New button visible name"
|
920 |
+
msgstr "Vidljivo ime novog dugmeta"
|
921 |
+
|
922 |
+
#: plugin.php:2729
|
923 |
+
msgid "url"
|
924 |
+
msgstr "url"
|
925 |
+
|
926 |
+
#: plugin.php:2729
|
927 |
+
msgid "New button link"
|
928 |
+
msgstr "Nova veza za dugme"
|
929 |
+
|
930 |
+
#: plugin.php:2730
|
931 |
+
msgid "open in"
|
932 |
+
msgstr "otvori u"
|
933 |
+
|
934 |
+
#: plugin.php:2731
|
935 |
+
msgid "same tab"
|
936 |
+
msgstr "ista kartica"
|
937 |
+
|
938 |
+
#: plugin.php:2732
|
939 |
+
msgid "new tab"
|
940 |
+
msgstr "nova kartica"
|
941 |
+
|
942 |
+
#: plugin.php:2734
|
943 |
+
msgid "Add new item button\" name=\"ag_add_adminmenu_button"
|
944 |
+
msgstr "Dodaj novu stavku gumba\" name=\"ag_add_adminmenu_button"
|
945 |
+
|
946 |
+
#: plugin.php:2734
|
947 |
+
msgid "Add new item"
|
948 |
+
msgstr "Dodaj novi"
|
949 |
+
|
950 |
+
#: plugin.php:2748
|
951 |
+
msgid "Choose how admin menu should behave on mobile devices / small screens"
|
952 |
+
msgstr "Odaberite kako će se admin izbornik ponašati na mobilnim uređajima / malim zaslonima"
|
953 |
+
|
954 |
+
#: plugin.php:2748
|
955 |
+
msgid "Admin menu auto folding"
|
956 |
+
msgstr "Auto-preklop admin izbornika"
|
957 |
+
|
958 |
+
#: plugin.php:2752
|
959 |
+
msgid "Default"
|
960 |
+
msgstr "Zadano"
|
961 |
+
|
962 |
+
#: plugin.php:2753
|
963 |
+
msgid "Force admin menu auto-folding"
|
964 |
+
msgstr "Auto-preklop uvijek"
|
965 |
+
|
966 |
+
#: plugin.php:2754
|
967 |
+
msgid "Disable admin menu auto-folding"
|
968 |
+
msgstr "Isključen auto-preklop"
|
969 |
+
|
970 |
+
#: plugin.php:2762
|
971 |
+
msgid "Removes empty space between some top menu items"
|
972 |
+
msgstr "Uklanja prazan prostor između ponekih glavnih dugmadi izbornika"
|
973 |
+
|
974 |
+
#: plugin.php:2764
|
975 |
+
msgid "Menu items separators"
|
976 |
+
msgstr "Razdvajači dugmadi admin izbornika "
|
977 |
+
|
978 |
+
#: plugin.php:2769
|
979 |
+
msgid "Removes icons from dmin menu buttons"
|
980 |
+
msgstr "Sakriva ikonice sa dugmadi na admin izborniku"
|
981 |
+
|
982 |
+
#: plugin.php:2771
|
983 |
+
msgid "Menu icons"
|
984 |
+
msgstr "Ikone izbornika"
|
985 |
+
|
986 |
+
#: plugin.php:2776
|
987 |
+
msgid "Removes small arrow that appears on the top button hover"
|
988 |
+
msgstr "Sakriva malu strelicu koja se prikazuje kod pod-izbornika na prelaz mišem "
|
989 |
+
|
990 |
+
#: plugin.php:2778
|
991 |
+
msgid "Sub-menu arrow"
|
992 |
+
msgstr "Strelica pod-izbornika"
|
993 |
+
|
994 |
+
#: plugin.php:2783
|
995 |
+
msgid "Removes collapse button at the end of admin menu"
|
996 |
+
msgstr "Uklanja dugme za sužavanje admin izbornika na samom kraju izbornika"
|
997 |
+
|
998 |
+
#: plugin.php:2785
|
999 |
+
msgid "\"Collapse menu\" button"
|
1000 |
+
msgstr "Dugme za sužavanje admin izbornika"
|
1001 |
+
|
1002 |
+
#: plugin.php:2789
|
1003 |
+
msgid "Rounds submenu pop-up box"
|
1004 |
+
msgstr "Zaokružuje ivice pojavljujućeg pod-izbornika"
|
1005 |
+
|
1006 |
+
#: plugin.php:2791
|
1007 |
+
msgid "Round sub-menu pop-up box"
|
1008 |
+
msgstr "Zaokružite ivice pojavljujućeg pod-izbornika"
|
1009 |
+
|
1010 |
+
#: plugin.php:2803
|
1011 |
+
msgid "Round sub-menu pop-up box - size"
|
1012 |
+
msgstr "Veličina zaokruživanja ivica pod-izbornika"
|
1013 |
+
|
1014 |
+
#: plugin.php:2809
|
1015 |
+
msgid "Adds custom logo above the admin menu"
|
1016 |
+
msgstr "Dodaje logo iznad admin izbornika"
|
1017 |
+
|
1018 |
+
#: plugin.php:2811
|
1019 |
+
msgid "Admin menu branding with logo"
|
1020 |
+
msgstr "Brendiranje admin izbornika sa logo slikom"
|
1021 |
+
|
1022 |
+
#: plugin.php:2816
|
1023 |
+
msgid "Change branding logo link</br></br>Use:"
|
1024 |
+
msgstr "Promjena poveznice slike loga</br></br>Koristite:"
|
1025 |
+
|
1026 |
+
#: plugin.php:2816
|
1027 |
+
msgid "for blog URL"
|
1028 |
+
msgstr "za blog URL"
|
1029 |
+
|
1030 |
+
#: plugin.php:2818
|
1031 |
+
msgid "Branding logo link"
|
1032 |
+
msgstr "Brending logo poveznica"
|
1033 |
+
|
1034 |
+
#: plugin.php:2819
|
1035 |
+
msgid "Branding image URL"
|
1036 |
+
msgstr "Veza na brending slici"
|
1037 |
+
|
1038 |
+
#: plugin.php:2825
|
1039 |
+
msgid "Colorizer Page"
|
1040 |
+
msgstr "Bojanica"
|
1041 |
+
|
1042 |
+
#: plugin.php:2828
|
1043 |
+
msgid "Apply Colorizer settings"
|
1044 |
+
msgstr "Primjena postavki Bojanice"
|
1045 |
+
|
1046 |
+
#: plugin.php:2829
|
1047 |
+
msgid "Apply Colorizer customizations"
|
1048 |
+
msgstr "Primjenite opcije Bojanice"
|
1049 |
+
|
1050 |
+
#: plugin.php:2829
|
1051 |
+
msgid "Do not apply Colorizer customizations"
|
1052 |
+
msgstr "Ne primjenjuj postavke Bojanice"
|
1053 |
+
|
1054 |
+
#: plugin.php:2832
|
1055 |
+
msgid "Global Color Options"
|
1056 |
+
msgstr "Generalne opcije boja"
|
1057 |
+
|
1058 |
+
#: plugin.php:2834 plugin.php:2858
|
1059 |
+
msgid "Background:"
|
1060 |
+
msgstr "Pozadina:"
|
1061 |
+
|
1062 |
+
#: plugin.php:2834
|
1063 |
+
msgid "Change admin page background color"
|
1064 |
+
msgstr "Promjena pozadinske boje admin stranica"
|
1065 |
+
|
1066 |
+
#: plugin.php:2835
|
1067 |
+
msgid "Login page background:"
|
1068 |
+
msgstr "Pozadinska boja stranice za prijavu"
|
1069 |
+
|
1070 |
+
#: plugin.php:2835
|
1071 |
+
msgid "Change login page background color"
|
1072 |
+
msgstr "Promjena pozadinske boje stranice za prijavu"
|
1073 |
+
|
1074 |
+
#: plugin.php:2836
|
1075 |
+
msgid "Admin bar:"
|
1076 |
+
msgstr "Admin traka:"
|
1077 |
+
|
1078 |
+
#: plugin.php:2836
|
1079 |
+
msgid "Change admin bar (on top) color in admin panel"
|
1080 |
+
msgstr "Promijenite boju admin trake"
|
1081 |
+
|
1082 |
+
#: plugin.php:2838
|
1083 |
+
msgid "Admin Menu Color Options"
|
1084 |
+
msgstr "Opcije boja admin izbornika"
|
1085 |
+
|
1086 |
+
#: plugin.php:2840
|
1087 |
+
msgid "Button background:"
|
1088 |
+
msgstr "Pozadinska boja dugmeta:"
|
1089 |
+
|
1090 |
+
#: plugin.php:2840
|
1091 |
+
msgid "Change button background color"
|
1092 |
+
msgstr "Promjena pozadinske boje dugmeta"
|
1093 |
+
|
1094 |
+
#: plugin.php:2841
|
1095 |
+
msgid "Button text:"
|
1096 |
+
msgstr "Tekst dugmeta:"
|
1097 |
+
|
1098 |
+
#: plugin.php:2841
|
1099 |
+
msgid "Change button text color"
|
1100 |
+
msgstr "Promijeni boju teksta dugmeta"
|
1101 |
+
|
1102 |
+
#: plugin.php:2842
|
1103 |
+
msgid "Selected button background:"
|
1104 |
+
msgstr "Promjena pozadinske boje odabranog dugmeta:"
|
1105 |
+
|
1106 |
+
#: plugin.php:2842
|
1107 |
+
msgid "Change button background color for current button"
|
1108 |
+
msgstr "Promjena pozadinske boje trenutnog dugmeta"
|
1109 |
+
|
1110 |
+
#: plugin.php:2843
|
1111 |
+
msgid "Hover button background:"
|
1112 |
+
msgstr "Promjena pozadinske boje dugmeta na prelaz mišem"
|
1113 |
+
|
1114 |
+
#: plugin.php:2843
|
1115 |
+
msgid "Change button background color on mouseover"
|
1116 |
+
msgstr "Promjena pozadinske boje dugmeta na prelaz mišem"
|
1117 |
+
|
1118 |
+
#: plugin.php:2844
|
1119 |
+
msgid "Sub-menu button background:"
|
1120 |
+
msgstr "Promjena pozadinske boje pod-izbornika dugmeta"
|
1121 |
+
|
1122 |
+
#: plugin.php:2844 plugin.php:3069
|
1123 |
+
msgid "Change submenu item background color"
|
1124 |
+
msgstr "Promijeni pozadinsku boju pod-izbornika"
|
1125 |
+
|
1126 |
+
#: plugin.php:2845
|
1127 |
+
msgid "Sub-menu hover button background:"
|
1128 |
+
msgstr "Promjena pozadinske boje pod-izbornika dugmeta na prelaz mišem"
|
1129 |
+
|
1130 |
+
#: plugin.php:2845
|
1131 |
+
msgid "Change submenu item background color on mouseover"
|
1132 |
+
msgstr "Promjena pozadinske boje pod-izbornika dugmeta na prelaz mišem"
|
1133 |
+
|
1134 |
+
#: plugin.php:2846
|
1135 |
+
msgid "Sub-menu text:"
|
1136 |
+
msgstr "Tekst pod-izbornika:"
|
1137 |
+
|
1138 |
+
#: plugin.php:2846
|
1139 |
+
msgid "Sub-menu text color"
|
1140 |
+
msgstr "Boja teksta pod-izbornika"
|
1141 |
+
|
1142 |
+
#: plugin.php:2847
|
1143 |
+
msgid "Wrapper background:"
|
1144 |
+
msgstr "Pozadinska boja omotača"
|
1145 |
+
|
1146 |
+
#: plugin.php:2847
|
1147 |
+
msgid "Change background color of element behind admin menu"
|
1148 |
+
msgstr "Promjena pozadinske boje elementa iza admin izbornika"
|
1149 |
+
|
1150 |
+
#: plugin.php:2849
|
1151 |
+
msgid "Font Color Options"
|
1152 |
+
msgstr "Opcije boje teksta"
|
1153 |
+
|
1154 |
+
#: plugin.php:2851
|
1155 |
+
msgid "Content text:"
|
1156 |
+
msgstr "Tekst sadržaja"
|
1157 |
+
|
1158 |
+
#: plugin.php:2851
|
1159 |
+
msgid "Change color in content text"
|
1160 |
+
msgstr "Promjena boje teksta na stranici"
|
1161 |
+
|
1162 |
+
#: plugin.php:2852
|
1163 |
+
msgid "Admin bar text:"
|
1164 |
+
msgstr "Tekst admin trake:"
|
1165 |
+
|
1166 |
+
#: plugin.php:2852
|
1167 |
+
msgid "Change color of admin bar text"
|
1168 |
+
msgstr "Promjena boje teksta admin trake"
|
1169 |
+
|
1170 |
+
#: plugin.php:2853
|
1171 |
+
msgid "Footer text:"
|
1172 |
+
msgstr "Tekst podnožja:"
|
1173 |
+
|
1174 |
+
#: plugin.php:2853
|
1175 |
+
msgid "Change color in footer text"
|
1176 |
+
msgstr "Promijenite boju teksta u podnožju"
|
1177 |
+
|
1178 |
+
#: plugin.php:2855
|
1179 |
+
msgid "Widgets Color Options"
|
1180 |
+
msgstr "Opcije boja dodataka"
|
1181 |
+
|
1182 |
+
#: plugin.php:2857
|
1183 |
+
msgid "Title bar background:"
|
1184 |
+
msgstr "Pozadinska boja admin trak"
|
1185 |
+
|
1186 |
+
#: plugin.php:2857
|
1187 |
+
msgid "Change color in header text"
|
1188 |
+
msgstr "Promjena boje teksta u zaglavlju"
|
1189 |
+
|
1190 |
+
#: plugin.php:2858
|
1191 |
+
msgid "Change widget background color"
|
1192 |
+
msgstr "Promjena pozadinske boje dodatka"
|
1193 |
+
|
1194 |
+
#: plugin.php:2878
|
1195 |
+
msgid "If you have any ideas for theme improvements, or you have new themes requests, please feel free to send us a message"
|
1196 |
+
msgstr "Ako imate bilo kakvu ideju za poboljšanje tema ili imate ideju za novu temu, molimo kontaktirajte nas"
|
1197 |
+
|
1198 |
+
#: plugin.php:2878
|
1199 |
+
msgid "Submit your admin themes ideas"
|
1200 |
+
msgstr "Pošaljite svoju ideju za admin temu"
|
1201 |
+
|
1202 |
+
#: plugin.php:2879
|
1203 |
+
msgid "WARNING: All installed themes will be removed. To activate them again, you would need to install theme and activate using valid license keys. Free themes can be installed again."
|
1204 |
+
msgstr "UPOZORENJE: Sve instalirane teme će biti uklonjene. Kako biste ih ponovno aktivirali, trebaćete imati validan ključ. Besplatne teme mogu biti ponovno instalirane bez ključa."
|
1205 |
+
|
1206 |
+
#: plugin.php:2879
|
1207 |
+
msgid "Uninstall all installed themes"
|
1208 |
+
msgstr "Brisanje svih instaliranih tema"
|
1209 |
+
|
1210 |
+
#: plugin.php:2892
|
1211 |
+
msgid "<strong>Note: </strong>These options will override existing customizations"
|
1212 |
+
msgstr "<strong>-Upozorenje: </strong>Ove opcije će promijeniti već postojeće postavke"
|
1213 |
+
|
1214 |
+
#: plugin.php:2897 plugin.php:2900
|
1215 |
+
msgid "Add custom CSS script to override existing styles"
|
1216 |
+
msgstr "Dodajte svoju CSS skriptu koja će upotpuniti već postojeće stilove"
|
1217 |
+
|
1218 |
+
#: plugin.php:2897
|
1219 |
+
msgid "Custom CSS script"
|
1220 |
+
msgstr "Moja CSS skripta"
|
1221 |
+
|
1222 |
+
#: plugin.php:2905 plugin.php:2908
|
1223 |
+
msgid "Add additional custom JavaScript"
|
1224 |
+
msgstr "Dodajte svoju JavaScript"
|
1225 |
+
|
1226 |
+
#: plugin.php:2905
|
1227 |
+
msgid "Custom JavaScript"
|
1228 |
+
msgstr "Moja JavaScript"
|
1229 |
+
|
1230 |
+
#: plugin.php:2913
|
1231 |
+
msgid "Temporary enable this option if you are experiencing any problems with saving AGCA options. Please turn it off after you are done with your customizations."
|
1232 |
+
msgstr "Trenutačno uključite ovu opciju ako imate problema sa spašavanje AGCA opcija. Molimo isključite je ponovno nakon što završite podešavanja."
|
1233 |
+
|
1234 |
+
#: plugin.php:2915
|
1235 |
+
msgid "Temporary disable POST verification"
|
1236 |
+
msgstr "Trenutačno isključite POST provjeru"
|
1237 |
+
|
1238 |
+
#: plugin.php:2920
|
1239 |
+
msgid "Export / import settings"
|
1240 |
+
msgstr "Izvoz / Uvoz postavki"
|
1241 |
+
|
1242 |
+
#: plugin.php:2923
|
1243 |
+
msgid "Export Settings"
|
1244 |
+
msgstr "Izvoz postavki"
|
1245 |
+
|
1246 |
+
#: plugin.php:2927
|
1247 |
+
msgid "Import Settings"
|
1248 |
+
msgstr "Uvoz postavki"
|
1249 |
+
|
1250 |
+
#: plugin.php:2933
|
1251 |
+
msgid "Save AG Custom Admin configuration"
|
1252 |
+
msgstr "Spasite AG Custom Admin postavke"
|
1253 |
+
|
1254 |
+
#: plugin.php:2933
|
1255 |
+
msgid "Save Changes"
|
1256 |
+
msgstr "Spremi promjene"
|
1257 |
+
|
1258 |
+
#: plugin.php:2987
|
1259 |
+
msgid "Toggle on/off"
|
1260 |
+
msgstr "Uključi/isključi"
|
1261 |
+
|
1262 |
+
#: plugin.php:3018 plugin.php:3050 plugin.php:3072
|
1263 |
+
msgid "Clear"
|
1264 |
+
msgstr "Očisti"
|
1265 |
+
|
1266 |
+
#: plugin.php:3049
|
1267 |
+
msgid "Pick Color"
|
1268 |
+
msgstr "Odaberite boju"
|
1269 |
+
|
1270 |
+
#: plugin.php:3069
|
1271 |
+
msgid "Submenu button background color:"
|
1272 |
+
msgstr "Promjena pozadinske boje pod-izbornika dugmeta"
|
1273 |
+
|
1274 |
+
#: plugin.php:3071
|
1275 |
+
msgid "Pick color"
|
1276 |
+
msgstr "Odaberite boju"
|
1277 |
+
|
1278 |
+
#. Plugin Name of the plugin/theme
|
1279 |
+
msgid "AG Custom Admin"
|
1280 |
+
msgstr "AG Custom Admin"
|
1281 |
+
|
1282 |
+
#. Plugin URI of the plugin/theme
|
1283 |
+
msgid "http://wordpressadminpanel.com/ag-custom-admin/"
|
1284 |
+
msgstr "http://wordpressadminpanel.com/ag-custom-admin/"
|
1285 |
+
|
1286 |
+
#. Description of the plugin/theme
|
1287 |
+
msgid "All-in-one tool for admin panel customization. Change almost everything: admin menu, dashboard, login page, admin bar etc. Apply admin panel themes."
|
1288 |
+
msgstr "\"Sve u jednom\" dodatak za prilagodbu stranice za administraciju. Promjeniti možete gotovo sve: admin izbornik, kontrolnu ploču, stranicu za prijavu, admin traku itd. Primijenite gotove teme panela za administraciju."
|
1289 |
+
|
1290 |
+
#. Author of the plugin/theme
|
1291 |
+
msgid "WAP"
|
1292 |
+
msgstr "WAP"
|
1293 |
+
|
1294 |
+
#. Author URI of the plugin/theme
|
1295 |
+
msgid "http://www.wordpressadminpanel.com/"
|
1296 |
+
msgstr "http://www.wordpressadminpanel.com/"
|
trunk/licence.txt
ADDED
@@ -0,0 +1,674 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
GNU GENERAL PUBLIC LICENSE
|
2 |
+
Version 3, 29 June 2007
|
3 |
+
|
4 |
+
Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/>
|
5 |
+
Everyone is permitted to copy and distribute verbatim copies
|
6 |
+
of this license document, but changing it is not allowed.
|
7 |
+
|
8 |
+
Preamble
|
9 |
+
|
10 |
+
The GNU General Public License is a free, copyleft license for
|
11 |
+
software and other kinds of works.
|
12 |
+
|
13 |
+
The licenses for most software and other practical works are designed
|
14 |
+
to take away your freedom to share and change the works. By contrast,
|
15 |
+
the GNU General Public License is intended to guarantee your freedom to
|
16 |
+
share and change all versions of a program--to make sure it remains free
|
17 |
+
software for all its users. We, the Free Software Foundation, use the
|
18 |
+
GNU General Public License for most of our software; it applies also to
|
19 |
+
any other work released this way by its authors. You can apply it to
|
20 |
+
your programs, too.
|
21 |
+
|
22 |
+
When we speak of free software, we are referring to freedom, not
|
23 |
+
price. Our General Public Licenses are designed to make sure that you
|
24 |
+
have the freedom to distribute copies of free software (and charge for
|
25 |
+
them if you wish), that you receive source code or can get it if you
|
26 |
+
want it, that you can change the software or use pieces of it in new
|
27 |
+
free programs, and that you know you can do these things.
|
28 |
+
|
29 |
+
To protect your rights, we need to prevent others from denying you
|
30 |
+
these rights or asking you to surrender the rights. Therefore, you have
|
31 |
+
certain responsibilities if you distribute copies of the software, or if
|
32 |
+
you modify it: responsibilities to respect the freedom of others.
|
33 |
+
|
34 |
+
For example, if you distribute copies of such a program, whether
|
35 |
+
gratis or for a fee, you must pass on to the recipients the same
|
36 |
+
freedoms that you received. You must make sure that they, too, receive
|
37 |
+
or can get the source code. And you must show them these terms so they
|
38 |
+
know their rights.
|
39 |
+
|
40 |
+
Developers that use the GNU GPL protect your rights with two steps:
|
41 |
+
(1) assert copyright on the software, and (2) offer you this License
|
42 |
+
giving you legal permission to copy, distribute and/or modify it.
|
43 |
+
|
44 |
+
For the developers' and authors' protection, the GPL clearly explains
|
45 |
+
that there is no warranty for this free software. For both users' and
|
46 |
+
authors' sake, the GPL requires that modified versions be marked as
|
47 |
+
changed, so that their problems will not be attributed erroneously to
|
48 |
+
authors of previous versions.
|
49 |
+
|
50 |
+
Some devices are designed to deny users access to install or run
|
51 |
+
modified versions of the software inside them, although the manufacturer
|
52 |
+
can do so. This is fundamentally incompatible with the aim of
|
53 |
+
protecting users' freedom to change the software. The systematic
|
54 |
+
pattern of such abuse occurs in the area of products for individuals to
|
55 |
+
use, which is precisely where it is most unacceptable. Therefore, we
|
56 |
+
have designed this version of the GPL to prohibit the practice for those
|
57 |
+
products. If such problems arise substantially in other domains, we
|
58 |
+
stand ready to extend this provision to those domains in future versions
|
59 |
+
of the GPL, as needed to protect the freedom of users.
|
60 |
+
|
61 |
+
Finally, every program is threatened constantly by software patents.
|
62 |
+
States should not allow patents to restrict development and use of
|
63 |
+
software on general-purpose computers, but in those that do, we wish to
|
64 |
+
avoid the special danger that patents applied to a free program could
|
65 |
+
make it effectively proprietary. To prevent this, the GPL assures that
|
66 |
+
patents cannot be used to render the program non-free.
|
67 |
+
|
68 |
+
The precise terms and conditions for copying, distribution and
|
69 |
+
modification follow.
|
70 |
+
|
71 |
+
TERMS AND CONDITIONS
|
72 |
+
|
73 |
+
0. Definitions.
|
74 |
+
|
75 |
+
"This License" refers to version 3 of the GNU General Public License.
|
76 |
+
|
77 |
+
"Copyright" also means copyright-like laws that apply to other kinds of
|
78 |
+
works, such as semiconductor masks.
|
79 |
+
|
80 |
+
"The Program" refers to any copyrightable work licensed under this
|
81 |
+
License. Each licensee is addressed as "you". "Licensees" and
|
82 |
+
"recipients" may be individuals or organizations.
|
83 |
+
|
84 |
+
To "modify" a work means to copy from or adapt all or part of the work
|
85 |
+
in a fashion requiring copyright permission, other than the making of an
|
86 |
+
exact copy. The resulting work is called a "modified version" of the
|
87 |
+
earlier work or a work "based on" the earlier work.
|
88 |
+
|
89 |
+
A "covered work" means either the unmodified Program or a work based
|
90 |
+
on the Program.
|
91 |
+
|
92 |
+
To "propagate" a work means to do anything with it that, without
|
93 |
+
permission, would make you directly or secondarily liable for
|
94 |
+
infringement under applicable copyright law, except executing it on a
|
95 |
+
computer or modifying a private copy. Propagation includes copying,
|
96 |
+
distribution (with or without modification), making available to the
|
97 |
+
public, and in some countries other activities as well.
|
98 |
+
|
99 |
+
To "convey" a work means any kind of propagation that enables other
|
100 |
+
parties to make or receive copies. Mere interaction with a user through
|
101 |
+
a computer network, with no transfer of a copy, is not conveying.
|
102 |
+
|
103 |
+
An interactive user interface displays "Appropriate Legal Notices"
|
104 |
+
to the extent that it includes a convenient and prominently visible
|
105 |
+
feature that (1) displays an appropriate copyright notice, and (2)
|
106 |
+
tells the user that there is no warranty for the work (except to the
|
107 |
+
extent that warranties are provided), that licensees may convey the
|
108 |
+
work under this License, and how to view a copy of this License. If
|
109 |
+
the interface presents a list of user commands or options, such as a
|
110 |
+
menu, a prominent item in the list meets this criterion.
|
111 |
+
|
112 |
+
1. Source Code.
|
113 |
+
|
114 |
+
The "source code" for a work means the preferred form of the work
|
115 |
+
for making modifications to it. "Object code" means any non-source
|
116 |
+
form of a work.
|
117 |
+
|
118 |
+
A "Standard Interface" means an interface that either is an official
|
119 |
+
standard defined by a recognized standards body, or, in the case of
|
120 |
+
interfaces specified for a particular programming language, one that
|
121 |
+
is widely used among developers working in that language.
|
122 |
+
|
123 |
+
The "System Libraries" of an executable work include anything, other
|
124 |
+
than the work as a whole, that (a) is included in the normal form of
|
125 |
+
packaging a Major Component, but which is not part of that Major
|
126 |
+
Component, and (b) serves only to enable use of the work with that
|
127 |
+
Major Component, or to implement a Standard Interface for which an
|
128 |
+
implementation is available to the public in source code form. A
|
129 |
+
"Major Component", in this context, means a major essential component
|
130 |
+
(kernel, window system, and so on) of the specific operating system
|
131 |
+
(if any) on which the executable work runs, or a compiler used to
|
132 |
+
produce the work, or an object code interpreter used to run it.
|
133 |
+
|
134 |
+
The "Corresponding Source" for a work in object code form means all
|
135 |
+
the source code needed to generate, install, and (for an executable
|
136 |
+
work) run the object code and to modify the work, including scripts to
|
137 |
+
control those activities. However, it does not include the work's
|
138 |
+
System Libraries, or general-purpose tools or generally available free
|
139 |
+
programs which are used unmodified in performing those activities but
|
140 |
+
which are not part of the work. For example, Corresponding Source
|
141 |
+
includes interface definition files associated with source files for
|
142 |
+
the work, and the source code for shared libraries and dynamically
|
143 |
+
linked subprograms that the work is specifically designed to require,
|
144 |
+
such as by intimate data communication or control flow between those
|
145 |
+
subprograms and other parts of the work.
|
146 |
+
|
147 |
+
The Corresponding Source need not include anything that users
|
148 |
+
can regenerate automatically from other parts of the Corresponding
|
149 |
+
Source.
|
150 |
+
|
151 |
+
The Corresponding Source for a work in source code form is that
|
152 |
+
same work.
|
153 |
+
|
154 |
+
2. Basic Permissions.
|
155 |
+
|
156 |
+
All rights granted under this License are granted for the term of
|
157 |
+
copyright on the Program, and are irrevocable provided the stated
|
158 |
+
conditions are met. This License explicitly affirms your unlimited
|
159 |
+
permission to run the unmodified Program. The output from running a
|
160 |
+
covered work is covered by this License only if the output, given its
|
161 |
+
content, constitutes a covered work. This License acknowledges your
|
162 |
+
rights of fair use or other equivalent, as provided by copyright law.
|
163 |
+
|
164 |
+
You may make, run and propagate covered works that you do not
|
165 |
+
convey, without conditions so long as your license otherwise remains
|
166 |
+
in force. You may convey covered works to others for the sole purpose
|
167 |
+
of having them make modifications exclusively for you, or provide you
|
168 |
+
with facilities for running those works, provided that you comply with
|
169 |
+
the terms of this License in conveying all material for which you do
|
170 |
+
not control copyright. Those thus making or running the covered works
|
171 |
+
for you must do so exclusively on your behalf, under your direction
|
172 |
+
and control, on terms that prohibit them from making any copies of
|
173 |
+
your copyrighted material outside their relationship with you.
|
174 |
+
|
175 |
+
Conveying under any other circumstances is permitted solely under
|
176 |
+
the conditions stated below. Sublicensing is not allowed; section 10
|
177 |
+
makes it unnecessary.
|
178 |
+
|
179 |
+
3. Protecting Users' Legal Rights From Anti-Circumvention Law.
|
180 |
+
|
181 |
+
No covered work shall be deemed part of an effective technological
|
182 |
+
measure under any applicable law fulfilling obligations under article
|
183 |
+
11 of the WIPO copyright treaty adopted on 20 December 1996, or
|
184 |
+
similar laws prohibiting or restricting circumvention of such
|
185 |
+
measures.
|
186 |
+
|
187 |
+
When you convey a covered work, you waive any legal power to forbid
|
188 |
+
circumvention of technological measures to the extent such circumvention
|
189 |
+
is effected by exercising rights under this License with respect to
|
190 |
+
the covered work, and you disclaim any intention to limit operation or
|
191 |
+
modification of the work as a means of enforcing, against the work's
|
192 |
+
users, your or third parties' legal rights to forbid circumvention of
|
193 |
+
technological measures.
|
194 |
+
|
195 |
+
4. Conveying Verbatim Copies.
|
196 |
+
|
197 |
+
You may convey verbatim copies of the Program's source code as you
|
198 |
+
receive it, in any medium, provided that you conspicuously and
|
199 |
+
appropriately publish on each copy an appropriate copyright notice;
|
200 |
+
keep intact all notices stating that this License and any
|
201 |
+
non-permissive terms added in accord with section 7 apply to the code;
|
202 |
+
keep intact all notices of the absence of any warranty; and give all
|
203 |
+
recipients a copy of this License along with the Program.
|
204 |
+
|
205 |
+
You may charge any price or no price for each copy that you convey,
|
206 |
+
and you may offer support or warranty protection for a fee.
|
207 |
+
|
208 |
+
5. Conveying Modified Source Versions.
|
209 |
+
|
210 |
+
You may convey a work based on the Program, or the modifications to
|
211 |
+
produce it from the Program, in the form of source code under the
|
212 |
+
terms of section 4, provided that you also meet all of these conditions:
|
213 |
+
|
214 |
+
a) The work must carry prominent notices stating that you modified
|
215 |
+
it, and giving a relevant date.
|
216 |
+
|
217 |
+
b) The work must carry prominent notices stating that it is
|
218 |
+
released under this License and any conditions added under section
|
219 |
+
7. This requirement modifies the requirement in section 4 to
|
220 |
+
"keep intact all notices".
|
221 |
+
|
222 |
+
c) You must license the entire work, as a whole, under this
|
223 |
+
License to anyone who comes into possession of a copy. This
|
224 |
+
License will therefore apply, along with any applicable section 7
|
225 |
+
additional terms, to the whole of the work, and all its parts,
|
226 |
+
regardless of how they are packaged. This License gives no
|
227 |
+
permission to license the work in any other way, but it does not
|
228 |
+
invalidate such permission if you have separately received it.
|
229 |
+
|
230 |
+
d) If the work has interactive user interfaces, each must display
|
231 |
+
Appropriate Legal Notices; however, if the Program has interactive
|
232 |
+
interfaces that do not display Appropriate Legal Notices, your
|
233 |
+
work need not make them do so.
|
234 |
+
|
235 |
+
A compilation of a covered work with other separate and independent
|
236 |
+
works, which are not by their nature extensions of the covered work,
|
237 |
+
and which are not combined with it such as to form a larger program,
|
238 |
+
in or on a volume of a storage or distribution medium, is called an
|
239 |
+
"aggregate" if the compilation and its resulting copyright are not
|
240 |
+
used to limit the access or legal rights of the compilation's users
|
241 |
+
beyond what the individual works permit. Inclusion of a covered work
|
242 |
+
in an aggregate does not cause this License to apply to the other
|
243 |
+
parts of the aggregate.
|
244 |
+
|
245 |
+
6. Conveying Non-Source Forms.
|
246 |
+
|
247 |
+
You may convey a covered work in object code form under the terms
|
248 |
+
of sections 4 and 5, provided that you also convey the
|
249 |
+
machine-readable Corresponding Source under the terms of this License,
|
250 |
+
in one of these ways:
|
251 |
+
|
252 |
+
a) Convey the object code in, or embodied in, a physical product
|
253 |
+
(including a physical distribution medium), accompanied by the
|
254 |
+
Corresponding Source fixed on a durable physical medium
|
255 |
+
customarily used for software interchange.
|
256 |
+
|
257 |
+
b) Convey the object code in, or embodied in, a physical product
|
258 |
+
(including a physical distribution medium), accompanied by a
|
259 |
+
written offer, valid for at least three years and valid for as
|
260 |
+
long as you offer spare parts or customer support for that product
|
261 |
+
model, to give anyone who possesses the object code either (1) a
|
262 |
+
copy of the Corresponding Source for all the software in the
|
263 |
+
product that is covered by this License, on a durable physical
|
264 |
+
medium customarily used for software interchange, for a price no
|
265 |
+
more than your reasonable cost of physically performing this
|
266 |
+
conveying of source, or (2) access to copy the
|
267 |
+
Corresponding Source from a network server at no charge.
|
268 |
+
|
269 |
+
c) Convey individual copies of the object code with a copy of the
|
270 |
+
written offer to provide the Corresponding Source. This
|
271 |
+
alternative is allowed only occasionally and noncommercially, and
|
272 |
+
only if you received the object code with such an offer, in accord
|
273 |
+
with subsection 6b.
|
274 |
+
|
275 |
+
d) Convey the object code by offering access from a designated
|
276 |
+
place (gratis or for a charge), and offer equivalent access to the
|
277 |
+
Corresponding Source in the same way through the same place at no
|
278 |
+
further charge. You need not require recipients to copy the
|
279 |
+
Corresponding Source along with the object code. If the place to
|
280 |
+
copy the object code is a network server, the Corresponding Source
|
281 |
+
may be on a different server (operated by you or a third party)
|
282 |
+
that supports equivalent copying facilities, provided you maintain
|
283 |
+
clear directions next to the object code saying where to find the
|
284 |
+
Corresponding Source. Regardless of what server hosts the
|
285 |
+
Corresponding Source, you remain obligated to ensure that it is
|
286 |
+
available for as long as needed to satisfy these requirements.
|
287 |
+
|
288 |
+
e) Convey the object code using peer-to-peer transmission, provided
|
289 |
+
you inform other peers where the object code and Corresponding
|
290 |
+
Source of the work are being offered to the general public at no
|
291 |
+
charge under subsection 6d.
|
292 |
+
|
293 |
+
A separable portion of the object code, whose source code is excluded
|
294 |
+
from the Corresponding Source as a System Library, need not be
|
295 |
+
included in conveying the object code work.
|
296 |
+
|
297 |
+
A "User Product" is either (1) a "consumer product", which means any
|
298 |
+
tangible personal property which is normally used for personal, family,
|
299 |
+
or household purposes, or (2) anything designed or sold for incorporation
|
300 |
+
into a dwelling. In determining whether a product is a consumer product,
|
301 |
+
doubtful cases shall be resolved in favor of coverage. For a particular
|
302 |
+
product received by a particular user, "normally used" refers to a
|
303 |
+
typical or common use of that class of product, regardless of the status
|
304 |
+
of the particular user or of the way in which the particular user
|
305 |
+
actually uses, or expects or is expected to use, the product. A product
|
306 |
+
is a consumer product regardless of whether the product has substantial
|
307 |
+
commercial, industrial or non-consumer uses, unless such uses represent
|
308 |
+
the only significant mode of use of the product.
|
309 |
+
|
310 |
+
"Installation Information" for a User Product means any methods,
|
311 |
+
procedures, authorization keys, or other information required to install
|
312 |
+
and execute modified versions of a covered work in that User Product from
|
313 |
+
a modified version of its Corresponding Source. The information must
|
314 |
+
suffice to ensure that the continued functioning of the modified object
|
315 |
+
code is in no case prevented or interfered with solely because
|
316 |
+
modification has been made.
|
317 |
+
|
318 |
+
If you convey an object code work under this section in, or with, or
|
319 |
+
specifically for use in, a User Product, and the conveying occurs as
|
320 |
+
part of a transaction in which the right of possession and use of the
|
321 |
+
User Product is transferred to the recipient in perpetuity or for a
|
322 |
+
fixed term (regardless of how the transaction is characterized), the
|
323 |
+
Corresponding Source conveyed under this section must be accompanied
|
324 |
+
by the Installation Information. But this requirement does not apply
|
325 |
+
if neither you nor any third party retains the ability to install
|
326 |
+
modified object code on the User Product (for example, the work has
|
327 |
+
been installed in ROM).
|
328 |
+
|
329 |
+
The requirement to provide Installation Information does not include a
|
330 |
+
requirement to continue to provide support service, warranty, or updates
|
331 |
+
for a work that has been modified or installed by the recipient, or for
|
332 |
+
the User Product in which it has been modified or installed. Access to a
|
333 |
+
network may be denied when the modification itself materially and
|
334 |
+
adversely affects the operation of the network or violates the rules and
|
335 |
+
protocols for communication across the network.
|
336 |
+
|
337 |
+
Corresponding Source conveyed, and Installation Information provided,
|
338 |
+
in accord with this section must be in a format that is publicly
|
339 |
+
documented (and with an implementation available to the public in
|
340 |
+
source code form), and must require no special password or key for
|
341 |
+
unpacking, reading or copying.
|
342 |
+
|
343 |
+
7. Additional Terms.
|
344 |
+
|
345 |
+
"Additional permissions" are terms that supplement the terms of this
|
346 |
+
License by making exceptions from one or more of its conditions.
|
347 |
+
Additional permissions that are applicable to the entire Program shall
|
348 |
+
be treated as though they were included in this License, to the extent
|
349 |
+
that they are valid under applicable law. If additional permissions
|
350 |
+
apply only to part of the Program, that part may be used separately
|
351 |
+
under those permissions, but the entire Program remains governed by
|
352 |
+
this License without regard to the additional permissions.
|
353 |
+
|
354 |
+
When you convey a copy of a covered work, you may at your option
|
355 |
+
remove any additional permissions from that copy, or from any part of
|
356 |
+
it. (Additional permissions may be written to require their own
|
357 |
+
removal in certain cases when you modify the work.) You may place
|
358 |
+
additional permissions on material, added by you to a covered work,
|
359 |
+
for which you have or can give appropriate copyright permission.
|
360 |
+
|
361 |
+
Notwithstanding any other provision of this License, for material you
|
362 |
+
add to a covered work, you may (if authorized by the copyright holders of
|
363 |
+
that material) supplement the terms of this License with terms:
|
364 |
+
|
365 |
+
a) Disclaiming warranty or limiting liability differently from the
|
366 |
+
terms of sections 15 and 16 of this License; or
|
367 |
+
|
368 |
+
b) Requiring preservation of specified reasonable legal notices or
|
369 |
+
author attributions in that material or in the Appropriate Legal
|
370 |
+
Notices displayed by works containing it; or
|
371 |
+
|
372 |
+
c) Prohibiting misrepresentation of the origin of that material, or
|
373 |
+
requiring that modified versions of such material be marked in
|
374 |
+
reasonable ways as different from the original version; or
|
375 |
+
|
376 |
+
d) Limiting the use for publicity purposes of names of licensors or
|
377 |
+
authors of the material; or
|
378 |
+
|
379 |
+
e) Declining to grant rights under trademark law for use of some
|
380 |
+
trade names, trademarks, or service marks; or
|
381 |
+
|
382 |
+
f) Requiring indemnification of licensors and authors of that
|
383 |
+
material by anyone who conveys the material (or modified versions of
|
384 |
+
it) with contractual assumptions of liability to the recipient, for
|
385 |
+
any liability that these contractual assumptions directly impose on
|
386 |
+
those licensors and authors.
|
387 |
+
|
388 |
+
All other non-permissive additional terms are considered "further
|
389 |
+
restrictions" within the meaning of section 10. If the Program as you
|
390 |
+
received it, or any part of it, contains a notice stating that it is
|
391 |
+
governed by this License along with a term that is a further
|
392 |
+
restriction, you may remove that term. If a license document contains
|
393 |
+
a further restriction but permits relicensing or conveying under this
|
394 |
+
License, you may add to a covered work material governed by the terms
|
395 |
+
of that license document, provided that the further restriction does
|
396 |
+
not survive such relicensing or conveying.
|
397 |
+
|
398 |
+
If you add terms to a covered work in accord with this section, you
|
399 |
+
must place, in the relevant source files, a statement of the
|
400 |
+
additional terms that apply to those files, or a notice indicating
|
401 |
+
where to find the applicable terms.
|
402 |
+
|
403 |
+
Additional terms, permissive or non-permissive, may be stated in the
|
404 |
+
form of a separately written license, or stated as exceptions;
|
405 |
+
the above requirements apply either way.
|
406 |
+
|
407 |
+
8. Termination.
|
408 |
+
|
409 |
+
You may not propagate or modify a covered work except as expressly
|
410 |
+
provided under this License. Any attempt otherwise to propagate or
|
411 |
+
modify it is void, and will automatically terminate your rights under
|
412 |
+
this License (including any patent licenses granted under the third
|
413 |
+
paragraph of section 11).
|
414 |
+
|
415 |
+
However, if you cease all violation of this License, then your
|
416 |
+
license from a particular copyright holder is reinstated (a)
|
417 |
+
provisionally, unless and until the copyright holder explicitly and
|
418 |
+
finally terminates your license, and (b) permanently, if the copyright
|
419 |
+
holder fails to notify you of the violation by some reasonable means
|
420 |
+
prior to 60 days after the cessation.
|
421 |
+
|
422 |
+
Moreover, your license from a particular copyright holder is
|
423 |
+
reinstated permanently if the copyright holder notifies you of the
|
424 |
+
violation by some reasonable means, this is the first time you have
|
425 |
+
received notice of violation of this License (for any work) from that
|
426 |
+
copyright holder, and you cure the violation prior to 30 days after
|
427 |
+
your receipt of the notice.
|
428 |
+
|
429 |
+
Termination of your rights under this section does not terminate the
|
430 |
+
licenses of parties who have received copies or rights from you under
|
431 |
+
this License. If your rights have been terminated and not permanently
|
432 |
+
reinstated, you do not qualify to receive new licenses for the same
|
433 |
+
material under section 10.
|
434 |
+
|
435 |
+
9. Acceptance Not Required for Having Copies.
|
436 |
+
|
437 |
+
You are not required to accept this License in order to receive or
|
438 |
+
run a copy of the Program. Ancillary propagation of a covered work
|
439 |
+
occurring solely as a consequence of using peer-to-peer transmission
|
440 |
+
to receive a copy likewise does not require acceptance. However,
|
441 |
+
nothing other than this License grants you permission to propagate or
|
442 |
+
modify any covered work. These actions infringe copyright if you do
|
443 |
+
not accept this License. Therefore, by modifying or propagating a
|
444 |
+
covered work, you indicate your acceptance of this License to do so.
|
445 |
+
|
446 |
+
10. Automatic Licensing of Downstream Recipients.
|
447 |
+
|
448 |
+
Each time you convey a covered work, the recipient automatically
|
449 |
+
receives a license from the original licensors, to run, modify and
|
450 |
+
propagate that work, subject to this License. You are not responsible
|
451 |
+
for enforcing compliance by third parties with this License.
|
452 |
+
|
453 |
+
An "entity transaction" is a transaction transferring control of an
|
454 |
+
organization, or substantially all assets of one, or subdividing an
|
455 |
+
organization, or merging organizations. If propagation of a covered
|
456 |
+
work results from an entity transaction, each party to that
|
457 |
+
transaction who receives a copy of the work also receives whatever
|
458 |
+
licenses to the work the party's predecessor in interest had or could
|
459 |
+
give under the previous paragraph, plus a right to possession of the
|
460 |
+
Corresponding Source of the work from the predecessor in interest, if
|
461 |
+
the predecessor has it or can get it with reasonable efforts.
|
462 |
+
|
463 |
+
You may not impose any further restrictions on the exercise of the
|
464 |
+
rights granted or affirmed under this License. For example, you may
|
465 |
+
not impose a license fee, royalty, or other charge for exercise of
|
466 |
+
rights granted under this License, and you may not initiate litigation
|
467 |
+
(including a cross-claim or counterclaim in a lawsuit) alleging that
|
468 |
+
any patent claim is infringed by making, using, selling, offering for
|
469 |
+
sale, or importing the Program or any portion of it.
|
470 |
+
|
471 |
+
11. Patents.
|
472 |
+
|
473 |
+
A "contributor" is a copyright holder who authorizes use under this
|
474 |
+
License of the Program or a work on which the Program is based. The
|
475 |
+
work thus licensed is called the contributor's "contributor version".
|
476 |
+
|
477 |
+
A contributor's "essential patent claims" are all patent claims
|
478 |
+
owned or controlled by the contributor, whether already acquired or
|
479 |
+
hereafter acquired, that would be infringed by some manner, permitted
|
480 |
+
by this License, of making, using, or selling its contributor version,
|
481 |
+
but do not include claims that would be infringed only as a
|
482 |
+
consequence of further modification of the contributor version. For
|
483 |
+
purposes of this definition, "control" includes the right to grant
|
484 |
+
patent sublicenses in a manner consistent with the requirements of
|
485 |
+
this License.
|
486 |
+
|
487 |
+
Each contributor grants you a non-exclusive, worldwide, royalty-free
|
488 |
+
patent license under the contributor's essential patent claims, to
|
489 |
+
make, use, sell, offer for sale, import and otherwise run, modify and
|
490 |
+
propagate the contents of its contributor version.
|
491 |
+
|
492 |
+
In the following three paragraphs, a "patent license" is any express
|
493 |
+
agreement or commitment, however denominated, not to enforce a patent
|
494 |
+
(such as an express permission to practice a patent or covenant not to
|
495 |
+
sue for patent infringement). To "grant" such a patent license to a
|
496 |
+
party means to make such an agreement or commitment not to enforce a
|
497 |
+
patent against the party.
|
498 |
+
|
499 |
+
If you convey a covered work, knowingly relying on a patent license,
|
500 |
+
and the Corresponding Source of the work is not available for anyone
|
501 |
+
to copy, free of charge and under the terms of this License, through a
|
502 |
+
publicly available network server or other readily accessible means,
|
503 |
+
then you must either (1) cause the Corresponding Source to be so
|
504 |
+
available, or (2) arrange to deprive yourself of the benefit of the
|
505 |
+
patent license for this particular work, or (3) arrange, in a manner
|
506 |
+
consistent with the requirements of this License, to extend the patent
|
507 |
+
license to downstream recipients. "Knowingly relying" means you have
|
508 |
+
actual knowledge that, but for the patent license, your conveying the
|
509 |
+
covered work in a country, or your recipient's use of the covered work
|
510 |
+
in a country, would infringe one or more identifiable patents in that
|
511 |
+
country that you have reason to believe are valid.
|
512 |
+
|
513 |
+
If, pursuant to or in connection with a single transaction or
|
514 |
+
arrangement, you convey, or propagate by procuring conveyance of, a
|
515 |
+
covered work, and grant a patent license to some of the parties
|
516 |
+
receiving the covered work authorizing them to use, propagate, modify
|
517 |
+
or convey a specific copy of the covered work, then the patent license
|
518 |
+
you grant is automatically extended to all recipients of the covered
|
519 |
+
work and works based on it.
|
520 |
+
|
521 |
+
A patent license is "discriminatory" if it does not include within
|
522 |
+
the scope of its coverage, prohibits the exercise of, or is
|
523 |
+
conditioned on the non-exercise of one or more of the rights that are
|
524 |
+
specifically granted under this License. You may not convey a covered
|
525 |
+
work if you are a party to an arrangement with a third party that is
|
526 |
+
in the business of distributing software, under which you make payment
|
527 |
+
to the third party based on the extent of your activity of conveying
|
528 |
+
the work, and under which the third party grants, to any of the
|
529 |
+
parties who would receive the covered work from you, a discriminatory
|
530 |
+
patent license (a) in connection with copies of the covered work
|
531 |
+
conveyed by you (or copies made from those copies), or (b) primarily
|
532 |
+
for and in connection with specific products or compilations that
|
533 |
+
contain the covered work, unless you entered into that arrangement,
|
534 |
+
or that patent license was granted, prior to 28 March 2007.
|
535 |
+
|
536 |
+
Nothing in this License shall be construed as excluding or limiting
|
537 |
+
any implied license or other defenses to infringement that may
|
538 |
+
otherwise be available to you under applicable patent law.
|
539 |
+
|
540 |
+
12. No Surrender of Others' Freedom.
|
541 |
+
|
542 |
+
If conditions are imposed on you (whether by court order, agreement or
|
543 |
+
otherwise) that contradict the conditions of this License, they do not
|
544 |
+
excuse you from the conditions of this License. If you cannot convey a
|
545 |
+
covered work so as to satisfy simultaneously your obligations under this
|
546 |
+
License and any other pertinent obligations, then as a consequence you may
|
547 |
+
not convey it at all. For example, if you agree to terms that obligate you
|
548 |
+
to collect a royalty for further conveying from those to whom you convey
|
549 |
+
the Program, the only way you could satisfy both those terms and this
|
550 |
+
License would be to refrain entirely from conveying the Program.
|
551 |
+
|
552 |
+
13. Use with the GNU Affero General Public License.
|
553 |
+
|
554 |
+
Notwithstanding any other provision of this License, you have
|
555 |
+
permission to link or combine any covered work with a work licensed
|
556 |
+
under version 3 of the GNU Affero General Public License into a single
|
557 |
+
combined work, and to convey the resulting work. The terms of this
|
558 |
+
License will continue to apply to the part which is the covered work,
|
559 |
+
but the special requirements of the GNU Affero General Public License,
|
560 |
+
section 13, concerning interaction through a network will apply to the
|
561 |
+
combination as such.
|
562 |
+
|
563 |
+
14. Revised Versions of this License.
|
564 |
+
|
565 |
+
The Free Software Foundation may publish revised and/or new versions of
|
566 |
+
the GNU General Public License from time to time. Such new versions will
|
567 |
+
be similar in spirit to the present version, but may differ in detail to
|
568 |
+
address new problems or concerns.
|
569 |
+
|
570 |
+
Each version is given a distinguishing version number. If the
|
571 |
+
Program specifies that a certain numbered version of the GNU General
|
572 |
+
Public License "or any later version" applies to it, you have the
|
573 |
+
option of following the terms and conditions either of that numbered
|
574 |
+
version or of any later version published by the Free Software
|
575 |
+
Foundation. If the Program does not specify a version number of the
|
576 |
+
GNU General Public License, you may choose any version ever published
|
577 |
+
by the Free Software Foundation.
|
578 |
+
|
579 |
+
If the Program specifies that a proxy can decide which future
|
580 |
+
versions of the GNU General Public License can be used, that proxy's
|
581 |
+
public statement of acceptance of a version permanently authorizes you
|
582 |
+
to choose that version for the Program.
|
583 |
+
|
584 |
+
Later license versions may give you additional or different
|
585 |
+
permissions. However, no additional obligations are imposed on any
|
586 |
+
author or copyright holder as a result of your choosing to follow a
|
587 |
+
later version.
|
588 |
+
|
589 |
+
15. Disclaimer of Warranty.
|
590 |
+
|
591 |
+
THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY
|
592 |
+
APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
|
593 |
+
HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY
|
594 |
+
OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,
|
595 |
+
THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
|
596 |
+
PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM
|
597 |
+
IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF
|
598 |
+
ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
|
599 |
+
|
600 |
+
16. Limitation of Liability.
|
601 |
+
|
602 |
+
IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
|
603 |
+
WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS
|
604 |
+
THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
|
605 |
+
GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE
|
606 |
+
USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF
|
607 |
+
DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD
|
608 |
+
PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),
|
609 |
+
EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF
|
610 |
+
SUCH DAMAGES.
|
611 |
+
|
612 |
+
17. Interpretation of Sections 15 and 16.
|
613 |
+
|
614 |
+
If the disclaimer of warranty and limitation of liability provided
|
615 |
+
above cannot be given local legal effect according to their terms,
|
616 |
+
reviewing courts shall apply local law that most closely approximates
|
617 |
+
an absolute waiver of all civil liability in connection with the
|
618 |
+
Program, unless a warranty or assumption of liability accompanies a
|
619 |
+
copy of the Program in return for a fee.
|
620 |
+
|
621 |
+
END OF TERMS AND CONDITIONS
|
622 |
+
|
623 |
+
How to Apply These Terms to Your New Programs
|
624 |
+
|
625 |
+
If you develop a new program, and you want it to be of the greatest
|
626 |
+
possible use to the public, the best way to achieve this is to make it
|
627 |
+
free software which everyone can redistribute and change under these terms.
|
628 |
+
|
629 |
+
To do so, attach the following notices to the program. It is safest
|
630 |
+
to attach them to the start of each source file to most effectively
|
631 |
+
state the exclusion of warranty; and each file should have at least
|
632 |
+
the "copyright" line and a pointer to where the full notice is found.
|
633 |
+
|
634 |
+
<one line to give the program's name and a brief idea of what it does.>
|
635 |
+
Copyright (C) <year> <name of author>
|
636 |
+
|
637 |
+
This program is free software: you can redistribute it and/or modify
|
638 |
+
it under the terms of the GNU General Public License as published by
|
639 |
+
the Free Software Foundation, either version 3 of the License, or
|
640 |
+
(at your option) any later version.
|
641 |
+
|
642 |
+
This program is distributed in the hope that it will be useful,
|
643 |
+
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
644 |
+
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
645 |
+
GNU General Public License for more details.
|
646 |
+
|
647 |
+
You should have received a copy of the GNU General Public License
|
648 |
+
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
649 |
+
|
650 |
+
Also add information on how to contact you by electronic and paper mail.
|
651 |
+
|
652 |
+
If the program does terminal interaction, make it output a short
|
653 |
+
notice like this when it starts in an interactive mode:
|
654 |
+
|
655 |
+
<program> Copyright (C) <year> <name of author>
|
656 |
+
This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
|
657 |
+
This is free software, and you are welcome to redistribute it
|
658 |
+
under certain conditions; type `show c' for details.
|
659 |
+
|
660 |
+
The hypothetical commands `show w' and `show c' should show the appropriate
|
661 |
+
parts of the General Public License. Of course, your program's commands
|
662 |
+
might be different; for a GUI interface, you would use an "about box".
|
663 |
+
|
664 |
+
You should also get your employer (if you work as a programmer) or school,
|
665 |
+
if any, to sign a "copyright disclaimer" for the program, if necessary.
|
666 |
+
For more information on this, and how to apply and follow the GNU GPL, see
|
667 |
+
<http://www.gnu.org/licenses/>.
|
668 |
+
|
669 |
+
The GNU General Public License does not permit incorporating your program
|
670 |
+
into proprietary programs. If your program is a subroutine library, you
|
671 |
+
may consider it more useful to permit linking proprietary applications with
|
672 |
+
the library. If this is what you want to do, use the GNU Lesser General
|
673 |
+
Public License instead of this License. But first, please read
|
674 |
+
<http://www.gnu.org/philosophy/why-not-lgpl.html>.
|
trunk/plugin.php
ADDED
@@ -0,0 +1,3113 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/*
|
3 |
+
Plugin Name: AG Custom Admin
|
4 |
+
Plugin URI: http://wordpressadminpanel.com/ag-custom-admin/
|
5 |
+
Description: All-in-one tool for admin panel customization. Change almost everything: admin menu, dashboard, login page, admin bar etc. Apply admin panel themes.
|
6 |
+
Author: WAP
|
7 |
+
Version: 5.6.3
|
8 |
+
Text Domain: ag-custom-admin
|
9 |
+
Domain Path: /languages
|
10 |
+
Author URI: http://www.wordpressadminpanel.com/
|
11 |
+
|
12 |
+
Copyright 2016. WAP (email : info@wordpressadminpanel.com)
|
13 |
+
|
14 |
+
This program is free software: you can redistribute it and/or modify
|
15 |
+
it under the terms of the GNU General Public License as published by
|
16 |
+
the Free Software Foundation, either version 3 of the License, or
|
17 |
+
(at your option) any later version.
|
18 |
+
|
19 |
+
This program is distributed in the hope that it will be useful,
|
20 |
+
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
21 |
+
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
22 |
+
GNU General Public License for more details.
|
23 |
+
|
24 |
+
You should have received a copy of the GNU General Public License
|
25 |
+
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
26 |
+
*/
|
27 |
+
|
28 |
+
$agca = new AGCA();
|
29 |
+
|
30 |
+
class AGCA{
|
31 |
+
private $colorizer="";
|
32 |
+
private $agca_version;
|
33 |
+
private $agca_debug = false;
|
34 |
+
private $admin_capabilities;
|
35 |
+
private $context = "";
|
36 |
+
private $saveAfterImport = false;
|
37 |
+
private $templateCustomizations = "";
|
38 |
+
private $templates_ep = "http://wordpressadminpanel.com/configuration.php";
|
39 |
+
|
40 |
+
public function __construct()
|
41 |
+
{
|
42 |
+
add_action('init', array(&$this,'init'));
|
43 |
+
}
|
44 |
+
|
45 |
+
function init(){
|
46 |
+
$this->reloadScript();
|
47 |
+
$this->checkPOST();
|
48 |
+
$this->checkGET();
|
49 |
+
|
50 |
+
if(function_exists("add_filter")){
|
51 |
+
add_filter('admin_title', array(&$this,'change_title'), 10, 2);
|
52 |
+
add_filter('plugin_row_meta', array(&$this,'jk_filter_plugin_links'), 10, 2);
|
53 |
+
}
|
54 |
+
|
55 |
+
add_action('admin_init', array(&$this,'agca_register_settings'));
|
56 |
+
add_action('admin_init', array(&$this,'agca_init_session'));
|
57 |
+
add_action('admin_head', array(&$this,'print_admin_css'));
|
58 |
+
add_action('login_head', array(&$this,'print_login_head'));
|
59 |
+
add_action('admin_menu', array(&$this,'agca_create_menu'));
|
60 |
+
add_action('wp_head', array(&$this,'print_page'));
|
61 |
+
add_action( 'wp_before_admin_bar_render', array(&$this,'admin_bar_changes') );
|
62 |
+
add_action( 'plugins_loaded', array(&$this,'load_plugin_textdomain') );
|
63 |
+
register_deactivation_hook(__FILE__, array(&$this,'agca_deactivate'));
|
64 |
+
|
65 |
+
add_action( 'customize_controls_enqueue_scripts', array(&$this,'agca_customizer_php') );
|
66 |
+
|
67 |
+
/* wp_localize_script(
|
68 |
+
'agca-script',//use agca enqueued script
|
69 |
+
'agca_string',
|
70 |
+
$this->get_language_strings()
|
71 |
+
);*/
|
72 |
+
|
73 |
+
/*Initialize properties*/
|
74 |
+
$this->colorizer = $this->jsonMenuArray(get_option('ag_colorizer_json'),'colorizer');
|
75 |
+
|
76 |
+
$this->agca_version = "5.6.3";
|
77 |
+
|
78 |
+
//TODO:upload images programmatically
|
79 |
+
}
|
80 |
+
|
81 |
+
function load_plugin_textdomain() {
|
82 |
+
load_plugin_textdomain( 'ag-custom-admin', FALSE, basename( dirname( __FILE__ ) ) . '/languages/' );
|
83 |
+
}
|
84 |
+
|
85 |
+
// Add donate and support information
|
86 |
+
function jk_filter_plugin_links($links, $file)
|
87 |
+
{
|
88 |
+
if ( $file == plugin_basename(__FILE__) )
|
89 |
+
{
|
90 |
+
if(!is_network_admin()){
|
91 |
+
$links[] = '<a href="tools.php?page=ag-custom-admin/plugin.php">' . __('Settings', 'ag-custom-admin') . '</a>';
|
92 |
+
$links[] = '<a href="tools.php?page=ag-custom-admin/plugin.php#ag-templates">' . __('Admin Themes', 'ag-custom-admin') . '</a>';
|
93 |
+
}
|
94 |
+
$links[] = '<a href="http://wordpressadminpanel.com/agca-support/">' . __('Support', 'ag-custom-admin') . '</a>';
|
95 |
+
$links[] = '<a href="https://cusmin.com/upgrade-to-cusmin">' . __('Upgrade', 'ag-custom-admin') . '</a>';
|
96 |
+
$links[] = '<a href="http://wordpressadminpanel.com/agca-support/support-for-future-development">' . __('Donate', 'ag-custom-admin') . '</a>';
|
97 |
+
}
|
98 |
+
return $links;
|
99 |
+
}
|
100 |
+
|
101 |
+
function change_admin_color(){
|
102 |
+
return 'default';
|
103 |
+
}
|
104 |
+
|
105 |
+
function agca_customizer_php(){
|
106 |
+
$this->agca_get_includes();
|
107 |
+
}
|
108 |
+
|
109 |
+
function agca_init_session(){
|
110 |
+
if (!session_id())
|
111 |
+
session_start();
|
112 |
+
}
|
113 |
+
|
114 |
+
function checkGET(){
|
115 |
+
if(isset($_GET['agca_action'])){
|
116 |
+
if($_GET['agca_action'] =="remove_templates"){
|
117 |
+
$this->delete_template_images_all();
|
118 |
+
update_option('agca_templates', "");
|
119 |
+
update_option('agca_selected_template', "");
|
120 |
+
}
|
121 |
+
}
|
122 |
+
if(isset($_GET['agca_debug'])){
|
123 |
+
if($_GET['agca_debug'] =="true"){
|
124 |
+
$this->agca_debug = true;
|
125 |
+
}else{
|
126 |
+
$this->agca_debug = false;
|
127 |
+
}
|
128 |
+
}
|
129 |
+
}
|
130 |
+
|
131 |
+
function checkPOST(){
|
132 |
+
if(isset($_POST['_agca_save_template'])){
|
133 |
+
$this->verifyPostRequest();
|
134 |
+
//print_r($_POST);
|
135 |
+
$data = $_POST['templates_data'];
|
136 |
+
$parts = explode("|||",$data);
|
137 |
+
|
138 |
+
$common_data = $parts [0];
|
139 |
+
$admin_js = $parts [1];
|
140 |
+
$admin_css = $parts [2];
|
141 |
+
$login_js = $parts [3];
|
142 |
+
$login_css = $parts [4];
|
143 |
+
$settings = $parts [5];
|
144 |
+
$images = $parts [6];
|
145 |
+
|
146 |
+
$template_name = $_POST['templates_name'];
|
147 |
+
|
148 |
+
update_option('agca_selected_template', $template_name);
|
149 |
+
|
150 |
+
$templates = get_option( 'agca_templates' );
|
151 |
+
if($templates == ""){
|
152 |
+
$templates = array();
|
153 |
+
}
|
154 |
+
|
155 |
+
$templates[$template_name] = array(
|
156 |
+
'common'=>$common_data,
|
157 |
+
'admin'=>"",
|
158 |
+
'adminjs'=>$admin_js,
|
159 |
+
'admincss'=>$admin_css,
|
160 |
+
'login'=>"",
|
161 |
+
'loginjs'=>$login_js,
|
162 |
+
'logincss'=>$login_css,
|
163 |
+
'images'=>$images,
|
164 |
+
'settings'=>$settings
|
165 |
+
);
|
166 |
+
update_option('agca_templates', $templates);
|
167 |
+
|
168 |
+
$_POST = array();
|
169 |
+
|
170 |
+
}else if(isset($_POST['_agca_templates_session'])){
|
171 |
+
$this->verifyPostRequest();
|
172 |
+
$this->agcaAdminSession();
|
173 |
+
if($_POST['template'] !="")
|
174 |
+
$_SESSION["AGCA"]["Templates"][$_POST['template']] = array("license"=>$_POST['license']);
|
175 |
+
|
176 |
+
//print_r($_SESSION);
|
177 |
+
echo "_agca_templates_session:OK";
|
178 |
+
exit;
|
179 |
+
}else if(isset($_POST['_agca_templates_session_remove_license'])){
|
180 |
+
$this->verifyPostRequest();
|
181 |
+
$this->agcaAdminSession();
|
182 |
+
if($_POST['template'] !="")
|
183 |
+
$_SESSION["AGCA"]["Templates"][$_POST['template']] = null;
|
184 |
+
print_r($_SESSION);
|
185 |
+
echo "_agca_templates_session_remove_license:OK";
|
186 |
+
exit;
|
187 |
+
}else if(isset($_POST['_agca_get_templates'])){
|
188 |
+
$this->verifyPostRequest();
|
189 |
+
$templates = get_option( 'agca_templates' );
|
190 |
+
if($templates == "") $templates = array();
|
191 |
+
$results = array();
|
192 |
+
foreach($templates as $key=>$val){
|
193 |
+
$results[]=$key;
|
194 |
+
}
|
195 |
+
echo json_encode($results);
|
196 |
+
exit;
|
197 |
+
}else if(isset($_POST['_agca_activate_template'])){
|
198 |
+
$this->verifyPostRequest();
|
199 |
+
update_option('agca_selected_template', $_POST['_agca_activate_template']);
|
200 |
+
$_POST = array();
|
201 |
+
//unset($_POST);
|
202 |
+
exit;
|
203 |
+
}else if(isset($_POST['_agca_template_settings'])){
|
204 |
+
$this->verifyPostRequest();
|
205 |
+
$settings = $_POST['_agca_template_settings'];
|
206 |
+
|
207 |
+
$templates = get_option( 'agca_templates' );
|
208 |
+
if($templates == ""){
|
209 |
+
$templates = array();
|
210 |
+
}
|
211 |
+
$template_name = $_POST["_agca_current_template"];
|
212 |
+
|
213 |
+
$templates[$template_name]["settings"] = $settings;
|
214 |
+
update_option('agca_templates', $templates);
|
215 |
+
|
216 |
+
$_POST = array();
|
217 |
+
//print_r($templates);
|
218 |
+
exit;
|
219 |
+
}else if(isset($_POST['_agca_upload_image'])){
|
220 |
+
$this->verifyPostRequest();
|
221 |
+
function my_sideload_image() {
|
222 |
+
$remoteurl = $_POST['_agca_upload_image'];
|
223 |
+
$file = media_sideload_image( $remoteurl, 0 ,__("AG Custom Admin theme image (do not delete)", 'ag-custom-admin'));
|
224 |
+
try{
|
225 |
+
$fileparts = explode("src='", $file);
|
226 |
+
$url=explode("'",$fileparts[1]);
|
227 |
+
echo $url[0];
|
228 |
+
}catch (\Exception $e){}
|
229 |
+
exit;
|
230 |
+
}
|
231 |
+
add_action( 'admin_init', 'my_sideload_image' );
|
232 |
+
|
233 |
+
}else if(isset($_POST['_agca_remove_template_images'])){
|
234 |
+
$this->verifyPostRequest();
|
235 |
+
$this->delete_template_images($_POST['_agca_remove_template_images']);
|
236 |
+
exit;
|
237 |
+
}
|
238 |
+
}
|
239 |
+
|
240 |
+
function verifyPostRequest(){
|
241 |
+
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
|
242 |
+
if (!is_admin()) {
|
243 |
+
_e('Not allowed. This action is allowed exclusively in admin panel', 'ag-custom-admin');
|
244 |
+
exit;
|
245 |
+
}
|
246 |
+
//In case of problems with saving AGCA settings on MS disable verification temporary
|
247 |
+
if(get_option('agca_disable_postver')){
|
248 |
+
return;
|
249 |
+
}
|
250 |
+
if (is_multisite()) {
|
251 |
+
$blog_id = get_current_blog_id();
|
252 |
+
$user_id = get_current_user_id();
|
253 |
+
$msError = __('Please try temporary disabling POST verification. Go to AG Custom Admin -> Advanced -> Temporary disable POST verification. Do not forget to un-check this option once you are done with customizations.', 'ag-custom-admin');
|
254 |
+
if (is_user_member_of_blog($user_id, $blog_id)) {
|
255 |
+
if (!current_user_can('manage_options')) {
|
256 |
+
_e('Multi-site: Current user is not recognized as administrator.', 'ag-custom-admin');
|
257 |
+
echo ' '.$msError;
|
258 |
+
exit;
|
259 |
+
}
|
260 |
+
} else {
|
261 |
+
printf(
|
262 |
+
/*translators: 1: User Id 2: Blog Id*/
|
263 |
+
__('Multi-site: User (%1$s) does not have access to this blog (%2$s).', 'ag-custom-admin'),
|
264 |
+
$user_id,
|
265 |
+
$blog_id
|
266 |
+
);
|
267 |
+
echo ' '. $msError;
|
268 |
+
exit;
|
269 |
+
}
|
270 |
+
} else {
|
271 |
+
include_once(ABSPATH . 'wp-includes/pluggable.php');
|
272 |
+
if (!is_user_logged_in() || !current_user_can('manage_options')) {
|
273 |
+
echo !is_user_logged_in() ? __('User is not logged in.', 'ag-custom-admin').' ' : '';
|
274 |
+
echo !current_user_can('manage_options') ? __('User can not manage options.', 'ag-custom-admin').' ' : '';
|
275 |
+
exit;
|
276 |
+
}
|
277 |
+
}
|
278 |
+
if (!wp_verify_nonce($_POST['_agca_token'], 'agca_form')) {
|
279 |
+
echo __('Nonce verification failed.', 'ag-custom-admin');
|
280 |
+
exit;
|
281 |
+
}
|
282 |
+
}
|
283 |
+
}
|
284 |
+
|
285 |
+
function get_language_strings() {
|
286 |
+
$strings = array(
|
287 |
+
|
288 |
+
);
|
289 |
+
return $strings;
|
290 |
+
}
|
291 |
+
|
292 |
+
function admin_bar_changes(){
|
293 |
+
if( current_user_can( 'manage_options' )){
|
294 |
+
global $wp_admin_bar;
|
295 |
+
if(!is_network_admin()){
|
296 |
+
$wp_admin_bar->add_menu( array(
|
297 |
+
'id' => 'agca-admin-themes',
|
298 |
+
'title' => '<span class="ab-icon"></span>'.__( 'Admin Themes', 'agca-custom-admin' ),
|
299 |
+
'href' => 'tools.php?page=ag-custom-admin/plugin.php#ag-templates'
|
300 |
+
));
|
301 |
+
}
|
302 |
+
}
|
303 |
+
}
|
304 |
+
|
305 |
+
function delete_template_images_all(){
|
306 |
+
$templates = get_option('agca_templates');
|
307 |
+
if($templates != null && $templates != ""){
|
308 |
+
foreach($templates as $template){
|
309 |
+
if($template != null && $template['images'] != null && $template['images'] != ""){
|
310 |
+
//print_r($template['images']);
|
311 |
+
$imgs = explode(',',$template['images']);
|
312 |
+
foreach($imgs as $imageSrc){
|
313 |
+
$this->delete_attachment_by_src($imageSrc);
|
314 |
+
}
|
315 |
+
//print_r($imgs);
|
316 |
+
}
|
317 |
+
}
|
318 |
+
}
|
319 |
+
//print_r($templates);
|
320 |
+
}
|
321 |
+
|
322 |
+
function delete_template_images($template_name){
|
323 |
+
$templates = get_option('agca_templates');
|
324 |
+
if($templates != null && $templates != ""){
|
325 |
+
$template = $templates[$template_name];
|
326 |
+
if($template != null && $template['images'] != null && $template['images'] != ""){
|
327 |
+
//print_r($template['images']); exit;
|
328 |
+
$imgs = explode(',',$template['images']);
|
329 |
+
foreach($imgs as $imageSrc){
|
330 |
+
$this->delete_attachment_by_src($imageSrc);
|
331 |
+
}
|
332 |
+
//print_r($imgs);
|
333 |
+
}
|
334 |
+
}
|
335 |
+
//print_r($templates);
|
336 |
+
}
|
337 |
+
|
338 |
+
function delete_attachment_by_src ($image_src) {
|
339 |
+
global $wpdb;
|
340 |
+
$query = "SELECT ID FROM {$wpdb->posts} WHERE guid='$image_src'";
|
341 |
+
$id = $wpdb->get_var($query);
|
342 |
+
wp_delete_attachment( $id, $true );
|
343 |
+
}
|
344 |
+
|
345 |
+
function get_installed_agca_templates(){
|
346 |
+
$templates = get_option( 'agca_templates' );
|
347 |
+
if($templates == "")return '[]';
|
348 |
+
$results = array();
|
349 |
+
foreach($templates as $key=>$val){
|
350 |
+
$results[]=$key;
|
351 |
+
}
|
352 |
+
return json_encode($results);
|
353 |
+
}
|
354 |
+
|
355 |
+
function isGuest(){
|
356 |
+
global $user_login;
|
357 |
+
if($user_login) {
|
358 |
+
return false;
|
359 |
+
}else{
|
360 |
+
return true;
|
361 |
+
}
|
362 |
+
}
|
363 |
+
function change_title($admin_title, $title){
|
364 |
+
//return get_bloginfo('name').' - '.$title;
|
365 |
+
if(get_option('agca_custom_title')!=""){
|
366 |
+
$blog = get_bloginfo('name');
|
367 |
+
$page = $title;
|
368 |
+
$customTitle = get_option('agca_custom_title');
|
369 |
+
$customTitle = str_replace('%BLOG%',$blog,$customTitle);
|
370 |
+
$customTitle = str_replace('%PAGE%',$page,$customTitle);
|
371 |
+
return $customTitle;
|
372 |
+
}else{
|
373 |
+
return $admin_title;
|
374 |
+
}
|
375 |
+
}
|
376 |
+
function agca_get_includes() {
|
377 |
+
?>
|
378 |
+
<script type="text/javascript">
|
379 |
+
<?php
|
380 |
+
//AGCA GLOBALS
|
381 |
+
echo "var agca_global_plugin_url = '".$this->pluginUrl()."';";
|
382 |
+
?>
|
383 |
+
</script>
|
384 |
+
<link rel="stylesheet" type="text/css" href="<?php echo $this->pluginUrl(); ?>style/ag_style.css?ver=<?php echo $this->agca_version; ?>" />
|
385 |
+
<link rel="stylesheet" type="text/css" href="<?php echo $this->pluginUrl(); ?>require/dynamic.php?type=css&context=<?php echo $this->context; ?>&ver=<?php echo "changed_theme"; ?>" />
|
386 |
+
<script type="text/javascript" src="<?php echo $this->pluginUrl(); ?>script/ag_script.js?ver=<?php echo $this->agca_version; ?>"></script>
|
387 |
+
<script type="text/javascript" src="<?php echo $this->pluginUrl(); ?>require/dynamic.php?type=js&context=<?php echo $this->context; ?>&ver=<?php echo "changed_theme"; ?>"></script>
|
388 |
+
|
389 |
+
<?php
|
390 |
+
if($this->context == "login"){
|
391 |
+
?>
|
392 |
+
<link rel="stylesheet" type="text/css" href="<?php echo $this->pluginUrl(); ?>style/login.min.css" />
|
393 |
+
<?php
|
394 |
+
}else{
|
395 |
+
?>
|
396 |
+
<link rel="stylesheet" type="text/css" href="<?php echo $this->pluginUrl(); ?>style/admin.min.css" />
|
397 |
+
<?php
|
398 |
+
}
|
399 |
+
?>
|
400 |
+
<?php
|
401 |
+
echo $this->templateCustomizations;
|
402 |
+
|
403 |
+
if(!((get_option('agca_role_allbutadmin')==true) and (current_user_can($this->admin_capability())))){
|
404 |
+
?>
|
405 |
+
<style type="text/css">
|
406 |
+
<?php
|
407 |
+
echo get_option('agca_custom_css');
|
408 |
+
?>
|
409 |
+
</style>
|
410 |
+
<script type="text/javascript">
|
411 |
+
try{
|
412 |
+
eval("<?php echo str_replace(array("\r\n", "\n", "\r"), ' ', get_option('agca_custom_js')); ?>");
|
413 |
+
}catch(e){
|
414 |
+
alert('AG CUSTOM ADMIN: <?php _e('There is an error in your custom JS script. Please fix it:', 'ag-custom-admin'); ?> \n\n' + e + '\n\n (<?php _e('AG CUSTOM ADMIN -> Advanced -> Custom JavaScript', 'ag-custom-admin'); ?>)');
|
415 |
+
console.log(e);
|
416 |
+
}
|
417 |
+
</script>
|
418 |
+
<?php
|
419 |
+
}
|
420 |
+
}
|
421 |
+
|
422 |
+
function agca_enqueue_scripts() {
|
423 |
+
wp_enqueue_script('jquery');
|
424 |
+
//TODO: Use this instead of manually adding scripts
|
425 |
+
//wp_enqueue_script('agca-script', __FILE__.'/script/ag_script.js', array('jquery'),$this->agca_version );
|
426 |
+
}
|
427 |
+
|
428 |
+
function WPSPluginIsLoginPage(){
|
429 |
+
|
430 |
+
$WPSPluginName = 'wps-hide-login/wps-hide-login.php';
|
431 |
+
if(is_multisite()){
|
432 |
+
if ( ! function_exists( 'is_plugin_active_for_network' ) )
|
433 |
+
require_once( ABSPATH . '/wp-admin/includes/plugin.php' );
|
434 |
+
|
435 |
+
if(!$this->isPluginActiveForNetwork($WPSPluginName)){
|
436 |
+
return '';
|
437 |
+
}
|
438 |
+
}else{
|
439 |
+
if(!$this->isPluginActive($WPSPluginName)){
|
440 |
+
return '';
|
441 |
+
}
|
442 |
+
}
|
443 |
+
|
444 |
+
if ( $slug = get_option( 'whl_page' ) ) {
|
445 |
+
return $slug;
|
446 |
+
} else if ( ( is_multisite() && $this->isPluginActiveForNetwork($WPSPluginName) && ( $slug = get_site_option( 'whl_page', 'login' ) ) ) ) {
|
447 |
+
return $slug;
|
448 |
+
} else if ( $slug = 'login' ) {
|
449 |
+
return $slug;
|
450 |
+
}
|
451 |
+
$requestURI = $_SERVER['REQUEST_URI'];
|
452 |
+
return $this->startsWith('/'.$slug.'/', $requestURI);
|
453 |
+
}
|
454 |
+
|
455 |
+
function reloadScript(){
|
456 |
+
$isAdmin = false;
|
457 |
+
if(defined('WP_ADMIN') && WP_ADMIN == 1){
|
458 |
+
$isAdmin = true;
|
459 |
+
}
|
460 |
+
if(in_array((isset($GLOBALS['pagenow'])?$GLOBALS['pagenow']:""), array('wp-login.php', 'wp-register.php')) || $isAdmin || $this->WPSPluginIsLoginPage()){
|
461 |
+
$this->agca_enqueue_scripts();
|
462 |
+
}
|
463 |
+
}
|
464 |
+
|
465 |
+
function agca_register_settings() {
|
466 |
+
register_setting( 'agca-options-group', 'agca_role_allbutadmin' );
|
467 |
+
register_setting( 'agca-options-group', 'agca_screen_options_menu' );
|
468 |
+
register_setting( 'agca-options-group', 'agca_help_menu' );
|
469 |
+
register_setting( 'agca-options-group', 'agca_logout' );
|
470 |
+
register_setting( 'agca-options-group', 'agca_remove_your_profile' );
|
471 |
+
register_setting( 'agca-options-group', 'agca_logout_only' );
|
472 |
+
register_setting( 'agca-options-group', 'agca_custom_title' );
|
473 |
+
register_setting( 'agca-options-group', 'agca_howdy' );
|
474 |
+
register_setting( 'agca-options-group', 'agca_header' );
|
475 |
+
register_setting( 'agca-options-group', 'agca_header_show_logout' );
|
476 |
+
register_setting( 'agca-options-group', 'agca_footer' );
|
477 |
+
register_setting( 'agca-options-group', 'agca_privacy_options' );
|
478 |
+
register_setting( 'agca-options-group', 'agca_header_logo' );
|
479 |
+
register_setting( 'agca-options-group', 'agca_header_logo_custom' );
|
480 |
+
register_setting( 'agca-options-group', 'agca_wp_logo_custom' );
|
481 |
+
register_setting( 'agca-options-group', 'agca_remove_site_link' );
|
482 |
+
register_setting( 'agca-options-group', 'agca_wp_logo_custom_link' );
|
483 |
+
|
484 |
+
register_setting( 'agca-options-group', 'agca_site_heading' );
|
485 |
+
register_setting( 'agca-options-group', 'agca_custom_site_heading' );
|
486 |
+
register_setting( 'agca-options-group', 'agca_update_bar' );
|
487 |
+
|
488 |
+
register_setting( 'agca-options-group', 'agca_footer_left' );
|
489 |
+
register_setting( 'agca-options-group', 'agca_footer_left_hide' );
|
490 |
+
register_setting( 'agca-options-group', 'agca_footer_right' );
|
491 |
+
register_setting( 'agca-options-group', 'agca_footer_right_hide' );
|
492 |
+
|
493 |
+
register_setting( 'agca-options-group', 'agca_login_banner' );
|
494 |
+
register_setting( 'agca-options-group', 'agca_login_banner_text' );
|
495 |
+
register_setting( 'agca-options-group', 'agca_login_photo_remove' );
|
496 |
+
register_setting( 'agca-options-group', 'agca_login_photo_url' );
|
497 |
+
register_setting( 'agca-options-group', 'agca_login_photo_href' );
|
498 |
+
register_setting( 'agca-options-group', 'agca_login_round_box' );
|
499 |
+
register_setting( 'agca-options-group', 'agca_login_round_box_size' );
|
500 |
+
|
501 |
+
register_setting( 'agca-options-group', 'agca_dashboard_icon' );
|
502 |
+
register_setting( 'agca-options-group', 'agca_dashboard_text' );
|
503 |
+
register_setting( 'agca-options-group', 'agca_dashboard_text_paragraph' );
|
504 |
+
register_setting( 'agca-options-group', 'agca_dashboard_widget_welcome' );
|
505 |
+
register_setting( 'agca-options-group', 'agca_dashboard_widget_activity' );
|
506 |
+
register_setting( 'agca-options-group', 'agca_dashboard_widget_il' );
|
507 |
+
register_setting( 'agca-options-group', 'agca_dashboard_widget_plugins' );
|
508 |
+
register_setting( 'agca-options-group', 'agca_dashboard_widget_qp' );
|
509 |
+
register_setting( 'agca-options-group', 'agca_dashboard_widget_rn' );
|
510 |
+
register_setting( 'agca-options-group', 'agca_dashboard_widget_rd' );
|
511 |
+
register_setting( 'agca-options-group', 'agca_dashboard_widget_primary' );
|
512 |
+
register_setting( 'agca-options-group', 'agca_dashboard_widget_secondary' );
|
513 |
+
|
514 |
+
//WP3.3
|
515 |
+
register_setting( 'agca-options-group', 'agca_admin_bar_comments' );
|
516 |
+
register_setting( 'agca-options-group', 'agca_admin_bar_new_content' );
|
517 |
+
register_setting( 'agca-options-group', 'agca_admin_bar_new_content_post' );
|
518 |
+
register_setting( 'agca-options-group', 'agca_admin_bar_new_content_link' );
|
519 |
+
register_setting( 'agca-options-group', 'agca_admin_bar_new_content_page' );
|
520 |
+
register_setting( 'agca-options-group', 'agca_admin_bar_new_content_user' );
|
521 |
+
register_setting( 'agca-options-group', 'agca_admin_bar_new_content_media' );
|
522 |
+
register_setting( 'agca-options-group', 'agca_admin_bar_update_notifications' );
|
523 |
+
register_setting( 'agca-options-group', 'agca_admin_bar_admin_themes' );
|
524 |
+
register_setting( 'agca-options-group', 'agca_remove_top_bar_dropdowns' );
|
525 |
+
register_setting( 'agca-options-group', 'agca_admin_bar_frontend' );
|
526 |
+
register_setting( 'agca-options-group', 'agca_admin_bar_frontend_hide' );
|
527 |
+
register_setting( 'agca-options-group', 'agca_login_register_remove' );
|
528 |
+
register_setting( 'agca-options-group', 'agca_login_register_href' );
|
529 |
+
register_setting( 'agca-options-group', 'agca_login_lostpassword_remove' );
|
530 |
+
register_setting( 'agca-options-group', 'agca_admin_capability' );
|
531 |
+
register_setting( 'agca-options-group', 'agca_disablewarning' );
|
532 |
+
register_setting( 'agca-template-group', 'agca_selected_template' );
|
533 |
+
register_setting( 'agca-template-group', 'agca_templates' );
|
534 |
+
//delete_option( 'agca_templates' );
|
535 |
+
|
536 |
+
|
537 |
+
/*Admin menu*/
|
538 |
+
register_setting( 'agca-options-group', 'agca_admin_menu_turnonoff' );
|
539 |
+
register_setting( 'agca-options-group', 'agca_admin_menu_agca_button_only' );
|
540 |
+
register_setting( 'agca-options-group', 'agca_admin_menu_separators' );
|
541 |
+
register_setting( 'agca-options-group', 'agca_admin_menu_icons' );
|
542 |
+
register_setting( 'agca-options-group', 'agca_admin_menu_collapse_button' );
|
543 |
+
register_setting( 'agca-options-group', 'agca_admin_menu_arrow' );
|
544 |
+
register_setting( 'agca-options-group', 'agca_admin_menu_submenu_round' );
|
545 |
+
register_setting( 'agca-options-group', 'agca_admin_menu_submenu_round_size' );
|
546 |
+
register_setting( 'agca-options-group', 'agca_admin_menu_brand' );
|
547 |
+
register_setting( 'agca-options-group', 'agca_admin_menu_brand_link' );
|
548 |
+
register_setting( 'agca-options-group', 'agca_admin_menu_autofold' );
|
549 |
+
register_setting( 'agca-options-group', 'ag_edit_adminmenu_json' );
|
550 |
+
register_setting( 'agca-options-group', 'ag_edit_adminmenu_json_new' );
|
551 |
+
register_setting( 'agca-options-group', 'ag_add_adminmenu_json' );
|
552 |
+
register_setting( 'agca-options-group', 'ag_colorizer_json' );
|
553 |
+
register_setting( 'agca-options-group', 'agca_colorizer_turnonoff' );
|
554 |
+
|
555 |
+
register_setting( 'agca-options-group', 'agca_custom_js' );
|
556 |
+
register_setting( 'agca-options-group', 'agca_custom_css' );
|
557 |
+
register_setting( 'agca-options-group', 'agca_disable_postver' );
|
558 |
+
register_setting( 'agca-options-group', 'agca_menu_remove_client_profile' );
|
559 |
+
|
560 |
+
|
561 |
+
if(!empty($_POST)){
|
562 |
+
if(isset($_POST['_agca_import_settings']) && $_POST['_agca_import_settings']=="true"){
|
563 |
+
$this->verifyPostRequest();
|
564 |
+
if(isset($_FILES) && isset($_FILES['settings_import_file']) ){
|
565 |
+
if($_FILES["settings_import_file"]["error"] > 0){
|
566 |
+
}else{
|
567 |
+
$file = $_FILES['settings_import_file'];
|
568 |
+
if($this->startsWith($file['name'],'AGCA_Settings')){
|
569 |
+
if (file_exists($file['tmp_name'])) {
|
570 |
+
$fh = fopen($file['tmp_name'], 'r');
|
571 |
+
$theData = "";
|
572 |
+
if(filesize($file['tmp_name']) > 0){
|
573 |
+
$theData = fread($fh,filesize($file['tmp_name']));
|
574 |
+
}
|
575 |
+
fclose($fh);
|
576 |
+
$this->importSettings($theData);
|
577 |
+
}
|
578 |
+
}
|
579 |
+
}
|
580 |
+
}
|
581 |
+
}else if(isset($_POST['_agca_export_settings']) && $_POST['_agca_export_settings']=="true"){
|
582 |
+
$this->verifyPostRequest();
|
583 |
+
$this->exportSettings();
|
584 |
+
}
|
585 |
+
}
|
586 |
+
|
587 |
+
if(isset($_GET['agca_action'])){
|
588 |
+
if($_GET['agca_action'] == "disablewarning"){
|
589 |
+
update_option('agca_disablewarning', true);
|
590 |
+
}
|
591 |
+
}
|
592 |
+
}
|
593 |
+
|
594 |
+
function agca_deactivate() {
|
595 |
+
|
596 |
+
}
|
597 |
+
|
598 |
+
function getOptions(){
|
599 |
+
return Array(
|
600 |
+
'agca_role_allbutadmin',
|
601 |
+
'agca_admin_bar_frontend',
|
602 |
+
'agca_admin_bar_frontend_hide',
|
603 |
+
'agca_login_register_remove',
|
604 |
+
'agca_login_register_href',
|
605 |
+
'agca_login_lostpassword_remove',
|
606 |
+
'agca_admin_capability',
|
607 |
+
'agca_screen_options_menu',
|
608 |
+
'agca_help_menu',
|
609 |
+
'agca_logout',
|
610 |
+
'agca_remove_your_profile',
|
611 |
+
'agca_logout_only',
|
612 |
+
'agca_custom_title',
|
613 |
+
'agca_howdy',
|
614 |
+
'agca_header',
|
615 |
+
'agca_header_show_logout',
|
616 |
+
'agca_footer',
|
617 |
+
'agca_privacy_options',
|
618 |
+
'agca_header_logo',
|
619 |
+
'agca_header_logo_custom',
|
620 |
+
'agca_remove_site_link',
|
621 |
+
'agca_wp_logo_custom',
|
622 |
+
'agca_wp_logo_custom_link',
|
623 |
+
'agca_site_heading',
|
624 |
+
'agca_custom_site_heading',
|
625 |
+
'agca_update_bar',
|
626 |
+
'agca_footer_left',
|
627 |
+
'agca_footer_left_hide',
|
628 |
+
'agca_footer_right',
|
629 |
+
'agca_footer_right_hide',
|
630 |
+
'agca_login_banner',
|
631 |
+
'agca_login_banner_text',
|
632 |
+
'agca_login_photo_remove',
|
633 |
+
'agca_login_photo_url',
|
634 |
+
'agca_login_photo_href',
|
635 |
+
'agca_login_round_box',
|
636 |
+
'agca_login_round_box_size',
|
637 |
+
'agca_dashboard_icon',
|
638 |
+
'agca_dashboard_text',
|
639 |
+
'agca_dashboard_text_paragraph',
|
640 |
+
'agca_dashboard_widget_welcome',
|
641 |
+
'agca_dashboard_widget_activity',
|
642 |
+
'agca_dashboard_widget_il',
|
643 |
+
'agca_dashboard_widget_plugins',
|
644 |
+
'agca_dashboard_widget_qp',
|
645 |
+
'agca_dashboard_widget_rn',
|
646 |
+
'agca_dashboard_widget_rd',
|
647 |
+
'agca_dashboard_widget_primary',
|
648 |
+
'agca_dashboard_widget_secondary',
|
649 |
+
'agca_admin_bar_comments',
|
650 |
+
'agca_admin_bar_new_content',
|
651 |
+
'agca_admin_bar_new_content_post',
|
652 |
+
'agca_admin_bar_new_content_link',
|
653 |
+
'agca_admin_bar_new_content_page',
|
654 |
+
'agca_admin_bar_new_content_user',
|
655 |
+
'agca_admin_bar_new_content_media',
|
656 |
+
'agca_admin_bar_update_notifications',
|
657 |
+
'agca_admin_bar_admin_themes',
|
658 |
+
'agca_remove_top_bar_dropdowns',
|
659 |
+
'agca_admin_menu_turnonoff',
|
660 |
+
'agca_admin_menu_agca_button_only',
|
661 |
+
'agca_admin_menu_separators',
|
662 |
+
'agca_admin_menu_icons',
|
663 |
+
'agca_admin_menu_arrow',
|
664 |
+
'agca_admin_menu_submenu_round',
|
665 |
+
'agca_admin_menu_submenu_round_size',
|
666 |
+
'agca_admin_menu_brand',
|
667 |
+
'agca_admin_menu_brand_link',
|
668 |
+
'agca_admin_menu_autofold',
|
669 |
+
'agca_admin_menu_collapse_button',
|
670 |
+
'ag_edit_adminmenu_json',
|
671 |
+
'ag_edit_adminmenu_json_new',
|
672 |
+
'ag_add_adminmenu_json',
|
673 |
+
'ag_colorizer_json',
|
674 |
+
'agca_colorizer_turnonof',
|
675 |
+
'agca_custom_js',
|
676 |
+
'agca_custom_css',
|
677 |
+
'agca_colorizer_turnonoff',
|
678 |
+
'agca_disablewarning',
|
679 |
+
'agca_disable_postver',
|
680 |
+
'agca_menu_remove_client_profile',
|
681 |
+
'agca_selected_template',
|
682 |
+
'agca_templates',
|
683 |
+
);
|
684 |
+
}
|
685 |
+
|
686 |
+
function getTextEditor($name){
|
687 |
+
$settings = array(
|
688 |
+
'textarea_name' => $name,
|
689 |
+
'media_buttons' => true,
|
690 |
+
'tinymce' => array(
|
691 |
+
'theme_advanced_buttons1' => 'formatselect,|,bold,italic,underline,|,' .
|
692 |
+
'bullist,blockquote,|,justifyleft,justifycenter' .
|
693 |
+
',justifyright,justifyfull,|,link,unlink,|' .
|
694 |
+
',spellchecker,wp_fullscreen,wp_adv'
|
695 |
+
)
|
696 |
+
);
|
697 |
+
wp_editor( get_option($name), $name, $settings );
|
698 |
+
}
|
699 |
+
|
700 |
+
function importSettings($settings){
|
701 |
+
$exploaded = explode("|^|^|", $settings);
|
702 |
+
// $str = "EEE: ";
|
703 |
+
$str = '';
|
704 |
+
|
705 |
+
$savedOptions = array();
|
706 |
+
|
707 |
+
foreach ($exploaded as $setting){
|
708 |
+
|
709 |
+
$key = current(explode(':', $setting));
|
710 |
+
$value = substr($setting, strlen($key)+1);
|
711 |
+
$cleanedValue = str_replace('|^|^|','',$value);
|
712 |
+
$savedOptions[$key] = $cleanedValue;
|
713 |
+
}
|
714 |
+
|
715 |
+
// print_r($savedOptions);
|
716 |
+
|
717 |
+
$optionNames = $this->getOptions();
|
718 |
+
|
719 |
+
foreach ($optionNames as $optionName){
|
720 |
+
$optionValue = "";
|
721 |
+
$optionValue = $savedOptions[$optionName];
|
722 |
+
|
723 |
+
if($optionName == "ag_edit_adminmenu_json" || "ag_edit_adminmenu_json_new"|| $optionName == "ag_add_adminmenu_json" ||$optionName == "ag_colorizer_json"){
|
724 |
+
$optionValue = str_replace("\\\"", "\"", $optionValue);
|
725 |
+
$optionValue = str_replace("\\\'", "\'", $optionValue);
|
726 |
+
}else if($optionName == "agca_custom_js" || $optionName == "agca_custom_css"){
|
727 |
+
//fb($optionValue);
|
728 |
+
$optionValue = htmlspecialchars_decode($optionValue);
|
729 |
+
$optionValue = str_replace("\'", '"', $optionValue);
|
730 |
+
$optionValue = str_replace('\"', "'", $optionValue);
|
731 |
+
//fb($optionValue);
|
732 |
+
}else{
|
733 |
+
|
734 |
+
}
|
735 |
+
update_option($optionName, $optionValue);
|
736 |
+
$str.="/".$optionName."/".$optionValue."\n";
|
737 |
+
}
|
738 |
+
|
739 |
+
//Migration from 1.2.6. to 1.2.5.1 - remove in later versions
|
740 |
+
//agca_script_css
|
741 |
+
//
|
742 |
+
// fb($savedOptions);
|
743 |
+
if($savedOptions['agca_script_css'] != null){
|
744 |
+
$optionValue = "";
|
745 |
+
$optionValue = str_replace("\'", '"', $savedOptions['agca_script_css']);
|
746 |
+
$optionValue = str_replace('\"', "'", $optionValue);
|
747 |
+
update_option('agca_custom_css', $optionValue);
|
748 |
+
}
|
749 |
+
if($savedOptions['agca_script_js'] != null){
|
750 |
+
$optionValue = "";
|
751 |
+
$optionValue = str_replace("\'", '"', $savedOptions['agca_script_js']);
|
752 |
+
$optionValue = str_replace('\"', "'", $optionValue);
|
753 |
+
update_option('agca_custom_js', $optionValue);
|
754 |
+
}
|
755 |
+
|
756 |
+
//echo $str;
|
757 |
+
|
758 |
+
//save imported settings
|
759 |
+
$this->saveAfterImport = true;
|
760 |
+
}
|
761 |
+
|
762 |
+
function exportSettings(){
|
763 |
+
$str = "";
|
764 |
+
|
765 |
+
$include_menu_settings = false;
|
766 |
+
if(isset($_POST['export_settings_include_admin_menu'])){
|
767 |
+
if($_POST['export_settings_include_admin_menu'] == 'on'){
|
768 |
+
$include_menu_settings = true;
|
769 |
+
}
|
770 |
+
}
|
771 |
+
|
772 |
+
foreach ($_POST as $key => $value) {
|
773 |
+
if ($this->startsWith($key,'ag')||$this->startsWith($key,'color')) {
|
774 |
+
if($this->startsWith($key,'ag_edit_adminmenu')){
|
775 |
+
if($include_menu_settings) $str .=$key. ":".$value."|^|^|";
|
776 |
+
}else{
|
777 |
+
$str .=$key. ":".$value."|^|^|";
|
778 |
+
}
|
779 |
+
}
|
780 |
+
}
|
781 |
+
|
782 |
+
$filename = __('AGCA_Settings', 'ag-custom-admin').'_'.date("Y-M-d_H-i-s").'.agca';
|
783 |
+
header("Cache-Control: public");
|
784 |
+
header("Content-Description: File Transfer");
|
785 |
+
header("Content-Disposition: attachment; filename=$filename");
|
786 |
+
header("Content-Type: text/plain; ");
|
787 |
+
header("Content-Transfer-Encoding: binary");
|
788 |
+
echo $str;
|
789 |
+
die();
|
790 |
+
}
|
791 |
+
|
792 |
+
function startsWith($haystack, $needle)
|
793 |
+
{
|
794 |
+
$length = strlen($needle);
|
795 |
+
return (substr($haystack, 0, $length) === $needle);
|
796 |
+
}
|
797 |
+
|
798 |
+
|
799 |
+
|
800 |
+
function agca_create_menu() {
|
801 |
+
add_management_page('AG Custom Admin', 'AG Custom Admin', 'administrator', __FILE__, array(&$this,'agca_admin_page') );
|
802 |
+
}
|
803 |
+
|
804 |
+
function agca_create_admin_button($name,$arr) {
|
805 |
+
|
806 |
+
$href = $arr["value"];
|
807 |
+
$target =$arr["target"];
|
808 |
+
$button ="<li class=\"wp-not-current-submenu menu-top menu-top-last\" id=\"menu-$name\"><a href=\"$href\" target=\"$target\" class=\"wp-not-current-submenu menu-top\"><div class=\"wp-menu-arrow\"><div></div></div><div class=\"wp-menu-image dashicons-before dashicons-admin-$name\" style=\"width:15px\"><br></div><div class=\"wp-menu-name\">$name</div></a></li>";
|
809 |
+
|
810 |
+
return $button;
|
811 |
+
}
|
812 |
+
function agca_decode($code){
|
813 |
+
$code = str_replace("{","",$code);
|
814 |
+
$code = str_replace("}","",$code);
|
815 |
+
$code = str_replace("\", \"","\"|||\"",$code);
|
816 |
+
$elements = explode("|||",$code);
|
817 |
+
|
818 |
+
return $elements;
|
819 |
+
}
|
820 |
+
|
821 |
+
function jsonMenuArray($json,$type){
|
822 |
+
$arr = explode("|",$json);
|
823 |
+
$elements = "";
|
824 |
+
$array ="";
|
825 |
+
$first = true;
|
826 |
+
//print_r($json);
|
827 |
+
if($type == "colorizer"){
|
828 |
+
$elements = json_decode($arr[0],true);
|
829 |
+
if($elements !=""){
|
830 |
+
return $elements;
|
831 |
+
}
|
832 |
+
}else if($type == "buttons"){
|
833 |
+
$elements = json_decode($arr[0],true);
|
834 |
+
if($elements !=""){
|
835 |
+
foreach($elements as $k => $v){
|
836 |
+
$array.=$this->agca_create_admin_button($k,$v);
|
837 |
+
}
|
838 |
+
}
|
839 |
+
}else if($type == "buttonsJq"){
|
840 |
+
$elements = json_decode($arr[0],true);
|
841 |
+
if($elements !=""){
|
842 |
+
foreach($elements as $k => $v){
|
843 |
+
$array.='<tr><td colspan="2"><button target="'.$v['target'].'" title="'.$v['value'].'" type="button">'.$k.'</button> <a style="cursor:pointer;" title="Edit" class="button_edit"><span class="dashicons dashicons-edit"></span></a> <a style="cursor:pointer" title="Delete" class="button_remove"><span class="dashicons dashicons-no"></span></a></td><td></td></tr>';
|
844 |
+
}
|
845 |
+
}
|
846 |
+
}else{
|
847 |
+
if(isset($arr[$type])){
|
848 |
+
$elements = $this->agca_decode($arr[$type]);
|
849 |
+
}
|
850 |
+
|
851 |
+
if($elements !=""){
|
852 |
+
foreach($elements as $element){
|
853 |
+
if(!$first){
|
854 |
+
$array .=",";
|
855 |
+
}
|
856 |
+
$parts = explode(" : ",$element);
|
857 |
+
if(isset($parts[0]) && isset($parts[1])){
|
858 |
+
$array.="[".$parts[0].", ".$parts[1]."]";
|
859 |
+
}
|
860 |
+
$first=false;
|
861 |
+
}
|
862 |
+
}
|
863 |
+
}
|
864 |
+
|
865 |
+
return $array;
|
866 |
+
}
|
867 |
+
|
868 |
+
function remove_dashboard_widget($widget,$side)
|
869 |
+
{
|
870 |
+
//side can be 'normal' or 'side'
|
871 |
+
global $wp_meta_boxes;
|
872 |
+
remove_meta_box($widget, 'dashboard', $side);
|
873 |
+
}
|
874 |
+
|
875 |
+
function get_wp_version(){
|
876 |
+
global $wp_version;
|
877 |
+
$array = explode('-', $wp_version);
|
878 |
+
$version = $array[0];
|
879 |
+
return $version;
|
880 |
+
}
|
881 |
+
|
882 |
+
function print_page()
|
883 |
+
{
|
884 |
+
if($this->isGuest() && get_option('agca_admin_bar_frontend_hide') or $this->isCusminActive()){
|
885 |
+
return false;
|
886 |
+
}
|
887 |
+
if(!$this->isGuest()){
|
888 |
+
?><style type="text/css"><?php echo get_option('agca_custom_css'); ?></style><?php
|
889 |
+
}
|
890 |
+
|
891 |
+
if(get_option('agca_admin_bar_frontend_hide')==true){
|
892 |
+
add_filter( 'show_admin_bar', '__return_false' );
|
893 |
+
?>
|
894 |
+
<style type="text/css">
|
895 |
+
#wpadminbar{
|
896 |
+
display: none;
|
897 |
+
}
|
898 |
+
</style>
|
899 |
+
<script type="text/javascript">
|
900 |
+
window.setTimeout(function(){document.getElementsByTagName('html')[0].setAttribute('style',"margin-top:0px !important");},50);
|
901 |
+
</script>
|
902 |
+
<?php
|
903 |
+
}
|
904 |
+
if(get_option('agca_admin_bar_frontend')!=true){
|
905 |
+
|
906 |
+
$this->context = "page";
|
907 |
+
$wpversion = $this->get_wp_version();
|
908 |
+
|
909 |
+
?>
|
910 |
+
|
911 |
+
|
912 |
+
<script type="text/javascript">
|
913 |
+
var wpversion = "<?php echo $wpversion; ?>";
|
914 |
+
var agca_version = "<?php echo $this->agca_version; ?>";
|
915 |
+
var agca_debug = <?php echo ($this->agca_debug)?"true":"false"; ?>;
|
916 |
+
var jQueryScriptOutputted = false;
|
917 |
+
var agca_context = "page";
|
918 |
+
var agca_orig_admin_menu = [];
|
919 |
+
function initJQuery() {
|
920 |
+
//if the jQuery object isn't available
|
921 |
+
if (typeof(jQuery) == 'undefined') {
|
922 |
+
if (! jQueryScriptOutputted) {
|
923 |
+
//only output the script once..
|
924 |
+
jQueryScriptOutputted = true;
|
925 |
+
//output the script (load it from google api)
|
926 |
+
document.write("<scr" + "ipt type=\"text/javascript\" src=\"//ajax.googleapis.com/ajax/libs/jquery/3.0.0/jquery.min.js\"></scr" + "ipt>");
|
927 |
+
}
|
928 |
+
setTimeout("initJQuery()", 50);
|
929 |
+
} else {
|
930 |
+
jQuery(function() {
|
931 |
+
try
|
932 |
+
{
|
933 |
+
<?php if(get_option('agca_header')!=true){ ?>
|
934 |
+
jQuery('#wpadminbar').show();
|
935 |
+
<?php } ?>
|
936 |
+
|
937 |
+
<?php $this->print_admin_bar_scripts(); ?>
|
938 |
+
}catch(ex){}
|
939 |
+
});
|
940 |
+
}
|
941 |
+
}
|
942 |
+
initJQuery();
|
943 |
+
</script>
|
944 |
+
<script type="text/javascript">
|
945 |
+
<?php echo "var agca_global_plugin_url = '".$this->pluginUrl()."';"; ?>
|
946 |
+
</script>
|
947 |
+
<script type="text/javascript" src="<?php echo $this->pluginUrl(); ?>script/ag_script.js?ver=<?php echo $this->agca_version; ?>"></script>
|
948 |
+
<script type="text/javascript">
|
949 |
+
jQuery(document).ready(function(){
|
950 |
+
<?php if(get_option('agca_colorizer_turnonoff') == 'on' && (get_option('agca_admin_bar_frontend_hide')!=true)){
|
951 |
+
foreach($this->colorizer as $k => $v){
|
952 |
+
if(($k !="") and ($v !="")){
|
953 |
+
if(
|
954 |
+
$k == "color_header" ||
|
955 |
+
$k == "color_font_header"
|
956 |
+
){
|
957 |
+
?> updateTargetColor("<?php echo $k;?>","<?php echo $v;?>"); <?php
|
958 |
+
}
|
959 |
+
|
960 |
+
}
|
961 |
+
}
|
962 |
+
?>
|
963 |
+
|
964 |
+
<?php
|
965 |
+
}
|
966 |
+
?>
|
967 |
+
});
|
968 |
+
</script>
|
969 |
+
<?php
|
970 |
+
}
|
971 |
+
|
972 |
+
}
|
973 |
+
|
974 |
+
function print_admin_bar_scripts(){
|
975 |
+
?>
|
976 |
+
<?php if(get_option('agca_remove_top_bar_dropdowns')==true){ ?>
|
977 |
+
jQuery("#wpadminbar #wp-admin-bar-root-default > #wp-admin-bar-wp-logo .ab-sub-wrapper").hide();
|
978 |
+
jQuery("#wpadminbar #wp-admin-bar-root-default > #wp-admin-bar-site-name .ab-sub-wrapper").hide();
|
979 |
+
jQuery("#wpadminbar #wp-admin-bar-root-default > #wp-admin-bar-wp-logo .ab-item").attr('title','');
|
980 |
+
|
981 |
+
<?php if(get_option('agca_admin_bar_new_content')!=""){ ?>
|
982 |
+
jQuery(".new_content_header_submenu").hide();
|
983 |
+
<?php } ?>
|
984 |
+
|
985 |
+
<?php } ?>
|
986 |
+
|
987 |
+
<?php if(get_option('agca_admin_bar_comments')!=""){ ?>
|
988 |
+
jQuery("ul#wp-admin-bar-root-default li#wp-admin-bar-comments").css("display","none");
|
989 |
+
<?php } ?>
|
990 |
+
<?php if(get_option('agca_admin_bar_new_content')!=""){ ?>
|
991 |
+
jQuery("ul#wp-admin-bar-root-default li#wp-admin-bar-new-content").css("display","none");
|
992 |
+
<?php } ?>
|
993 |
+
<?php if(get_option('agca_admin_bar_new_content_post')!=""){ ?>
|
994 |
+
jQuery("ul#wp-admin-bar-root-default li#wp-admin-bar-new-content li#wp-admin-bar-new-post").css("display","none");
|
995 |
+
<?php } ?>
|
996 |
+
<?php if(get_option('agca_admin_bar_new_content_link')!=""){ ?>
|
997 |
+
jQuery("ul#wp-admin-bar-root-default li#wp-admin-bar-new-content li#wp-admin-bar-new-link").css("display","none");
|
998 |
+
<?php } ?>
|
999 |
+
<?php if(get_option('agca_admin_bar_new_content_page')!=""){ ?>
|
1000 |
+
jQuery("ul#wp-admin-bar-root-default li#wp-admin-bar-new-content li#wp-admin-bar-new-page").css("display","none");
|
1001 |
+
<?php } ?>
|
1002 |
+
<?php if(get_option('agca_admin_bar_new_content_user')!=""){ ?>
|
1003 |
+
jQuery("ul#wp-admin-bar-root-default li#wp-admin-bar-new-content li#wp-admin-bar-new-user").css("display","none");
|
1004 |
+
<?php } ?>
|
1005 |
+
<?php if(get_option('agca_admin_bar_new_content_media')!=""){ ?>
|
1006 |
+
jQuery("ul#wp-admin-bar-root-default li#wp-admin-bar-new-content li#wp-admin-bar-new-media").css("display","none");
|
1007 |
+
<?php } ?>
|
1008 |
+
<?php if(get_option('agca_admin_bar_update_notifications')!=""){ ?>
|
1009 |
+
jQuery("ul#wp-admin-bar-root-default li#wp-admin-bar-updates").css("display","none");
|
1010 |
+
<?php } ?>
|
1011 |
+
<?php if(get_option('agca_admin_bar_admin_themes')!=""){ ?>
|
1012 |
+
jQuery("ul#wp-admin-bar-root-default li#wp-admin-bar-agca-admin-themes").css("display","none");
|
1013 |
+
<?php } ?>
|
1014 |
+
|
1015 |
+
|
1016 |
+
|
1017 |
+
<?php if(get_option('agca_header_logo')==true){ ?>
|
1018 |
+
jQuery("#wphead #header-logo").css("display","none");
|
1019 |
+
jQuery("ul#wp-admin-bar-root-default li#wp-admin-bar-wp-logo").css("display","none");
|
1020 |
+
|
1021 |
+
<?php } ?>
|
1022 |
+
<?php if(get_option('agca_header_logo_custom')!=""){ ?>
|
1023 |
+
|
1024 |
+
var img_url = '<?php echo addslashes(get_option('agca_header_logo_custom')); ?>';
|
1025 |
+
|
1026 |
+
advanced_url = img_url;
|
1027 |
+
image = jQuery("<img style='max-width:98%;position:relative;'/>").attr("src",advanced_url);
|
1028 |
+
jQuery(image).load(function() {
|
1029 |
+
jQuery("#wpbody-content").prepend(image);
|
1030 |
+
});
|
1031 |
+
|
1032 |
+
<?php } ?>
|
1033 |
+
<?php if(get_option('agca_wp_logo_custom')!=""){ ?>
|
1034 |
+
jQuery("li#wp-admin-bar-wp-logo a.ab-item span.ab-icon")
|
1035 |
+
.html("<img style=\"height:32px;margin-top:0\" src=\"<?php echo get_option('agca_wp_logo_custom'); ?>\" />")
|
1036 |
+
.css('background-image','none')
|
1037 |
+
.css('width','auto');
|
1038 |
+
jQuery("li#wp-admin-bar-wp-logo > a.ab-item")
|
1039 |
+
.attr('href',"<?php echo get_bloginfo('wpurl'); ?>")
|
1040 |
+
.css('padding', 0);
|
1041 |
+
jQuery("#wpadminbar #wp-admin-bar-root-default > #wp-admin-bar-wp-logo .ab-item:before").attr('title','');
|
1042 |
+
jQuery('body #wpadminbar #wp-admin-bar-wp-logo > .ab-item .ab-icon').attr('class','ab-icon2');
|
1043 |
+
jQuery("#wp-admin-bar-wp-logo").show();
|
1044 |
+
<?php }?>
|
1045 |
+
<?php if(get_option('agca_remove_site_link')==true){ ?>
|
1046 |
+
jQuery("#wp-admin-bar-site-name").css("display","none");
|
1047 |
+
|
1048 |
+
<?php } ?>
|
1049 |
+
<?php if(get_option('agca_wp_logo_custom_link')!=""){ ?>
|
1050 |
+
var href = "<?php echo get_option('agca_wp_logo_custom_link'); ?>";
|
1051 |
+
href = href.replace("%BLOG%", "<?php echo get_bloginfo('wpurl'); ?>");
|
1052 |
+
if(href == "%SWITCH%"){
|
1053 |
+
href = "<?php echo get_bloginfo('wpurl'); ?>";
|
1054 |
+
<?php if($this->context == "page"){
|
1055 |
+
?>href+="/wp-admin";<?php
|
1056 |
+
}
|
1057 |
+
?>
|
1058 |
+
}
|
1059 |
+
jQuery("li#wp-admin-bar-wp-logo a.ab-item").attr('href',href);
|
1060 |
+
|
1061 |
+
<?php }?>
|
1062 |
+
<?php if(get_option('agca_site_heading')==true){ ?>
|
1063 |
+
jQuery("#wphead #site-heading").css("display","none");
|
1064 |
+
<?php } ?>
|
1065 |
+
<?php if(get_option('agca_custom_site_heading')!=""){ ?>
|
1066 |
+
jQuery("#wphead #site-heading").after('<h1><?php echo addslashes(get_option('agca_custom_site_heading')); ?></h1>');
|
1067 |
+
jQuery("#wp-admin-bar-site-name a:first").html('<?php echo addslashes(get_option('agca_custom_site_heading')); ?>');
|
1068 |
+
|
1069 |
+
<?php } ?>
|
1070 |
+
<?php if(get_option('agca_header')==true && $this->context =='admin'){
|
1071 |
+
?>
|
1072 |
+
jQuery("#wpadminbar").css("display","none");
|
1073 |
+
jQuery("body.admin-bar").css("padding-top","0");
|
1074 |
+
jQuery("#wphead").css("display","none");
|
1075 |
+
jQuery('html.wp-toolbar').css("padding-top","0");
|
1076 |
+
|
1077 |
+
<?php } ?>
|
1078 |
+
<?php if((get_option('agca_header')==true)&&(get_option('agca_header_show_logout')==true)){ ?>
|
1079 |
+
<?php
|
1080 |
+
$agca_logout_text = ((get_option('agca_logout')=="")?__("Log Out", 'ag-custom-admin'):get_option('agca_logout'));
|
1081 |
+
?>
|
1082 |
+
jQuery("#wpbody-content").prepend('<a href="../wp-login.php?action=logout" tabindex="10" style="float:right;margin-right:20px" class="ab-item agca_logout_button"><?php echo $agca_logout_text; ?></a>');
|
1083 |
+
|
1084 |
+
|
1085 |
+
<?php } ?>
|
1086 |
+
<?php if(get_option('agca_howdy')!=""){ ?>
|
1087 |
+
var alltext="";
|
1088 |
+
alltext="";
|
1089 |
+
jQuery('li#wp-admin-bar-my-account').css('cursor','default');
|
1090 |
+
alltext = jQuery('li#wp-admin-bar-my-account').html();
|
1091 |
+
if(alltext!=null){
|
1092 |
+
var parts = alltext.split(',');
|
1093 |
+
alltext = "<?php echo get_option('agca_howdy'); ?>" + ", " + parts[1];
|
1094 |
+
}
|
1095 |
+
jQuery("li#wp-admin-bar-my-account").html("<a href=\"#\" class=\"ab-item\">"+alltext+"</a>");
|
1096 |
+
|
1097 |
+
<?php } ?>
|
1098 |
+
<?php
|
1099 |
+
if(get_option('agca_custom_title')!=""){
|
1100 |
+
//add_filter('admin_title', '$this->change_title', 10, 2);
|
1101 |
+
|
1102 |
+
}
|
1103 |
+
?>
|
1104 |
+
<?php if(get_option('agca_logout')!=""){ ?>
|
1105 |
+
jQuery("ul#wp-admin-bar-user-actions li#wp-admin-bar-logout a").text("<?php echo get_option('agca_logout'); ?>");
|
1106 |
+
<?php } ?>
|
1107 |
+
<?php if(get_option('agca_remove_your_profile')==true){ ?>
|
1108 |
+
jQuery("ul#wp-admin-bar-user-actions li#wp-admin-bar-edit-profile").css("visibility","hidden");
|
1109 |
+
jQuery("ul#wp-admin-bar-user-actions li#wp-admin-bar-edit-profile").css("height","10px");
|
1110 |
+
jQuery('#wpadminbar #wp-admin-bar-top-secondary > #wp-admin-bar-my-account > a').attr('href','#');
|
1111 |
+
jQuery('#wpadminbar #wp-admin-bar-top-secondary #wp-admin-bar-user-info > a').attr('href','#');
|
1112 |
+
jQuery('#wpadminbar #wp-admin-bar-top-secondary #wp-admin-bar-edit-profile > a').attr('href','#');
|
1113 |
+
<?php } ?>
|
1114 |
+
<?php if(get_option('agca_logout_only')==true){ ?>
|
1115 |
+
var logout_content = jQuery("li#wp-admin-bar-logout").html();
|
1116 |
+
jQuery("ul#wp-admin-bar-top-secondary").html('<li id="wp-admin-bar-logout" style="display:block;">'+ logout_content +'</li>');
|
1117 |
+
jQuery("#wp-admin-bar-logout a").css('padding','0 8px');
|
1118 |
+
|
1119 |
+
|
1120 |
+
<?php } ?>
|
1121 |
+
|
1122 |
+
<?php
|
1123 |
+
|
1124 |
+
|
1125 |
+
}
|
1126 |
+
|
1127 |
+
function updateAllColors(){
|
1128 |
+
|
1129 |
+
?>
|
1130 |
+
function updateAllColors(){
|
1131 |
+
<?php
|
1132 |
+
foreach($this->colorizer as $k => $v){
|
1133 |
+
if(($k !="") and ($v !="")){
|
1134 |
+
?> updateTargetColor("<?php echo $k;?>","<?php echo $v;?>"); <?php
|
1135 |
+
}
|
1136 |
+
}
|
1137 |
+
?>
|
1138 |
+
jQuery('.color_picker').each(function(){
|
1139 |
+
updateColor(jQuery(this).attr('id'),jQuery(this).val())
|
1140 |
+
});
|
1141 |
+
jQuery('label,h1,h2,h3,h4,h5,h6,a,p,.form-table th,.form-wrap label').css('text-shadow','none');
|
1142 |
+
jQuery('#adminmenu li.wp-menu-open').css('border','none');
|
1143 |
+
jQuery('#adminmenu li.wp-menu-open .wp-submenu').css({'border':'none','margin':'0px','border-radius':'0px'});
|
1144 |
+
}<?php
|
1145 |
+
|
1146 |
+
}
|
1147 |
+
function admin_capabilities(){
|
1148 |
+
global $wp_roles;
|
1149 |
+
$capabs = $wp_roles->roles['administrator']['capabilities'];
|
1150 |
+
$capabilitySelector = "";
|
1151 |
+
|
1152 |
+
$selectedValue = get_option('agca_admin_capability');
|
1153 |
+
if($selectedValue == ""){
|
1154 |
+
$selectedValue = "edit_dashboard";
|
1155 |
+
}
|
1156 |
+
/*echo $selectedValue;
|
1157 |
+
die;*/
|
1158 |
+
ksort($capabs);
|
1159 |
+
foreach($capabs as $k=>$v){
|
1160 |
+
$selected = "";
|
1161 |
+
if($this->startsWith($k, 'level_')) continue;
|
1162 |
+
if($selectedValue == $k){
|
1163 |
+
$selected = " selected=\"selected\" ";
|
1164 |
+
}
|
1165 |
+
//TODO:Find out why this does not work
|
1166 |
+
//$capabilitySelector .="<option val=\"$k\" $selected >".str_replace(' ', ' ', ucwords(str_replace('_', ' ', $k))) ."</option>\n";
|
1167 |
+
$capabilitySelector .="<option val=\"$k\" $selected >".$k."</option>\n";
|
1168 |
+
}
|
1169 |
+
|
1170 |
+
$this->admin_capabilities = "<select class=\"agca-selectbox\" id=\"agca_admin_capability\" name=\"agca_admin_capability\" val=\"upload_files\">".$capabilitySelector."</select>";
|
1171 |
+
}
|
1172 |
+
|
1173 |
+
function admin_capability(){
|
1174 |
+
$selectedValue = get_option('agca_admin_capability');
|
1175 |
+
if($selectedValue == ""){
|
1176 |
+
$selectedValue = "edit_dashboard";
|
1177 |
+
}
|
1178 |
+
return $selectedValue;
|
1179 |
+
}
|
1180 |
+
|
1181 |
+
function JSPrintAGCATemplateSettingsVar($settings){
|
1182 |
+
echo "\n<script type=\"text/javascript\">\n";
|
1183 |
+
echo "var agca_template_settings = ".preg_replace('#<script(.*?)>(.*?)</script>#is', '', $settings).";\n"; //TODO: think about this
|
1184 |
+
echo "</script>";
|
1185 |
+
}
|
1186 |
+
|
1187 |
+
function appendSettingsToAGCATemplateCustomizations($customizations, $settings){
|
1188 |
+
$template_settings = json_decode($settings);
|
1189 |
+
//print_r($template_settings);
|
1190 |
+
foreach($template_settings as $sett){
|
1191 |
+
$key = $sett->code;
|
1192 |
+
|
1193 |
+
//use default value if user's value is not set
|
1194 |
+
$value="";
|
1195 |
+
if($sett->value != ""){
|
1196 |
+
$value = $sett->value;
|
1197 |
+
}else{
|
1198 |
+
$value = $sett->default_value;
|
1199 |
+
}
|
1200 |
+
|
1201 |
+
//Prepare settings
|
1202 |
+
if($sett->type == 6){
|
1203 |
+
if($value !== null && (strtolower($value) == "on" || $value == "1")){
|
1204 |
+
$value = "true";
|
1205 |
+
}else{
|
1206 |
+
$value = "false";
|
1207 |
+
}
|
1208 |
+
}
|
1209 |
+
$customizations = str_replace("%".$key."%",$value, $customizations);
|
1210 |
+
}
|
1211 |
+
return $customizations;
|
1212 |
+
}
|
1213 |
+
|
1214 |
+
function enableSpecificWPVersionCustomizations($customizations){
|
1215 |
+
/*enable special CSS for this WP version*/
|
1216 |
+
$ver = $this->get_wp_version();
|
1217 |
+
$customizations = str_replace("/*".$ver," ", $customizations);
|
1218 |
+
$customizations = str_replace($ver."*/"," ", $customizations);
|
1219 |
+
return $customizations;
|
1220 |
+
}
|
1221 |
+
|
1222 |
+
function removeCSSComments($customizations){
|
1223 |
+
$customizations = preg_replace('#/\*.*?\*/#si','',$customizations);
|
1224 |
+
return $customizations;
|
1225 |
+
}
|
1226 |
+
|
1227 |
+
function prepareAGCAAdminTemplates(){
|
1228 |
+
if(get_option( 'agca_templates' ) != ""){
|
1229 |
+
//print_r(get_option( 'agca_templates' ));
|
1230 |
+
$themes = get_option( 'agca_templates' );
|
1231 |
+
$selectedTheme = get_option('agca_selected_template');
|
1232 |
+
if(isset($themes[$selectedTheme])){
|
1233 |
+
$theme = $themes[$selectedTheme];
|
1234 |
+
add_filter('get_user_option_admin_color', array(&$this,'change_admin_color'));
|
1235 |
+
|
1236 |
+
echo (stripslashes($theme['common']));
|
1237 |
+
echo "<!--AGCAIMAGES: ".$theme['images']."-->";
|
1238 |
+
|
1239 |
+
//KEEP THIS FOR MIGRATION PURPOSE FOR SOME TIME
|
1240 |
+
if(!((get_option('agca_role_allbutadmin')==true) and (current_user_can($this->admin_capability())))){
|
1241 |
+
if($theme['settings'] == "" || $theme['settings'] == " ") $theme['settings'] = "{}";
|
1242 |
+
//print_r($templdata);
|
1243 |
+
|
1244 |
+
$this->JSPrintAGCATemplateSettingsVar($theme['settings']);
|
1245 |
+
|
1246 |
+
$admindata = $this->appendSettingsToAGCATemplateCustomizations(stripslashes($theme['admin']), $theme['settings']);
|
1247 |
+
$admindata = $this->enableSpecificWPVersionCustomizations($admindata);
|
1248 |
+
$admindata = $this->removeCSSComments($admindata);
|
1249 |
+
|
1250 |
+
//echo $admindata;
|
1251 |
+
//REPLACE TAGS WITH CUSTOM TEMPLATE SETTINGS
|
1252 |
+
$this->templateCustomizations = $admindata;
|
1253 |
+
}
|
1254 |
+
//KEEP THIS FOR MIGRATION PURPOSE FOR SOME TIME
|
1255 |
+
}
|
1256 |
+
}
|
1257 |
+
}
|
1258 |
+
|
1259 |
+
function agcaAdminSession(){
|
1260 |
+
$agcaTemplatesSession = array();
|
1261 |
+
|
1262 |
+
//session_destroy();
|
1263 |
+
//session_unset();
|
1264 |
+
|
1265 |
+
/*if(!session_id()){
|
1266 |
+
session_start();
|
1267 |
+
}*/
|
1268 |
+
|
1269 |
+
if(!isset($_SESSION["AGCA"])){
|
1270 |
+
$_SESSION["AGCA"] = array();
|
1271 |
+
$_SESSION["AGCA"]["Templates"] = array();
|
1272 |
+
}
|
1273 |
+
//print_r($_SESSION);
|
1274 |
+
|
1275 |
+
if(isset($_SESSION["AGCA"])){
|
1276 |
+
if(isset($_SESSION["AGCA"]["Templates"])){
|
1277 |
+
//print_r($_SESSION["AGCA"]["Templates"]);
|
1278 |
+
$agcaTemplatesSession = json_encode($_SESSION["AGCA"]["Templates"]);
|
1279 |
+
}
|
1280 |
+
}
|
1281 |
+
|
1282 |
+
|
1283 |
+
if($agcaTemplatesSession == '""' || $agcaTemplatesSession == '"[]"'){
|
1284 |
+
$agcaTemplatesSession = array();
|
1285 |
+
}
|
1286 |
+
|
1287 |
+
|
1288 |
+
return $agcaTemplatesSession;
|
1289 |
+
|
1290 |
+
}
|
1291 |
+
|
1292 |
+
function getAGCAColor($name){
|
1293 |
+
if(isset($this->colorizer[$name])){
|
1294 |
+
echo htmlspecialchars($this->colorizer[$name]);
|
1295 |
+
}
|
1296 |
+
}
|
1297 |
+
|
1298 |
+
function prepareAGCALoginTemplates(){
|
1299 |
+
if(get_option( 'agca_templates' ) != ""){
|
1300 |
+
//print_r(get_option( 'agca_templates' ));
|
1301 |
+
$templates = get_option( 'agca_templates' );
|
1302 |
+
foreach($templates as $templname=>$templdata){
|
1303 |
+
if($templname == get_option('agca_selected_template')){
|
1304 |
+
echo (stripslashes($templdata['common']));
|
1305 |
+
|
1306 |
+
if($templdata['settings'] == "" || $templdata['settings'] == " ") $templdata['settings'] = "{}";
|
1307 |
+
$this->JSPrintAGCATemplateSettingsVar($templdata['settings']);
|
1308 |
+
|
1309 |
+
$logindata = $this->appendSettingsToAGCATemplateCustomizations(stripslashes($templdata['login']), $templdata['settings']);
|
1310 |
+
$logindata = $this->enableSpecificWPVersionCustomizations($logindata);
|
1311 |
+
$logindata = $this->removeCSSComments($logindata);
|
1312 |
+
|
1313 |
+
echo($logindata);
|
1314 |
+
break;
|
1315 |
+
}
|
1316 |
+
}
|
1317 |
+
}
|
1318 |
+
}
|
1319 |
+
|
1320 |
+
function agca_error_check(){
|
1321 |
+
?>
|
1322 |
+
<script type="text/javascript">
|
1323 |
+
function AGCAErrorPage(msg, url, line){
|
1324 |
+
var agca_error_details = "___________________________________________________<br/>";
|
1325 |
+
agca_error_details += '<br/>' + msg +'<br/>source:' + url + '<br/>line:' + line + '<br/>';
|
1326 |
+
agca_error_details += "___________________________________________________<br/>";
|
1327 |
+
window.agca_error_details_text = agca_error_details + '<br/><?php _e('This JavaScript error can stop AG Custom Admin plugin to work properly. If everything still works, you can ignore this notification.', 'ag-custom-admin'); ?> <br/><br/><?php _e('Possible solutions', 'ag-custom-admin'); ?>:<br/><br/>1) <?php _e('Make sure to have everything up to date: WordPress site, plugins and themes.', 'ag-custom-admin'); ?><br/><br/>2) <?php _e('Try disabling plugins one by one to see if problem can be resolved this way. If so, one of disabled plugins caused this error.', 'ag-custom-admin'); ?><br/><br/>3) <?php _e('Check "source" path of this error. This could be indicator of the plugin/theme that caused the error.', 'ag-custom-admin'); ?><br/><br/>4) <?php _e('If it\\\'s obvious that error is thrown from a particular plugin/theme, please report this error to their support.', 'ag-custom-admin'); ?> <br/><br/>5) <?php _e('Try activating default WordPress theme instead of your current theme.', 'ag-custom-admin'); ?><br/><br/>6) <?php _e('Advanced: Try fixing this issue manually: Navigate to the link above in your browser and open the source of the page (right click -> view page source) and find the line in code where it fails. You should access this file via FTP and try to fix this error on that line.', 'ag-custom-admin') ?><br/><br/>7) <?php _e('Contact us if nothing above helps. Please do not post errors that are caused by other plugins/themes to our support page. Contact their support instead. If you think that error is somehow related to AG Custom Admin plugin, or something unexpected happens, please report that on our', 'ag-custom-admin'); ?> <a href="http://wordpressadminpanel.com/agca-support/ag_custom_admin/error-ocurred-javascript-error-caught/" target="_blank"><?php _e('SUPPORT PAGE', 'ag-custom-admin'); ?></a>';
|
1328 |
+
document.getElementsByTagName('html')[0].style.visibility = "visible";
|
1329 |
+
var errorDivHtml = '<div style="background: #f08080;border-radius: 3px;color: #ffffff;height: auto; margin-right: 13px;padding: 6px 14px;width: 450px;z-index: 99999; position:absolute;">\
|
1330 |
+
<?php _e('AG Custom Admin caught an error on your site!', 'ag-custom-admin'); ?> <a target="_blank" href="#" onclick="var aedt = document.getElementById(\'agca_error_details_text\'); if(aedt.style.display !== \'block\') {aedt.style.display = \'block\';} else{aedt.style.display = \'none\';} return false;" style="color: #ffffff !important;float:right;font-weight: bold;text-decoration: none;">(<?php _e('show/hide more...', 'ag-custom-admin'); ?>)</a><div id="agca_error_details_text" style="display:none;margin: 10px 0;background:#ffffff;border-radius: 5px;padding:8px;color: #777;">'+agca_error_details_text+'</div></div>';
|
1331 |
+
|
1332 |
+
var ph = document.getElementById('agca_error_placeholder');
|
1333 |
+
ph.innerHTML = errorDivHtml;
|
1334 |
+
document.getElementById('agca_news').style.visibility = "hidden";
|
1335 |
+
}
|
1336 |
+
window.onerror = function(msg, url, line) {
|
1337 |
+
window.onload = function() {
|
1338 |
+
AGCAErrorPage(msg, url, line);
|
1339 |
+
}
|
1340 |
+
return true;
|
1341 |
+
};
|
1342 |
+
</script>
|
1343 |
+
<?php
|
1344 |
+
}
|
1345 |
+
function error_check(){
|
1346 |
+
?>
|
1347 |
+
<script type="text/javascript">
|
1348 |
+
function AGCAErrorOtherPages(msg, url, line){
|
1349 |
+
var agca_error_details = "___________________________________________________\n";
|
1350 |
+
agca_error_details += '\n' + msg +'\nsource:' + url + '\nline:' + line + '\n';
|
1351 |
+
|
1352 |
+
document.getElementsByTagName('html')[0].style.visibility = "visible";
|
1353 |
+
|
1354 |
+
if(typeof window.console === "object"){
|
1355 |
+
console.log("___________________________________________________");
|
1356 |
+
console.log("<?php _e('AG Custom Admin caught a JavaScript on your site', 'ag-custom-admin'); ?>:");
|
1357 |
+
console.log(agca_error_details);
|
1358 |
+
}
|
1359 |
+
}
|
1360 |
+
window.onerror = function(msg, url, line) {
|
1361 |
+
window.onload = function() {
|
1362 |
+
AGCAErrorOtherPages(msg, url, line);
|
1363 |
+
}
|
1364 |
+
return true;
|
1365 |
+
};
|
1366 |
+
</script>
|
1367 |
+
<?php
|
1368 |
+
}
|
1369 |
+
|
1370 |
+
function menu_item_cleartext($name){
|
1371 |
+
if(strpos($name,' <span') !== false){
|
1372 |
+
$parts = explode(' <span', $name);
|
1373 |
+
$name = $parts[0];
|
1374 |
+
}
|
1375 |
+
$name = trim($name);
|
1376 |
+
return $name;
|
1377 |
+
}
|
1378 |
+
|
1379 |
+
/**
|
1380 |
+
* Loops through all original menu items, and creates customizations array
|
1381 |
+
* applies previous customizations if set
|
1382 |
+
* @return array|mixed|object
|
1383 |
+
*/
|
1384 |
+
function get_menu_customizations(){
|
1385 |
+
global $menu;
|
1386 |
+
global $submenu;
|
1387 |
+
|
1388 |
+
//var_dump($menu); die;
|
1389 |
+
$previousCustomizations = json_decode(get_option('ag_edit_adminmenu_json_new'), true);
|
1390 |
+
|
1391 |
+
$customizationsSet = true;
|
1392 |
+
if($previousCustomizations == null){
|
1393 |
+
$customizationsSet = false;
|
1394 |
+
}
|
1395 |
+
|
1396 |
+
//set default menu configuration
|
1397 |
+
//and apply previously saved customizations
|
1398 |
+
$m = array();
|
1399 |
+
foreach($menu as $top){
|
1400 |
+
$name = $top[0];
|
1401 |
+
$url = $top[2];
|
1402 |
+
$cls = isset($top[5])?$top[5]:"";
|
1403 |
+
$remove = false;
|
1404 |
+
if($name == '') continue;
|
1405 |
+
$pc = null;
|
1406 |
+
$name = $this->menu_item_cleartext($name);
|
1407 |
+
|
1408 |
+
//apply previous submenu customizations
|
1409 |
+
if($customizationsSet && isset($previousCustomizations[$url])){
|
1410 |
+
$pc = $previousCustomizations[$url];
|
1411 |
+
}
|
1412 |
+
|
1413 |
+
//get submenu
|
1414 |
+
$s = array();
|
1415 |
+
if(isset($submenu[$url])){
|
1416 |
+
$sitems = $submenu[$url];
|
1417 |
+
foreach($sitems as $key=>$sub){
|
1418 |
+
$nameSub = $sub[0];
|
1419 |
+
$urlSub = $sub[2];
|
1420 |
+
$removeSub = false;
|
1421 |
+
$nameSub = $this->menu_item_cleartext($nameSub);
|
1422 |
+
$s[$key]=array(
|
1423 |
+
'name'=>$nameSub,
|
1424 |
+
'new'=>'',
|
1425 |
+
'remove'=>$removeSub,
|
1426 |
+
'url'=>$urlSub
|
1427 |
+
);
|
1428 |
+
|
1429 |
+
if(isset($pc['submenus'][$key])){
|
1430 |
+
$s[$key]['new'] = $pc['submenus'][$key]['new'];
|
1431 |
+
$s[$key]['remove'] = $pc['submenus'][$key]['remove'];
|
1432 |
+
|
1433 |
+
if($s[$key]['new'] == null){
|
1434 |
+
$s[$key]['new'] = '';
|
1435 |
+
}
|
1436 |
+
if($s[$key]['remove'] == null){
|
1437 |
+
$s[$key]['remove'] = false;
|
1438 |
+
}
|
1439 |
+
}
|
1440 |
+
}
|
1441 |
+
}
|
1442 |
+
|
1443 |
+
$m[$url]=array(
|
1444 |
+
'name'=>$name,
|
1445 |
+
'remove'=>$remove,
|
1446 |
+
'new'=>'',
|
1447 |
+
'url'=>$url,
|
1448 |
+
'cls'=>$cls,
|
1449 |
+
'submenus'=>$s
|
1450 |
+
);
|
1451 |
+
|
1452 |
+
//apply previous top menu customizations
|
1453 |
+
if($customizationsSet && isset($previousCustomizations[$url])){
|
1454 |
+
$pc = $previousCustomizations[$url];
|
1455 |
+
if(isset($pc)){
|
1456 |
+
$m[$url]['remove'] = $pc['remove'];
|
1457 |
+
$m[$url]['new'] = $pc['new'];
|
1458 |
+
}
|
1459 |
+
}
|
1460 |
+
}
|
1461 |
+
return $m;
|
1462 |
+
}
|
1463 |
+
|
1464 |
+
/**
|
1465 |
+
* Applies customizations to admin menu
|
1466 |
+
*/
|
1467 |
+
function customized_menu(){
|
1468 |
+
$customizations = $this->get_menu_customizations();
|
1469 |
+
global $menu;
|
1470 |
+
global $submenu;
|
1471 |
+
|
1472 |
+
//print_r($submenu);die;
|
1473 |
+
//apply customizations to original admin menu
|
1474 |
+
foreach($menu as $key=>$top){
|
1475 |
+
$url = $top[2];
|
1476 |
+
if(isset($customizations[$url])){
|
1477 |
+
$topCustomized = $customizations[$url];
|
1478 |
+
if($topCustomized['new']) {
|
1479 |
+
$menu[$key][0] = $topCustomized['new'];
|
1480 |
+
}
|
1481 |
+
if($topCustomized['remove']){
|
1482 |
+
unset($menu[$key]);
|
1483 |
+
}
|
1484 |
+
}
|
1485 |
+
}
|
1486 |
+
foreach($submenu as $topkey=>$subs){
|
1487 |
+
foreach($subs as $subkey=>$sub){
|
1488 |
+
if(isset($customizations[$topkey]['submenus'][$subkey])){
|
1489 |
+
$cs = $customizations[$topkey]['submenus'][$subkey];
|
1490 |
+
if($cs['new']) {
|
1491 |
+
$submenu[$topkey][$subkey][0] = preg_replace("/".$cs['name']."/",$cs['new'], $submenu[$topkey][$subkey][0],1);
|
1492 |
+
}
|
1493 |
+
if($cs['remove']){
|
1494 |
+
unset($submenu[$topkey][$subkey]);
|
1495 |
+
}
|
1496 |
+
}
|
1497 |
+
}
|
1498 |
+
}
|
1499 |
+
}
|
1500 |
+
|
1501 |
+
/**
|
1502 |
+
* Used only for removing admin menu customizations to AGCA 1.5 version or later
|
1503 |
+
* @param $checkboxes
|
1504 |
+
* @param $textboxes
|
1505 |
+
*/
|
1506 |
+
function migrate_menu_customizations($checkboxes, $textboxes){
|
1507 |
+
$customizations = $this->get_menu_customizations();
|
1508 |
+
global $menu;
|
1509 |
+
/*print_r($menu);
|
1510 |
+
print_r($customizations);
|
1511 |
+
print_r($textboxes);*/
|
1512 |
+
|
1513 |
+
$oldTopValue = "";
|
1514 |
+
|
1515 |
+
|
1516 |
+
//Migrate checkboxes
|
1517 |
+
foreach($checkboxes as $key=>$value){
|
1518 |
+
$isTop = false;
|
1519 |
+
$oldSubValue = "";
|
1520 |
+
if (strpos($key,'<-TOP->') !== false) {
|
1521 |
+
$oldTopValue = str_replace('<-TOP->','',$key);
|
1522 |
+
$isTop = true;
|
1523 |
+
}else{
|
1524 |
+
$oldSubValue = $key;
|
1525 |
+
}
|
1526 |
+
if($value == 'checked'){
|
1527 |
+
$topIndex = "";
|
1528 |
+
foreach($customizations as $k=>$c){
|
1529 |
+
if($c['cls'] == $oldTopValue){
|
1530 |
+
$topIndex = $k;
|
1531 |
+
break;
|
1532 |
+
}
|
1533 |
+
}
|
1534 |
+
if($topIndex == "") continue;
|
1535 |
+
if($isTop){
|
1536 |
+
$customizations[$topIndex]['remove'] = true;
|
1537 |
+
}else{
|
1538 |
+
if(is_array($customizations[$topIndex]['submenus'])){
|
1539 |
+
foreach($customizations[$topIndex]['submenus'] as $skey=>$sval){
|
1540 |
+
if($sval['name'] == $oldSubValue){
|
1541 |
+
$customizations[$topIndex]['submenus'][$skey]['remove'] = true;
|
1542 |
+
}
|
1543 |
+
}
|
1544 |
+
}
|
1545 |
+
}
|
1546 |
+
}
|
1547 |
+
}
|
1548 |
+
|
1549 |
+
//Migrate textboxes
|
1550 |
+
foreach($textboxes as $key=>$value){
|
1551 |
+
$isTop = false;
|
1552 |
+
$oldSubValue = "";
|
1553 |
+
if (strpos($key,'<-TOP->') !== false) {
|
1554 |
+
$oldTopValue = str_replace('<-TOP->','',$key);
|
1555 |
+
$isTop = true;
|
1556 |
+
}else{
|
1557 |
+
$oldSubValue = $key;
|
1558 |
+
}
|
1559 |
+
if($value != ''){
|
1560 |
+
$topIndex = "";
|
1561 |
+
foreach($customizations as $k=>$c){
|
1562 |
+
if($c['cls'] == $oldTopValue){
|
1563 |
+
$topIndex = $k;
|
1564 |
+
break;
|
1565 |
+
}
|
1566 |
+
}
|
1567 |
+
if($topIndex == "") continue;
|
1568 |
+
if($isTop){
|
1569 |
+
$customizations[$topIndex]['new'] = $value;
|
1570 |
+
}else{
|
1571 |
+
if(is_array($customizations[$topIndex]['submenus'])){
|
1572 |
+
foreach($customizations[$topIndex]['submenus'] as $skey=>$sval){
|
1573 |
+
if($sval['name'] == $oldSubValue){
|
1574 |
+
if($customizations[$topIndex]['submenus'][$skey]['name'] != $value){
|
1575 |
+
$customizations[$topIndex]['submenus'][$skey]['new'] = $value;
|
1576 |
+
}
|
1577 |
+
}
|
1578 |
+
}
|
1579 |
+
}
|
1580 |
+
}
|
1581 |
+
}
|
1582 |
+
}
|
1583 |
+
update_option('ag_edit_adminmenu_json','');//remove previous admin menu configuration
|
1584 |
+
update_option('ag_edit_adminmenu_json_new',json_encode($customizations));
|
1585 |
+
}
|
1586 |
+
function isCusminActive(){
|
1587 |
+
return $this->isPluginActive('cusmin/cusmin.php');
|
1588 |
+
}
|
1589 |
+
function isPluginActive($plugin){
|
1590 |
+
if(!is_admin()){
|
1591 |
+
return false;
|
1592 |
+
}
|
1593 |
+
return is_plugin_active($plugin);
|
1594 |
+
}
|
1595 |
+
function isPluginActiveForNetwork($plugin){
|
1596 |
+
return is_plugin_active_for_network($plugin);
|
1597 |
+
}
|
1598 |
+
function print_admin_css()
|
1599 |
+
{
|
1600 |
+
$agcaTemplateSession = $this->agcaAdminSession();
|
1601 |
+
$wpversion = $this->get_wp_version();
|
1602 |
+
$this->context = "admin";
|
1603 |
+
$this->error_check();
|
1604 |
+
$currentScreen = get_current_screen();
|
1605 |
+
?>
|
1606 |
+
<script type="text/javascript">
|
1607 |
+
var wpversion = "<?php echo $wpversion; ?>";
|
1608 |
+
var agca_debug = <?php echo ($this->agca_debug)?"true":"false"; ?>;
|
1609 |
+
var agca_version = "<?php echo $this->agca_version; ?>";
|
1610 |
+
var agcaTemplatesSession = <?php echo ($agcaTemplateSession==null)?"[]":$agcaTemplateSession; ?>;
|
1611 |
+
var errors = false;
|
1612 |
+
var isSettingsImport = false;
|
1613 |
+
var isCusminActive = <?php echo $this->isCusminActive()?'true':'false'; ?>;
|
1614 |
+
var agca_context = "admin";
|
1615 |
+
var roundedSidberSize = 0;
|
1616 |
+
var agca_installed_templates = <?php echo $this->get_installed_agca_templates(); ?>;
|
1617 |
+
var agca_admin_menu = <?php echo json_encode($this->get_menu_customizations()) ?>;
|
1618 |
+
var agca_string = {
|
1619 |
+
file_imp_not_sel: '<?php _e('File for import is not selected!', 'ag-custom-admin'); ?>',
|
1620 |
+
menu_general: '<?php _e('General', 'ag-custom-admin'); ?>',
|
1621 |
+
menu_admin_bar: '<?php _e('Admin Bar', 'ag-custom-admin'); ?>',
|
1622 |
+
menu_footer: '<?php _e('Footer', 'ag-custom-admin'); ?>',
|
1623 |
+
menu_dashb: '<?php _e('Dashboard', 'ag-custom-admin'); ?>',
|
1624 |
+
menu_login: '<?php _e('Login Page', 'ag-custom-admin'); ?>',
|
1625 |
+
menu_admin_menu: '<?php _e('Admin Menu', 'ag-custom-admin'); ?>',
|
1626 |
+
menu_colorizer: '<?php _e('Colorizer', 'ag-custom-admin'); ?>',
|
1627 |
+
menu_themes: '<?php _e('Themes', 'ag-custom-admin'); ?>',
|
1628 |
+
menu_upgrade: '<?php _e('Upgrade', 'ag-custom-admin'); ?>',
|
1629 |
+
menu_advanced: '<?php _e('Advanced', 'ag-custom-admin'); ?>',
|
1630 |
+
remove: '<?php _e('Remove', 'ag-custom-admin'); ?>',
|
1631 |
+
frommenu:'<?php _e('from menu', 'ag-custom-admin'); ?>',
|
1632 |
+
rename:'<?php _e('Rename', 'ag-custom-admin'); ?>',
|
1633 |
+
withthisvalue:'<?php _e('with this value', 'ag-custom-admin'); ?>',
|
1634 |
+
submenuitem:'<?php _e('sub-menu item', 'ag-custom-admin'); ?>',
|
1635 |
+
open:'<?php _e('open', 'ag-custom-admin'); ?>',
|
1636 |
+
'delete':'<?php _e('Delete', 'ag-custom-admin'); ?>',
|
1637 |
+
'in':'<?php _e('in', 'ag-custom-admin'); ?>',
|
1638 |
+
save_changes: '<?php _e('Save changes', 'ag-custom-admin'); ?>'
|
1639 |
+
};
|
1640 |
+
</script>
|
1641 |
+
<?php
|
1642 |
+
$this->prepareAGCAAdminTemplates();
|
1643 |
+
$this->agca_get_includes();
|
1644 |
+
$this->admin_capabilities();
|
1645 |
+
wp_get_current_user() ;
|
1646 |
+
?>
|
1647 |
+
<?php
|
1648 |
+
//in case that javaScript is disabled only admin can access admin menu
|
1649 |
+
if(!current_user_can($this->admin_capability())){
|
1650 |
+
?>
|
1651 |
+
<style type="text/css">
|
1652 |
+
#adminmenu{display:none;}
|
1653 |
+
</style>
|
1654 |
+
<?php
|
1655 |
+
}
|
1656 |
+
?>
|
1657 |
+
<script type="text/javascript">
|
1658 |
+
document.write('<style type="text/css">html{visibility:hidden;}</style>');
|
1659 |
+
<?php
|
1660 |
+
if(isset($_POST['_agca_import_settings']) && $_POST['_agca_import_settings']=='true'){
|
1661 |
+
echo 'isSettingsImport = true;';
|
1662 |
+
}
|
1663 |
+
?>
|
1664 |
+
</script>
|
1665 |
+
<?php if(get_option('agca_admin_menu_arrow') == true){ ?>
|
1666 |
+
<style type="text/css">
|
1667 |
+
.wp-has-current-submenu:after{border:none !important;}
|
1668 |
+
#adminmenu li.wp-has-submenu.wp-not-current-submenu.opensub:hover:after{border:none !important;}
|
1669 |
+
</style>
|
1670 |
+
<?php }
|
1671 |
+
|
1672 |
+
if($currentScreen->id == 'tools_page_ag-custom-admin/plugin'){
|
1673 |
+
?>
|
1674 |
+
<div id="fb-root"></div>
|
1675 |
+
<script>(function(d, s, id) {
|
1676 |
+
var js, fjs = d.getElementsByTagName(s)[0];
|
1677 |
+
if (d.getElementById(id)) return;
|
1678 |
+
js = d.createElement(s); js.id = id;
|
1679 |
+
js.src = "//connect.facebook.net/en_US/sdk.js#xfbml=1&version=v2.5&appId=765552763482314";
|
1680 |
+
fjs.parentNode.insertBefore(js, fjs);
|
1681 |
+
}(document, 'script', 'facebook-jssdk'));</script>
|
1682 |
+
<?php
|
1683 |
+
}
|
1684 |
+
|
1685 |
+
if(get_option('agca_menu_remove_client_profile')){
|
1686 |
+
remove_menu_page('profile.php');
|
1687 |
+
}
|
1688 |
+
?>
|
1689 |
+
<script type="text/javascript">
|
1690 |
+
/* <![CDATA[ */
|
1691 |
+
jQuery(document).ready(function() {
|
1692 |
+
try
|
1693 |
+
{
|
1694 |
+
|
1695 |
+
<?php /*CHECK OTHER PLUGINS*/
|
1696 |
+
if($this->isPluginActive('ozh-admin-drop-down-menu/wp_ozh_adminmenu.php')){
|
1697 |
+
?>
|
1698 |
+
jQuery('ul#adminmenu').css('display','none');
|
1699 |
+
jQuery('#footer-ozh-oam').css('display','none');
|
1700 |
+
jQuery('#ag_main_menu li').each(function(){
|
1701 |
+
if(jQuery(this).text() == "Admin Menu"){
|
1702 |
+
jQuery(this).hide();
|
1703 |
+
}
|
1704 |
+
});
|
1705 |
+
<?php
|
1706 |
+
}
|
1707 |
+
?>
|
1708 |
+
|
1709 |
+
|
1710 |
+
//get saved onfigurations
|
1711 |
+
|
1712 |
+
<?php $buttons = $this->jsonMenuArray(get_option('ag_add_adminmenu_json'),'buttons'); ?>
|
1713 |
+
var buttons = '<?php echo $buttons; ?>';
|
1714 |
+
|
1715 |
+
<?php $buttonsJq = $this->jsonMenuArray(get_option('ag_add_adminmenu_json'),'buttonsJq'); ?>
|
1716 |
+
var buttonsJq = '<?php echo $buttonsJq; ?>';
|
1717 |
+
|
1718 |
+
createEditMenuPageNew(agca_admin_menu);
|
1719 |
+
//createEditMenuPageV32(checkboxes, textboxes);
|
1720 |
+
|
1721 |
+
<?php
|
1722 |
+
//if admin, and option to hide settings for admin is set
|
1723 |
+
if((get_option('agca_role_allbutadmin')==true) and current_user_can($this->admin_capability()) or $this->isCusminActive()){
|
1724 |
+
?>
|
1725 |
+
<?php } else{ ?>
|
1726 |
+
<?php if(get_option('agca_admin_menu_brand')!=""){ ?>
|
1727 |
+
additionalStyles = ' style="margin-bottom:-4px" ';
|
1728 |
+
jQuery("#adminmenu").before('<div '+additionalStyles+' id="sidebar_adminmenu_logo"><img width="160" src="<?php echo get_option('agca_admin_menu_brand'); ?>" /></div>');
|
1729 |
+
<?php } ?>
|
1730 |
+
<?php if(get_option('agca_admin_menu_brand_link')!=""){ ?>
|
1731 |
+
|
1732 |
+
var href = "<?php echo get_option('agca_admin_menu_brand_link'); ?>";
|
1733 |
+
href = href.replace("%BLOG%", "<?php echo get_bloginfo('wpurl'); ?>");
|
1734 |
+
|
1735 |
+
jQuery("#sidebar_adminmenu_logo").attr('onclick','window.open(\"'+ href+ '\");');
|
1736 |
+
jQuery("#sidebar_adminmenu_logo").attr('title',href);
|
1737 |
+
|
1738 |
+
<?php }else{ ?>
|
1739 |
+
href = "<?php echo get_bloginfo('wpurl'); ?>";
|
1740 |
+
jQuery("#sidebar_adminmenu_logo").attr('onclick','window.open(\"'+ href+ '\");');
|
1741 |
+
jQuery("#sidebar_adminmenu_logo").attr('title',href);
|
1742 |
+
<?php } ?>
|
1743 |
+
|
1744 |
+
<?php if(get_option('agca_admin_menu_submenu_round')==true){ ?>
|
1745 |
+
jQuery("#adminmenu .wp-submenu").css("border-radius","<?php echo get_option('agca_admin_menu_submenu_round_size'); ?>px");
|
1746 |
+
jQuery("#adminmenu .wp-menu-open .wp-submenu").css('border-radius','');
|
1747 |
+
<?php $roundedSidebarSize = get_option('agca_admin_menu_submenu_round_size'); ?>
|
1748 |
+
roundedSidberSize = <?php echo ($roundedSidebarSize == "")?"0":$roundedSidebarSize; ?>;
|
1749 |
+
|
1750 |
+
|
1751 |
+
<?php } ?>
|
1752 |
+
<?php if(get_option('agca_admin_menu_autofold')=="force"){ ?>
|
1753 |
+
jQuery("body").addClass("auto-fold");
|
1754 |
+
<?php } else if(get_option('agca_admin_menu_autofold')=="disable"){ ?>
|
1755 |
+
jQuery("body").removeClass("auto-fold");
|
1756 |
+
<?php } ?>
|
1757 |
+
|
1758 |
+
<?php $this->print_admin_bar_scripts(); ?>
|
1759 |
+
|
1760 |
+
<?php if(get_option('agca_screen_options_menu')==true){ ?>
|
1761 |
+
jQuery("#screen-options-link-wrap").css("display","none");
|
1762 |
+
<?php } ?>
|
1763 |
+
<?php if(get_option('agca_help_menu')==true){ ?>
|
1764 |
+
jQuery("#contextual-help-link-wrap").css("display","none");
|
1765 |
+
jQuery("#contextual-help-link").css("display","none");
|
1766 |
+
<?php } ?>
|
1767 |
+
<?php if(get_option('agca_privacy_options')==true){ ?>
|
1768 |
+
jQuery("#privacy-on-link").css("display","none");
|
1769 |
+
<?php } ?>
|
1770 |
+
|
1771 |
+
<?php if(get_option('agca_update_bar')==true){ ?>
|
1772 |
+
<?php
|
1773 |
+
if ( ! function_exists( 'c2c_no_update_nag' ) ) :
|
1774 |
+
function c2c_no_update_nag() {
|
1775 |
+
remove_action( 'admin_notices', 'update_nag', 3 );
|
1776 |
+
}
|
1777 |
+
endif;
|
1778 |
+
add_action( 'admin_init', 'c2c_no_update_nag' );
|
1779 |
+
?>
|
1780 |
+
jQuery("#update-nag").css("display","none");
|
1781 |
+
jQuery(".update-nag").css("display","none");
|
1782 |
+
<?php } ?>
|
1783 |
+
|
1784 |
+
<?php if(get_option('agca_footer')==true){ ?>
|
1785 |
+
jQuery("#footer,#wpfooter").css("display","none");
|
1786 |
+
<?php } ?>
|
1787 |
+
|
1788 |
+
<?php if(get_option('agca_footer_left')!=""){ ?>
|
1789 |
+
jQuery("#footer-left").html('<?php echo addslashes(get_option('agca_footer_left')); ?>');
|
1790 |
+
<?php } ?>
|
1791 |
+
<?php if(get_option('agca_footer_left_hide')==true){ ?>
|
1792 |
+
jQuery("#footer-left").css("display","none");
|
1793 |
+
<?php } ?>
|
1794 |
+
<?php if(get_option('agca_footer_right')!=""){ ?>
|
1795 |
+
jQuery("#footer-upgrade").html('<?php echo addslashes(get_option('agca_footer_right')); ?>');
|
1796 |
+
<?php } ?>
|
1797 |
+
<?php if(get_option('agca_footer_right_hide')==true){ ?>
|
1798 |
+
jQuery("#footer-upgrade").css("display","none");
|
1799 |
+
<?php } ?>
|
1800 |
+
|
1801 |
+
<?php if(get_option('agca_language_bar')==true){ ?>
|
1802 |
+
jQuery("#user_info p").append('<?php include("language_bar/language_bar.php"); ?>');
|
1803 |
+
<?php } ?>
|
1804 |
+
<?php if(get_option('agca_dashboard_icon')==true){ ?>
|
1805 |
+
var className = jQuery("#icon-index").attr("class");
|
1806 |
+
if(className=='icon32'){
|
1807 |
+
jQuery("#icon-index").attr("id","icon-index-removed");
|
1808 |
+
}
|
1809 |
+
<?php } ?>
|
1810 |
+
<?php if(get_option('agca_dashboard_text')!=""){ ?>
|
1811 |
+
jQuery("#dashboard-widgets-wrap").parent().find("h1").html("<?php echo addslashes(get_option('agca_dashboard_text')); ?>");
|
1812 |
+
<?php } ?>
|
1813 |
+
<?php if(get_option('agca_dashboard_text_paragraph')!=""){
|
1814 |
+
require_once(ABSPATH . 'wp-includes/formatting.php');
|
1815 |
+
?>
|
1816 |
+
jQuery("#wpbody-content #dashboard-widgets-wrap").before('<div id="agca_custom_dashboard_content"></div>');
|
1817 |
+
|
1818 |
+
jQuery("#agca_custom_dashboard_content").html('<br /><?php echo preg_replace('/(\r\n|\r|\n)/', '\n', addslashes(wpautop(get_option('agca_dashboard_text_paragraph')))); ?>');
|
1819 |
+
<?php } ?>
|
1820 |
+
|
1821 |
+
<?php /*Remove Dashboard widgets*/ ?>
|
1822 |
+
<?php
|
1823 |
+
|
1824 |
+
if(get_option('agca_dashboard_widget_welcome')==true){
|
1825 |
+
?>jQuery("#welcome-panel").css("display","none");<?php
|
1826 |
+
}else{
|
1827 |
+
?>jQuery("#welcome-panel").css("display","block");<?php
|
1828 |
+
}
|
1829 |
+
if(get_option('agca_dashboard_widget_il')==true){
|
1830 |
+
$this->remove_dashboard_widget('dashboard_incoming_links','normal');
|
1831 |
+
}else{
|
1832 |
+
?>jQuery("#dashboard_incoming_links").css("display","block");<?php
|
1833 |
+
}
|
1834 |
+
if(get_option('agca_dashboard_widget_plugins')==true){
|
1835 |
+
$this->remove_dashboard_widget('dashboard_plugins','normal');
|
1836 |
+
}else{
|
1837 |
+
?>jQuery("#dashboard_plugins").css("display","block");<?php
|
1838 |
+
}
|
1839 |
+
if(get_option('agca_dashboard_widget_qp')==true){
|
1840 |
+
$this->remove_dashboard_widget('dashboard_quick_press','side');
|
1841 |
+
}else{
|
1842 |
+
?>jQuery("#dashboard_quick_press").css("display","block");<?php
|
1843 |
+
}
|
1844 |
+
if(get_option('agca_dashboard_widget_rn')==true){
|
1845 |
+
$this->remove_dashboard_widget('dashboard_right_now','normal');
|
1846 |
+
}else{
|
1847 |
+
?>jQuery("#dashboard_right_now").css("display","block");<?php
|
1848 |
+
}
|
1849 |
+
if(get_option('agca_dashboard_widget_rd')==true){
|
1850 |
+
$this->remove_dashboard_widget('dashboard_recent_drafts','side');
|
1851 |
+
}else{
|
1852 |
+
?>jQuery("#dashboard_recent_drafts").css("display","block");<?php
|
1853 |
+
}
|
1854 |
+
if(get_option('agca_dashboard_widget_primary')==true){
|
1855 |
+
$this->remove_dashboard_widget('dashboard_primary','side');
|
1856 |
+
}else{
|
1857 |
+
?>jQuery("#dashboard_primary").css("display","block");<?php
|
1858 |
+
}
|
1859 |
+
if(get_option('agca_dashboard_widget_secondary')==true){
|
1860 |
+
$this->remove_dashboard_widget('dashboard_secondary','side');
|
1861 |
+
}else{
|
1862 |
+
?>jQuery("#dashboard_secondary").css("display","block");<?php
|
1863 |
+
}
|
1864 |
+
if(get_option('agca_dashboard_widget_activity')==true){
|
1865 |
+
remove_meta_box( 'dashboard_activity', 'dashboard', 'normal');
|
1866 |
+
}else{
|
1867 |
+
?>jQuery("#dashboard_activity").css("display","block");<?php
|
1868 |
+
}
|
1869 |
+
|
1870 |
+
?>
|
1871 |
+
|
1872 |
+
<?php /*ADMIN MENU*/ ?>
|
1873 |
+
|
1874 |
+
<?php if(get_option('agca_admin_menu_separators')==true){ ?>
|
1875 |
+
jQuery("#adminmenu li.wp-menu-separator").css({height: 0, margin: 0});
|
1876 |
+
<?php } ?>
|
1877 |
+
<?php if(get_option('agca_admin_menu_icons') == true){ ?>
|
1878 |
+
jQuery(".wp-menu-image").each(function(){
|
1879 |
+
jQuery(this).css("display","none");
|
1880 |
+
});
|
1881 |
+
jQuery('#adminmenu div.wp-menu-name').css('padding','8px');
|
1882 |
+
<?php } ?>
|
1883 |
+
<?php if(get_option('agca_admin_menu_arrow') == true){ ?>
|
1884 |
+
jQuery("#adminmenu .wp-menu-arrow").css("visibility","hidden");
|
1885 |
+
|
1886 |
+
<?php } ?>
|
1887 |
+
<?php if(get_option('agca_admin_menu_turnonoff') == 'on'){ ?>
|
1888 |
+
|
1889 |
+
<?php /*If Turned on*/ ?>
|
1890 |
+
|
1891 |
+
<?php if(get_option('agca_admin_menu_agca_button_only') == true){ ?>
|
1892 |
+
jQuery('#adminmenu > li').each(function(){
|
1893 |
+
if(!jQuery(this).hasClass('agca_button_only')){
|
1894 |
+
jQuery(this).addClass('noclass');
|
1895 |
+
}
|
1896 |
+
});
|
1897 |
+
<?php /*Only admin see button*/
|
1898 |
+
if (current_user_can($this->admin_capability())){ ?>
|
1899 |
+
jQuery('#adminmenu').append('<?php echo $this->agca_create_admin_button('AG Custom Admin',array('value'=>'tools.php?page=ag-custom-admin/plugin.php','target'=>'_self')); ?>');
|
1900 |
+
<?php } ?>
|
1901 |
+
<?php } ?>
|
1902 |
+
|
1903 |
+
|
1904 |
+
<?php /*EDIT MENU ITEMS*/?>
|
1905 |
+
<?php if(get_option('ag_edit_adminmenu_json')!=""){
|
1906 |
+
|
1907 |
+
$arr = explode("|",get_option('ag_edit_adminmenu_json'));
|
1908 |
+
|
1909 |
+
$checkboxes = json_decode($arr[0]);
|
1910 |
+
$textboxes = json_decode($arr[1]);
|
1911 |
+
|
1912 |
+
$this->migrate_menu_customizations($checkboxes, $textboxes);
|
1913 |
+
|
1914 |
+
} ?>
|
1915 |
+
|
1916 |
+
<?php if(get_option('ag_edit_adminmenu_json_new')!=""){
|
1917 |
+
$this->customized_menu();
|
1918 |
+
} ?>
|
1919 |
+
|
1920 |
+
|
1921 |
+
|
1922 |
+
|
1923 |
+
/*Add user buttons*/
|
1924 |
+
jQuery('#adminmenu').append(buttons);
|
1925 |
+
|
1926 |
+
<?php /*END If Turned on*/ ?>
|
1927 |
+
<?php } else{ ?>
|
1928 |
+
jQuery("#adminmenu").removeClass("noclass");
|
1929 |
+
<?php } ?>
|
1930 |
+
|
1931 |
+
reloadRemoveButtonEvents();
|
1932 |
+
|
1933 |
+
<?php if(get_option('agca_admin_menu_collapse_button') == true){ ?>
|
1934 |
+
//remove collapse menu button
|
1935 |
+
jQuery('#collapse-menu').remove();
|
1936 |
+
<?php } ?>
|
1937 |
+
|
1938 |
+
<?php //COLORIZER ?>
|
1939 |
+
updateAllColors();
|
1940 |
+
<?php //COLORIZER END ?>
|
1941 |
+
<?php } //end of apply for any user except admin ?>
|
1942 |
+
/*Add user buttons*/
|
1943 |
+
jQuery('#ag_add_adminmenu').append(buttonsJq);
|
1944 |
+
|
1945 |
+
|
1946 |
+
}catch(err){
|
1947 |
+
errors = "AGCA - ADMIN ERROR: " + err.name + " / " + err.message;
|
1948 |
+
console.log(errors);
|
1949 |
+
}finally{
|
1950 |
+
jQuery('html').css('visibility','visible');
|
1951 |
+
}
|
1952 |
+
<?php
|
1953 |
+
if($this->saveAfterImport == true){
|
1954 |
+
?>savePluginSettings();<?php
|
1955 |
+
}
|
1956 |
+
?>
|
1957 |
+
|
1958 |
+
});
|
1959 |
+
|
1960 |
+
<?php if(get_option('agca_colorizer_turnonoff') == 'on'){
|
1961 |
+
$this->updateAllColors();
|
1962 |
+
}else{
|
1963 |
+
?>function updateAllColors(){}; <?php
|
1964 |
+
} ?>
|
1965 |
+
|
1966 |
+
|
1967 |
+
/* ]]> */
|
1968 |
+
</script>
|
1969 |
+
<style type="text/css">
|
1970 |
+
.underline_text{
|
1971 |
+
text-decoration:underline;
|
1972 |
+
}
|
1973 |
+
.form-table th{
|
1974 |
+
width:300px;
|
1975 |
+
}
|
1976 |
+
|
1977 |
+
#dashboard-widgets div.empty-container{
|
1978 |
+
border:none;
|
1979 |
+
}
|
1980 |
+
</style>
|
1981 |
+
<?php
|
1982 |
+
}
|
1983 |
+
|
1984 |
+
function print_login_head(){
|
1985 |
+
if($this->isCusminActive()){
|
1986 |
+
return false;
|
1987 |
+
}
|
1988 |
+
|
1989 |
+
$this->context = "login";
|
1990 |
+
$this->error_check();
|
1991 |
+
$wpversion = $this->get_wp_version();
|
1992 |
+
|
1993 |
+
?>
|
1994 |
+
<script type="text/javascript">
|
1995 |
+
document.write('<style type="text/css">html{visibility:hidden;}</style>');
|
1996 |
+
var agca_version = "<?php echo $this->agca_version; ?>";
|
1997 |
+
<?php //var wpversion = "echo $wpversion; ?>
|
1998 |
+
var agca_debug = <?php echo ($this->agca_debug)?"true":"false"; ?>;
|
1999 |
+
var isCusminActive = <?php echo $this->isCusminActive()?'true':'false'; ?>;
|
2000 |
+
var isSettingsImport = false;
|
2001 |
+
var agca_context = "login";
|
2002 |
+
</script>
|
2003 |
+
<?php
|
2004 |
+
$this->prepareAGCALoginTemplates();
|
2005 |
+
$this->agca_get_includes();
|
2006 |
+
|
2007 |
+
?>
|
2008 |
+
|
2009 |
+
<script type="text/javascript">
|
2010 |
+
|
2011 |
+
|
2012 |
+
/* <![CDATA[ */
|
2013 |
+
jQuery(document).ready(function() {
|
2014 |
+
try{
|
2015 |
+
<?php if(get_option('agca_login_round_box')==true){ ?>
|
2016 |
+
jQuery("form#loginform").css("border-radius","<?php echo get_option('agca_login_round_box_size'); ?>px");
|
2017 |
+
jQuery("#login h1 a").css("border-radius","<?php echo get_option('agca_login_round_box_size'); ?>px");
|
2018 |
+
jQuery("#login h1 a").css("margin-bottom",'10px');
|
2019 |
+
jQuery("#login h1 a").css("padding-bottom",'0');
|
2020 |
+
jQuery("form#lostpasswordform").css("border-radius","<?php echo get_option('agca_login_round_box_size'); ?>px");
|
2021 |
+
<?php } ?>
|
2022 |
+
<?php if(get_option('agca_login_banner')==true){ ?>
|
2023 |
+
jQuery("#backtoblog").css("display","none");
|
2024 |
+
<?php } ?>
|
2025 |
+
<?php if(get_option('agca_login_banner_text')==true){ ?>
|
2026 |
+
jQuery("#backtoblog a").html('<?php echo "← " . addslashes(get_option('agca_login_banner_text')); ?>');
|
2027 |
+
<?php } ?>
|
2028 |
+
<?php if(get_option('agca_login_photo_url')==true && get_option('agca_login_photo_remove')!=true){ ?>
|
2029 |
+
advanced_url = "<?php echo get_option('agca_login_photo_url'); ?>";
|
2030 |
+
var $url = "url(" + advanced_url + ")";
|
2031 |
+
jQuery("#login h1 a").css("background",$url+' no-repeat');
|
2032 |
+
jQuery("#login h1 a").hide();
|
2033 |
+
image = jQuery("<img />").attr("src",advanced_url);
|
2034 |
+
jQuery(image).load(function() {
|
2035 |
+
var originalWidth = 326;
|
2036 |
+
var widthDiff = this.width - originalWidth;
|
2037 |
+
jQuery("#login h1 a").height(this.height);
|
2038 |
+
jQuery("#login h1 a").width(this.width);
|
2039 |
+
jQuery("#login h1 a").css("background-size",this.width+"px "+this.height+"px");
|
2040 |
+
|
2041 |
+
var loginWidth = jQuery('#login').width();
|
2042 |
+
var originalLoginWidth = 320;
|
2043 |
+
var photoWidth = this.width;
|
2044 |
+
|
2045 |
+
if(loginWidth > photoWidth){
|
2046 |
+
jQuery("#login h1 a").css('margin','auto');
|
2047 |
+
}else{
|
2048 |
+
jQuery("#login h1 a").css('margin-left',-(widthDiff/2)+((loginWidth-originalLoginWidth)/2)+"px");
|
2049 |
+
}
|
2050 |
+
|
2051 |
+
jQuery("#login h1 a").show();
|
2052 |
+
});
|
2053 |
+
<?php } ?>
|
2054 |
+
<?php if(get_option('agca_login_photo_href')==true){ ?>
|
2055 |
+
var $href = "<?php echo get_option('agca_login_photo_href'); ?>";
|
2056 |
+
$href = $href.replace("%BLOG%", "<?php echo get_bloginfo('wpurl'); ?>");
|
2057 |
+
|
2058 |
+
jQuery("#login h1 a").attr("href",$href);
|
2059 |
+
<?php } ?>
|
2060 |
+
<?php if(get_option('agca_login_photo_remove')==true){ ?>
|
2061 |
+
jQuery("#login h1 a").css("display","none");
|
2062 |
+
<?php } ?>
|
2063 |
+
|
2064 |
+
jQuery("#login h1 a").attr("title","");
|
2065 |
+
|
2066 |
+
<?php if(get_option('agca_login_register_remove')==true){ ?>
|
2067 |
+
if(jQuery('p#nav').size() > 0){
|
2068 |
+
jQuery('p#nav').html(jQuery('p#nav').html().replace('|',''));
|
2069 |
+
}
|
2070 |
+
jQuery('p#nav a').each(function(){
|
2071 |
+
if(jQuery(this).attr('href').indexOf('register') != -1){
|
2072 |
+
jQuery(this).remove();
|
2073 |
+
}
|
2074 |
+
});
|
2075 |
+
|
2076 |
+
<?php } ?>
|
2077 |
+
<?php if(get_option('agca_login_register_href')!=""){ ?>
|
2078 |
+
jQuery('p#nav a').each(function(){
|
2079 |
+
if(jQuery(this).attr('href').indexOf('register') != -1){
|
2080 |
+
jQuery(this).attr('href','<?php echo get_option('agca_login_register_href'); ?>');
|
2081 |
+
}
|
2082 |
+
});
|
2083 |
+
|
2084 |
+
<?php } ?>
|
2085 |
+
|
2086 |
+
<?php if(get_option('agca_login_lostpassword_remove')==true){ ?>
|
2087 |
+
if(jQuery('p#nav').size() > 0){
|
2088 |
+
jQuery('p#nav').html(jQuery('p#nav').html().replace('|',''));
|
2089 |
+
}
|
2090 |
+
jQuery('p#nav a').each(function(){
|
2091 |
+
if(jQuery(this).attr('href').indexOf('lostpassword') != -1){
|
2092 |
+
jQuery(this).remove();
|
2093 |
+
}
|
2094 |
+
});
|
2095 |
+
|
2096 |
+
<?php } ?>
|
2097 |
+
|
2098 |
+
|
2099 |
+
<?php //COLORIZER ?>
|
2100 |
+
<?php if(get_option('agca_colorizer_turnonoff') == 'on'){ ?>
|
2101 |
+
jQuery('label,h1,h2,h3,h4,h5,h6,a,p,.form-table th,.form-wrap label').css('text-shadow','none');
|
2102 |
+
jQuery("body.login, html").css("background","<?php echo $this->colorizer['login_color_background'];?>");
|
2103 |
+
|
2104 |
+
|
2105 |
+
<?php
|
2106 |
+
|
2107 |
+
|
2108 |
+
} ?>
|
2109 |
+
<?php //COLORIZER END ?>
|
2110 |
+
}catch(err){
|
2111 |
+
console.log("AGCA - LOGIN ERROR: " + err.name + " / " + err.message);
|
2112 |
+
}finally{
|
2113 |
+
jQuery('html').show();
|
2114 |
+
jQuery('html').css('visibility','visible');
|
2115 |
+
}
|
2116 |
+
});
|
2117 |
+
/* ]]> */
|
2118 |
+
|
2119 |
+
</script>
|
2120 |
+
<?php
|
2121 |
+
}
|
2122 |
+
|
2123 |
+
function pluginUrl(){
|
2124 |
+
return trailingslashit(plugins_url(basename(dirname(__FILE__))));
|
2125 |
+
}
|
2126 |
+
|
2127 |
+
function agca_admin_page() {
|
2128 |
+
|
2129 |
+
$wpversion = $this->get_wp_version();
|
2130 |
+
$this->agca_error_check();
|
2131 |
+
?>
|
2132 |
+
<?php //includes ?>
|
2133 |
+
<link rel="stylesheet" type="text/css" href="<?php echo $this->pluginUrl(); ?>style/farbtastic.css?ver=<?php echo $wpversion; ?>" />
|
2134 |
+
<script type="text/javascript" src="<?php echo $this->pluginUrl(); ?>script/farbtastic.js?ver=<?php echo $wpversion; ?>"></script>
|
2135 |
+
|
2136 |
+
<link rel="stylesheet" type="text/css" href="<?php echo $this->pluginUrl(); ?>style/agca_farbtastic.css?ver=<?php echo $wpversion; ?>" />
|
2137 |
+
<script type="text/javascript" src="<?php echo $this->pluginUrl(); ?>script/agca_farbtastic.js?ver=<?php echo $wpversion; ?>"></script>
|
2138 |
+
<script type="text/javascript" src="<?php echo $this->pluginUrl(); ?>script/xd.js?ver=<?php echo $wpversion; ?>"></script>
|
2139 |
+
<script type="text/javascript">
|
2140 |
+
var templates_ep = "<?php echo $this->templates_ep; ?>";
|
2141 |
+
var template_selected = '<?php echo get_option('agca_selected_template'); ?>';
|
2142 |
+
</script>
|
2143 |
+
<script type="text/javascript" src="<?php echo $this->pluginUrl(); ?>script/agca_tmpl.js?ver=<?php echo $wpversion; ?>"></script>
|
2144 |
+
<?php //includes ?>
|
2145 |
+
<div class="wrap">
|
2146 |
+
<h1 id="agca-title"><img src="<?php echo plugins_url( 'images/agca.png', __FILE__ ) ?>" /><span class="title">AG Custom Admin <?php _e('Settings', 'ag-custom-admin'); ?></span> <span class="version">(v<?php echo $this->agca_version; ?>)</span></h1>
|
2147 |
+
<div id="agca-social" style="float:right; margin-top: -23px;">
|
2148 |
+
<div class="fb-like" data-href="https://www.facebook.com/AG-Custom-Admin-892218404232342/timeline" data-layout="button" data-action="like" data-show-faces="true" data-share="true"></div>
|
2149 |
+
</div>
|
2150 |
+
<div id="agca_error_placeholder"></div>
|
2151 |
+
<div id="agca_news"> </div><br />
|
2152 |
+
<form method="post" id="agca_form" action="options.php">
|
2153 |
+
<?php wp_nonce_field('agca_form','_agca_token'); ?>
|
2154 |
+
<?php settings_fields( 'agca-options-group' ); ?>
|
2155 |
+
<div id="agca-your-feedback">
|
2156 |
+
<strong>
|
2157 |
+
<span style="color:#005B69">Your feedback:</span>
|
2158 |
+
</strong>
|
2159 |
+
<a class="feedback positive" target="_blank" title="<?php _e('POSITIVE FEEDBACK: I like this plugin!', 'ag-custom-admin'); ?>" href="http://wordpressadminpanel.com/agca-support/feedback/ag-custom-admin-positive-feedback/">
|
2160 |
+
<span class="dashicons dashicons-thumbs-up"></span>
|
2161 |
+
</a>
|
2162 |
+
<a class="feedback negative" target="_blank" title="<?php _e('NEGATIVE FEEDBACK: I don\'t like this plugin.', 'ag-custom-admin'); ?>" href="http://wordpressadminpanel.com/agca-support/feedback/ag-custom-admin-negative-feedback/">
|
2163 |
+
<span class="dashicons dashicons-thumbs-down"></span>
|
2164 |
+
</a>
|
2165 |
+
</div>
|
2166 |
+
<br />
|
2167 |
+
<ul id="ag_main_menu" style="<?php echo $this->isCusminActive()?'display:none':''; ?>">
|
2168 |
+
<li class="selected" style="border-top-left-radius: 10px; "><a href="#general-settings" title="<?php _e('General Settings', 'ag-custom-admin')?>" ><?php _e('General', 'ag-custom-admin')?></a></li>
|
2169 |
+
<li class="normal"><a href="#admin-bar-settings" title="<?php _e('Settings for admin bar', 'ag-custom-admin')?>" ><?php _e('Admin Bar', 'ag-custom-admin')?></a></li>
|
2170 |
+
<li class="normal"><a href="#admin-footer-settings" title="<?php _e('Settings for admin footer', 'ag-custom-admin')?>" ><?php _e('Footer', 'ag-custom-admin')?></a></li>
|
2171 |
+
<li class="normal"><a href="#dashboad-page-settings" title="<?php _e('Settings for Dashboard page', 'ag-custom-admin')?>"><?php _e('Dashboard', 'ag-custom-admin')?></a></li>
|
2172 |
+
<li class="normal"><a href="#login-page-settings" title="<?php _e('Settings for Login page', 'ag-custom-admin')?>"><?php _e('Login Page', 'ag-custom-admin')?></a></li>
|
2173 |
+
<li class="normal" ><a href="#admin-menu-settings" title="<?php _e('Settings for main admin menu', 'ag-custom-admin')?>"><?php _e('Admin Menu', 'ag-custom-admin')?></a></li>
|
2174 |
+
<li class="normal"><a href="#ag-colorizer-setttings" title="<?php _e('Colorizer settings', 'ag-custom-admin')?>"><?php _e('Colorizer', 'ag-custom-admin')?></a></li>
|
2175 |
+
<li class="normal"><a href="#ag-advanced" title="<?php _e('My custom scripts', 'ag-custom-admin')?>"><?php _e('Advanced', 'ag-custom-admin')?></a></li>
|
2176 |
+
<li class="normal" style=""><a style="color:#DB6014;font-weight:bolder;" href="#ag-templates" title="<?php _e('AG Custom Admin Themes', 'ag-custom-admin')?>"><?php _e('Themes', 'ag-custom-admin')?></a></li>
|
2177 |
+
<li class="normal upgrade"><a href="https://cusmin.com/upgrade-to-cusmin" target="_blank" title="<?php _e('Upgrade to Cusmin', 'ag-custom-admin')?>"><img src="<?php echo plugins_url( 'images/cusminlogo.png', __FILE__ ) ?>" /><?php _e('Upgrade', 'ag-custom-admin')?></a></li>
|
2178 |
+
|
2179 |
+
<li style="background:none;border:none;padding:0;"><a id="agca_donate_button" target="_blank" style="margin-left:8px" title="<?php _e('Do you like this plugin? You can support its future development by giving a donation by your choice', 'ag-custom-admin')?> " href="http://wordpressadminpanel.com/agca-support/support-for-future-development/"><img alt="<?php _e('Donate', 'ag-custom-admin')?>" src="<?php echo $this->pluginUrl(); ?>images/btn_donate_LG.gif" /></a>
|
2180 |
+
</li>
|
2181 |
+
<li style="background:none;border:none;padding:0;padding-left:10px;margin-top:-7px"></li>
|
2182 |
+
</ul>
|
2183 |
+
<div id="agca_advertising">
|
2184 |
+
<ul>
|
2185 |
+
<li style="min-height:105px;display: block"></li>
|
2186 |
+
</ul>
|
2187 |
+
</div>
|
2188 |
+
<div class="agca-clear"></div>
|
2189 |
+
<div id="section-cusmin" style="display:none;"><?php _e('All AG Custom Admin plugin\'s settings, except admin themes, are disabled. Please use', 'ag-custom-admin')?> <a href="options-general.php?page=cusmin">Cusmin</a> <?php _e('plugin to manage these settings.', 'ag-custom-admin')?></div>
|
2190 |
+
<div id="section_general" style="display:none" class="ag_section">
|
2191 |
+
<h2 class="section_title"><?php _e('General Settings', 'ag-custom-admin')?></h2>
|
2192 |
+
<p tabindex="0" class="agca-clear agca-tip"><i><?php _e('<strong>Tip: </strong>Move mouse cursor over the option label to see more information about an option', 'ag-custom-admin')?></i></p>
|
2193 |
+
<table class="agca-clear form-table" width="500px">
|
2194 |
+
<?php
|
2195 |
+
|
2196 |
+
$this->print_checkbox(array(
|
2197 |
+
'name'=>'agca_role_allbutadmin',
|
2198 |
+
'label'=>__('Exclude AGCA admin from customizations', 'ag-custom-admin'),
|
2199 |
+
'title'=>__('<h3>Applying customizations</h3><br><strong>Checked</strong> - apply to all users, except admin<br><strong>Not checked</strong> - apply to everyone</br></br><strong>Q</strong>: Who is AGCA administrator?</br><strong>A</strong>: Go to <i>General -> Security -> AGCA admin capability</i> and change capability option to define administrators. Only the users with selected capability will be AGCA administrators.</br>', 'ag-custom-admin')
|
2200 |
+
));
|
2201 |
+
|
2202 |
+
$this->print_options_h3(__('Pages', 'ag-custom-admin'));
|
2203 |
+
|
2204 |
+
$this->print_checkbox(array(
|
2205 |
+
'hide'=>true,
|
2206 |
+
'name'=>'agca_screen_options_menu',
|
2207 |
+
'label'=>__('"Screen Options" menu', 'ag-custom-admin'),
|
2208 |
+
'title'=>__('Hides the menu from the admin pages (located on the top right corner of the page, below the admin bar)', 'ag-custom-admin')
|
2209 |
+
));
|
2210 |
+
|
2211 |
+
$this->print_checkbox(array(
|
2212 |
+
'hide'=>true,
|
2213 |
+
'name'=>'agca_help_menu',
|
2214 |
+
'label'=>__('"Help" menu', 'ag-custom-admin'),
|
2215 |
+
'title'=>__('Hides the menu from the admin pages (located on the top right corner of the page, below the admin bar)', 'ag-custom-admin')
|
2216 |
+
));
|
2217 |
+
|
2218 |
+
$this->print_options_h3(__('Security', 'ag-custom-admin'));
|
2219 |
+
|
2220 |
+
?>
|
2221 |
+
|
2222 |
+
<tr valign="center">
|
2223 |
+
<th scope="row">
|
2224 |
+
<label title="<?php _e('Choose which WordPress capability will be used to distinguish AGCA admin users from other users.</br>AGCA admin users have access to AGCA settings. AGCA administrators can be excluded from customizations if that option is checked', 'ag-custom-admin'); ?>" for="agca_admin_capability"><?php _e('AGCA admin capability', 'ag-custom-admin'); ?>:</label>
|
2225 |
+
</th>
|
2226 |
+
<td><?php echo $this->admin_capabilities; ?> <i>(<?php _e('<strong>Edit Dashboard</strong> - selected by default', 'ag-custom-admin'); ?>)</i>
|
2227 |
+
<p style="margin-left:5px;"><i><?php _e('Find more information about', 'ag-custom-admin'); ?> <a href="https://codex.wordpress.org/Roles_and_Capabilities" target="_blank"><?php _e('WordPress capabilities', 'ag-custom-admin'); ?></a></i></p>
|
2228 |
+
</td>
|
2229 |
+
<td>
|
2230 |
+
</td>
|
2231 |
+
</tr>
|
2232 |
+
<?php
|
2233 |
+
$this->print_options_h3(__('Feedback and Support', 'ag-custom-admin'));
|
2234 |
+
|
2235 |
+
?>
|
2236 |
+
<tr valign="center">
|
2237 |
+
<td colspan="2">
|
2238 |
+
<div class="agca-feedback-and-support">
|
2239 |
+
<ul>
|
2240 |
+
<li><a href="http://wordpressadminpanel.com/agca-support/contact/?type=feature" target="_blank"><span class="dashicons dashicons-lightbulb"></span> <?php _e('Idea for improvement', 'ag-custom-admin'); ?></a> - <?php _e('submit your idea for improvement', 'ag-custom-admin'); ?> </li>
|
2241 |
+
</ul>
|
2242 |
+
<ul>
|
2243 |
+
<li><a href="http://wordpressadminpanel.com/agca-support/contact/?type=bug" target="_blank"><span class="dashicons dashicons-megaphone"></span> <?php _e('Report an issue', 'ag-custom-admin'); ?></a> - <?php _e('If plugin does not work as expected', 'ag-custom-admin'); ?> </li>
|
2244 |
+
</ul>
|
2245 |
+
<ul>
|
2246 |
+
<li><a href="http://wordpressadminpanel.com/agca-support/contact/?type=theme" target="_blank"><span class="dashicons dashicons-art"></span> <?php _e('Idea for admin theme', 'ag-custom-admin'); ?></a> - <?php _e('submit your idea for admin theme', 'ag-custom-admin'); ?> </li>
|
2247 |
+
</ul>
|
2248 |
+
<ul>
|
2249 |
+
<li><a href="https://wordpress.org/support/view/plugin-reviews/ag-custom-admin" target="_blank"><span class="dashicons dashicons-awards"></span> <?php _e('Add a review on WordPress.org', 'ag-custom-admin'); ?></a> - <?php _e('add your review and rate us on WordPress.org', 'ag-custom-admin'); ?> </li>
|
2250 |
+
</ul>
|
2251 |
+
<ul>
|
2252 |
+
<li><a href="http://wordpressadminpanel.com/agca-support/" target="_blank"><span class="dashicons dashicons-shield-alt"></span> <?php _e('Visit our support site', 'ag-custom-admin'); ?></a> - <?php _e('for any other questions, feel free to contact us', 'ag-custom-admin'); ?> </li>
|
2253 |
+
</ul>
|
2254 |
+
<ul>
|
2255 |
+
<li><a href="http://wordpressadminpanel.com/agca-support/support-for-future-development/" target="_blank"><span class="dashicons dashicons-palmtree"></span> <?php _e('Donate', 'ag-custom-admin'); ?></a> - <?php _e('only if you find this plugin helpful for your needs', 'ag-custom-admin'); ?> </li>
|
2256 |
+
</ul>
|
2257 |
+
<ul class="upgrade">
|
2258 |
+
<li><a href="https://cusmin.com/upgrade-to-cusmin" target="_blank">
|
2259 |
+
<img src="<?php echo plugins_url( 'images/cusminlogo.png', __FILE__ ) ?>" />
|
2260 |
+
<span><?php _e('Upgrade to Cusmin', 'ag-custom-admin'); ?></span></a><span><?php _e(' - unlock the ultimate customizing experience', 'ag-custom-admin'); ?></span></li>
|
2261 |
+
</ul>
|
2262 |
+
</div>
|
2263 |
+
</td>
|
2264 |
+
<td></td>
|
2265 |
+
</tr>
|
2266 |
+
</table>
|
2267 |
+
</div>
|
2268 |
+
<div id="section_admin_bar" style="display:none" class="ag_section">
|
2269 |
+
<h2 class="section_title"><?php _e('Admin Bar Settings', 'ag-custom-admin'); ?></h2>
|
2270 |
+
<table class="form-table" width="500px">
|
2271 |
+
|
2272 |
+
<?php
|
2273 |
+
$this->print_checkbox(array(
|
2274 |
+
'attributes'=>array(
|
2275 |
+
'class'=>'ag_table_major_options',
|
2276 |
+
),
|
2277 |
+
'hide'=>true,
|
2278 |
+
'title'=>__('Hides admin bar completely from the admin panel', 'ag-custom-admin'),
|
2279 |
+
'name'=>'agca_header',
|
2280 |
+
'label'=>__('<strong>Admin bar</strong>', 'ag-custom-admin'),
|
2281 |
+
'input-attributes'=>'data-dependant="#agca_header_show_logout_content"',
|
2282 |
+
'input-class'=>'has-dependant',
|
2283 |
+
));
|
2284 |
+
|
2285 |
+
$this->print_checkbox(array(
|
2286 |
+
'attributes'=>array(
|
2287 |
+
'class'=>'ag_table_major_options',
|
2288 |
+
'style'=> ((get_option('agca_header')!='true')?'display:none':''),
|
2289 |
+
'id'=>'agca_header_show_logout_content',
|
2290 |
+
),
|
2291 |
+
'title'=>__('Check this if you want to show Log Out button in top right corner of the admin page', 'ag-custom-admin'),
|
2292 |
+
'name'=>'agca_header_show_logout',
|
2293 |
+
'checked'=> ((get_option('agca_header')==true) && (get_option('agca_header_show_logout')==true)),
|
2294 |
+
'label'=>__('<strong>(but show Log Out button)</strong>', 'ag-custom-admin')
|
2295 |
+
));
|
2296 |
+
|
2297 |
+
$this->print_checkbox(array(
|
2298 |
+
'title'=>__('Removes admin bar customizations for authenticated users on site pages.</br>This option can be useful if you want to remove AGCA scripts (styles, JavaScript) on your website for any reason.', 'ag-custom-admin'),
|
2299 |
+
'name'=>'agca_admin_bar_frontend',
|
2300 |
+
'hide'=>true,
|
2301 |
+
'label'=>__('Site pages: Admin bar customizations', 'ag-custom-admin')
|
2302 |
+
));
|
2303 |
+
|
2304 |
+
$this->print_checkbox(array(
|
2305 |
+
'title'=>__('Hides admin bar completely for authenticated users on site pages.', 'ag-custom-admin'),
|
2306 |
+
'name'=>'agca_admin_bar_frontend_hide',
|
2307 |
+
'hide'=>true,
|
2308 |
+
'label'=>__('Site pages: Admin bar', 'ag-custom-admin')
|
2309 |
+
));
|
2310 |
+
|
2311 |
+
$this->print_options_h3(__('Left Side', 'ag-custom-admin'));
|
2312 |
+
|
2313 |
+
$this->print_input(array(
|
2314 |
+
'title'=>__('Change default WordPress logo with custom image.', 'ag-custom-admin'),
|
2315 |
+
'name'=>'agca_wp_logo_custom',
|
2316 |
+
'label'=>__('Admin bar logo', 'ag-custom-admin'),
|
2317 |
+
'hint' =>__('Image URL', 'ag-custom-admin')
|
2318 |
+
));
|
2319 |
+
|
2320 |
+
$this->print_input(array(
|
2321 |
+
'title'=>__('Custom link on admin bar logo.', 'ag-custom-admin').'</br></br>Use:</br><strong>%BLOG%</strong> - '.__('for blog URL.', 'ag-custom-admin').'</br><strong>%SWITCH%</strong> - '.__('to switch betweent admin and site area', 'ag-custom-admin'),
|
2322 |
+
'name'=>'agca_wp_logo_custom_link',
|
2323 |
+
'label'=>__('Admin bar logo link', 'ag-custom-admin'),
|
2324 |
+
'hint' =>__('Link', 'ag-custom-admin')
|
2325 |
+
));
|
2326 |
+
|
2327 |
+
$this->print_input(array(
|
2328 |
+
'title'=>__('Customize WordPress title using custom title template.</br></br>Examples', 'ag-custom-admin').':</br><strong>%BLOG% -- %PAGE%</strong> '.'('.__('will be', 'ag-custom-admin').')'.' <i>My Blog -- Add New Post</i></br><strong>%BLOG%</strong> ('.__('will be', 'ag-custom-admin').') <i>My Blog</i></br><strong>My Company > %BLOG% > %PAGE%</strong> ('.__('will be', 'ag-custom-admin').') <i>My Company > My Blog > Tools</i>',
|
2329 |
+
'name'=>'agca_custom_title',
|
2330 |
+
'label'=>__('Page title template', 'ag-custom-admin'),
|
2331 |
+
'hint' =>__('Please use', 'ag-custom-admin').' <strong>%BLOG%</strong> '.__('and', 'ag-custom-admin'). ' <strong>%PAGE%</strong> '.__('in your title template.nd', 'ag-custom-admin')
|
2332 |
+
));
|
2333 |
+
|
2334 |
+
$this->print_input(array(
|
2335 |
+
'title'=>__('Add custom image on the top of the admin content.', 'ag-custom-admin'),
|
2336 |
+
'name'=>'agca_header_logo_custom',
|
2337 |
+
'label'=>__('Header image', 'ag-custom-admin'),
|
2338 |
+
'hint' =>__('Image URL', 'ag-custom-admin')
|
2339 |
+
));
|
2340 |
+
|
2341 |
+
|
2342 |
+
$this->print_checkbox(array(
|
2343 |
+
'hide'=>true,
|
2344 |
+
'title'=>__('Hides small Wordpress logo or custom logo from the admin bar', 'ag-custom-admin'),
|
2345 |
+
'name'=>'agca_header_logo',
|
2346 |
+
'label'=>__('Admin bar logo', 'ag-custom-admin')
|
2347 |
+
));
|
2348 |
+
|
2349 |
+
$this->print_checkbox(array(
|
2350 |
+
'hide'=>true,
|
2351 |
+
'title'=>__('Hides WordPress context menu on admin bar logo from admin bar', 'ag-custom-admin'),
|
2352 |
+
'name'=>'agca_remove_top_bar_dropdowns',
|
2353 |
+
'label'=>__('Admin bar logo context menu', 'ag-custom-admin')
|
2354 |
+
));
|
2355 |
+
|
2356 |
+
$this->print_checkbox(array(
|
2357 |
+
'hide'=>true,
|
2358 |
+
'title'=>__('Hides site name link from the admin bar', 'ag-custom-admin'),
|
2359 |
+
'name'=>'agca_remove_site_link',
|
2360 |
+
'label'=>__('Site name', 'ag-custom-admin')
|
2361 |
+
));
|
2362 |
+
|
2363 |
+
$this->print_checkbox(array(
|
2364 |
+
'hide'=>true,
|
2365 |
+
'title'=>__('Hides update notifications from admin bar', 'ag-custom-admin'),
|
2366 |
+
'name'=>'agca_admin_bar_update_notifications',
|
2367 |
+
'label'=>__('Update notifications', 'ag-custom-admin')
|
2368 |
+
));
|
2369 |
+
|
2370 |
+
$this->print_checkbox(array(
|
2371 |
+
'hide'=>true,
|
2372 |
+
'title'=>__('Hides comments block from admin bar', 'ag-custom-admin'),
|
2373 |
+
'name'=>'agca_admin_bar_comments',
|
2374 |
+
'label'=>__('"Comments" block', 'ag-custom-admin')
|
2375 |
+
));
|
2376 |
+
|
2377 |
+
$this->print_checkbox(array(
|
2378 |
+
'hide'=>true,
|
2379 |
+
'attributes'=>array(
|
2380 |
+
'style'=>'margin-top:20px;'
|
2381 |
+
),
|
2382 |
+
'title'=>__('Hides "+ New" block and its context menu from admin bar', 'ag-custom-admin'),
|
2383 |
+
'name'=>'agca_admin_bar_new_content',
|
2384 |
+
'label'=>__('"+ New" block', 'ag-custom-admin'),
|
2385 |
+
'input-attributes'=>'data-dependant=".new_content_header_submenu"',
|
2386 |
+
'input-class'=>'has-dependant dependant-opposite'
|
2387 |
+
));
|
2388 |
+
|
2389 |
+
$this->print_checkbox(array(
|
2390 |
+
'hide'=>true,
|
2391 |
+
'attributes'=>array(
|
2392 |
+
'class'=>'new_content_header_submenu'
|
2393 |
+
),
|
2394 |
+
'title'=>__('Hides "Post" sub-menu from "+ New" block on admin bar', 'ag-custom-admin'),
|
2395 |
+
'name'=>'agca_admin_bar_new_content_post',
|
2396 |
+
'label'=>' '.__('"+ New" -> Post sub-menu', 'ag-custom-admin')
|
2397 |
+
));
|
2398 |
+
|
2399 |
+
$this->print_checkbox(array(
|
2400 |
+
'hide'=>true,
|
2401 |
+
'attributes'=>array(
|
2402 |
+
'class'=>'new_content_header_submenu'
|
2403 |
+
),
|
2404 |
+
'title'=>__('Hides "Link" sub-menu from "+ New" block on admin bar', 'ag-custom-admin'),
|
2405 |
+
'name'=>'agca_admin_bar_new_content_link',
|
2406 |
+
'label'=>' '.__('"+ New" -> Link sub-menu', 'ag-custom-admin')
|
2407 |
+
));
|
2408 |
+
|
2409 |
+
$this->print_checkbox(array(
|
2410 |
+
'hide'=>true,
|
2411 |
+
'attributes'=>array(
|
2412 |
+
'class'=>'new_content_header_submenu'
|
2413 |
+
),
|
2414 |
+
'title'=>__('Hides "Page" sub-menu from "+ New" block on admin bar', 'ag-custom-admin'),
|
2415 |
+
'name'=>'agca_admin_bar_new_content_page',
|
2416 |
+
'label'=>' '.__('"+ New" -> Page sub-menu', 'ag-custom-admin')
|
2417 |
+
));
|
2418 |
+
|
2419 |
+
$this->print_checkbox(array(
|
2420 |
+
'hide'=>true,
|
2421 |
+
'attributes'=>array(
|
2422 |
+
'class'=>'new_content_header_submenu'
|
2423 |
+
),
|
2424 |
+
'title'=>__('Hides "User" sub-menu from "+ New" block on admin bar', 'ag-custom-admin'),
|
2425 |
+
'name'=>'agca_admin_bar_new_content_user',
|
2426 |
+
'label'=>' '.__('"+ New" -> User sub-menu', 'ag-custom-admin')
|
2427 |
+
));
|
2428 |
+
|
2429 |
+
$this->print_checkbox(array(
|
2430 |
+
'hide'=>true,
|
2431 |
+
'attributes'=>array(
|
2432 |
+
'class'=>'new_content_header_submenu'
|
2433 |
+
),
|
2434 |
+
'title'=>__('Hides "Media" sub-menu from "+ New" block on admin bar', 'ag-custom-admin'),
|
2435 |
+
'name'=>'agca_admin_bar_new_content_media',
|
2436 |
+
'label'=>' '.__('"+ New" -> Media sub-menu', 'ag-custom-admin')
|
2437 |
+
));
|
2438 |
+
|
2439 |
+
$this->print_checkbox(array(
|
2440 |
+
'hide'=>true,
|
2441 |
+
'title'=>__('Hides "Admin themes" from admin bar', 'ag-custom-admin'),
|
2442 |
+
'name'=>'agca_admin_bar_admin_themes',
|
2443 |
+
'label'=>__('"Admin themes"', 'ag-custom-admin')
|
2444 |
+
));
|
2445 |
+
|
2446 |
+
$this->print_input(array(
|
2447 |
+
'title'=>__('Adds custom text in admin top bar.', 'ag-custom-admin'),
|
2448 |
+
'name'=>'agca_custom_site_heading',
|
2449 |
+
'label'=>__('Custom blog heading', 'ag-custom-admin'),
|
2450 |
+
'hint'=>__('<strong>Tip: </strong>You can use HTML tags like', 'ag-custom-admin')." <h1> ".__('or', 'ag-custom-admin')." <a>"
|
2451 |
+
));
|
2452 |
+
|
2453 |
+
|
2454 |
+
$this->print_checkbox(array(
|
2455 |
+
'hide'=>true,
|
2456 |
+
'title'=>__('Hides yellow bar with information about new WordPress release', 'ag-custom-admin'),
|
2457 |
+
'name'=>'agca_update_bar',
|
2458 |
+
'label'=>__('Update WordPress notification', 'ag-custom-admin')
|
2459 |
+
));
|
2460 |
+
|
2461 |
+
$this->print_options_h3(__('Right Side', 'ag-custom-admin'));
|
2462 |
+
|
2463 |
+
$this->print_input(array(
|
2464 |
+
'name'=>'agca_howdy',
|
2465 |
+
'label'=>__('Change Howdy text', 'ag-custom-admin'),
|
2466 |
+
));
|
2467 |
+
|
2468 |
+
$this->print_input(array(
|
2469 |
+
'title'=>__('Put \'Exit\', for example', 'ag-custom-admin'),
|
2470 |
+
'name'=>'agca_logout',
|
2471 |
+
'label'=>__('Change Log out text', 'ag-custom-admin'),
|
2472 |
+
));
|
2473 |
+
|
2474 |
+
$this->print_checkbox(array(
|
2475 |
+
'hide'=>true,
|
2476 |
+
'name'=>'agca_remove_your_profile',
|
2477 |
+
'label'=>__('"Edit My Profile" option from dropdown menu', 'ag-custom-admin'),
|
2478 |
+
));
|
2479 |
+
|
2480 |
+
$this->print_checkbox(array(
|
2481 |
+
'title'=>__('If selected, hides all elements in top right corner, except Log Out button', 'ag-custom-admin'),
|
2482 |
+
'name'=>'agca_logout_only',
|
2483 |
+
'label'=>__('Log out only', 'ag-custom-admin')
|
2484 |
+
));
|
2485 |
+
|
2486 |
+
?>
|
2487 |
+
|
2488 |
+
</table>
|
2489 |
+
</div>
|
2490 |
+
|
2491 |
+
<div id="section_admin_footer" style="display:none" class="ag_section">
|
2492 |
+
<h2 class="section_title"><?php _e('Admin Footer Settings', 'ag-custom-admin'); ?></h2>
|
2493 |
+
<table class="form-table" width="500px">
|
2494 |
+
<?php
|
2495 |
+
$this->print_checkbox(array(
|
2496 |
+
'hide'=>true,
|
2497 |
+
'attributes'=>array(
|
2498 |
+
'class'=>'ag_table_major_options'
|
2499 |
+
),
|
2500 |
+
'title'=>__('Hides footer with all elements', 'ag-custom-admin'),
|
2501 |
+
'name'=>'agca_footer',
|
2502 |
+
'label'=>__('<strong>Footer</strong>', 'ag-custom-admin')
|
2503 |
+
));
|
2504 |
+
|
2505 |
+
$this->print_options_h3(__('Footer Options', 'ag-custom-admin'));
|
2506 |
+
|
2507 |
+
$this->print_checkbox(array(
|
2508 |
+
'hide'=>true,
|
2509 |
+
'title'=>__('Hides default text in footer', 'ag-custom-admin'),
|
2510 |
+
'name'=>'agca_footer_left_hide',
|
2511 |
+
'label'=>__('Footer text', 'ag-custom-admin')
|
2512 |
+
));
|
2513 |
+
|
2514 |
+
$this->print_textarea(array(
|
2515 |
+
'title'=>__('Replaces text \'Thank you for creating with WordPress\' with custom text', 'ag-custom-admin'),
|
2516 |
+
'name'=>'agca_footer_left',
|
2517 |
+
'label'=>__('Change footer text', 'ag-custom-admin')
|
2518 |
+
));
|
2519 |
+
|
2520 |
+
$this->print_checkbox(array(
|
2521 |
+
'hide'=>true,
|
2522 |
+
'title'=>__('Hides text \'Get Version ...\' on right', 'ag-custom-admin'),
|
2523 |
+
'name'=>'agca_footer_right_hide',
|
2524 |
+
'label'=>__('Version text', 'ag-custom-admin')
|
2525 |
+
));
|
2526 |
+
|
2527 |
+
$this->print_textarea(array(
|
2528 |
+
'title'=>__('Replaces text \'Get Version ...\' with custom text', 'ag-custom-admin'),
|
2529 |
+
'name'=>'agca_footer_right',
|
2530 |
+
'label'=>__('Change version text', 'ag-custom-admin')
|
2531 |
+
));
|
2532 |
+
|
2533 |
+
?>
|
2534 |
+
|
2535 |
+
</table>
|
2536 |
+
</div>
|
2537 |
+
<div id="section_dashboard_page" style="display:none" class="ag_section">
|
2538 |
+
<h2 class="section_title"><?php _e('Dashboard Page Settings', 'ag-custom-admin'); ?></h2>
|
2539 |
+
<table class="form-table" width="500px">
|
2540 |
+
<?php
|
2541 |
+
|
2542 |
+
$this->print_options_h3(__('Dashboard Page Options', 'ag-custom-admin'));
|
2543 |
+
|
2544 |
+
$this->print_input(array(
|
2545 |
+
'title'=>__('Main heading (\'Dashboard\') on Dashboard page', 'ag-custom-admin'),
|
2546 |
+
'name'=>'agca_dashboard_text',
|
2547 |
+
'label'=>__('Change Dashboard heading text', 'ag-custom-admin'),
|
2548 |
+
));
|
2549 |
+
|
2550 |
+
?>
|
2551 |
+
<tr valign="center">
|
2552 |
+
<th scope="row">
|
2553 |
+
<label title="<?php _e('Adds custom text (or HTML) between heading and widgets area on Dashboard page', 'ag-custom-admin'); ?>" for="agca_dashboard_text_paragraph"><?php _e('Add custom Dashboard content<br> <em>(text or HTML content)', 'ag-custom-admin'); ?></em></label>
|
2554 |
+
</th>
|
2555 |
+
<td class="agca_editor">
|
2556 |
+
<?php $this->getTextEditor('agca_dashboard_text_paragraph'); ?>
|
2557 |
+
</td>
|
2558 |
+
</tr>
|
2559 |
+
<?php
|
2560 |
+
|
2561 |
+
$this->print_options_h3(__('Dashboard Widgets Options', 'ag-custom-admin'));
|
2562 |
+
|
2563 |
+
?>
|
2564 |
+
<tr>
|
2565 |
+
<td colspan="2">
|
2566 |
+
<p tabindex="0" class="agca-tip"><i><strong><?php _e('Note', 'ag-custom-admin'); ?>:</strong> <?php _e('These settings override settings in Screen options on Dashboard page.', 'ag-custom-admin'); ?></i></p>
|
2567 |
+
</td>
|
2568 |
+
</tr>
|
2569 |
+
<?php
|
2570 |
+
$this->print_checkbox(array(
|
2571 |
+
'hide'=>true,
|
2572 |
+
'title'=>__('Hides Welcome WordPress widget', 'ag-custom-admin'),
|
2573 |
+
'name'=>'agca_dashboard_widget_welcome',
|
2574 |
+
'label'=>__('"Welcome" widget', 'ag-custom-admin')
|
2575 |
+
));
|
2576 |
+
|
2577 |
+
$this->print_checkbox(array(
|
2578 |
+
'hide'=>true,
|
2579 |
+
'title'=>__('Hides Activity dashboard widget', 'ag-custom-admin'),
|
2580 |
+
'name'=>'agca_dashboard_widget_activity',
|
2581 |
+
'label'=>__('"Activity" widget', 'ag-custom-admin')
|
2582 |
+
));
|
2583 |
+
|
2584 |
+
$this->print_checkbox(array(
|
2585 |
+
'hide'=>true,
|
2586 |
+
'title'=>__('Hides Quick Draft dashboard widget', 'ag-custom-admin'),
|
2587 |
+
'name'=>'agca_dashboard_widget_qp',
|
2588 |
+
'label'=>__('"Quick Draft" widget', 'ag-custom-admin')
|
2589 |
+
));
|
2590 |
+
|
2591 |
+
$this->print_checkbox(array(
|
2592 |
+
'hide'=>true,
|
2593 |
+
'title'=>__('Hides At a Glance dashboard widget', 'ag-custom-admin'),
|
2594 |
+
'name'=>'agca_dashboard_widget_rn',
|
2595 |
+
'label'=>__('"At a Glance" widget', 'ag-custom-admin')
|
2596 |
+
));
|
2597 |
+
|
2598 |
+
$this->print_checkbox(array(
|
2599 |
+
'hide'=>true,
|
2600 |
+
'name'=>'agca_dashboard_widget_primary',
|
2601 |
+
'title'=>__('This is \'WordPress News\' or \'WordPress Development Blog\' widget in older WordPress versions', 'ag-custom-admin'),
|
2602 |
+
'label'=>__('"WordPress News" widget', 'ag-custom-admin')
|
2603 |
+
));
|
2604 |
+
|
2605 |
+
$this->print_checkbox(array(
|
2606 |
+
'hide'=>true,
|
2607 |
+
'name'=>'agca_dashboard_widget_secondary',
|
2608 |
+
'title'=>__('This is \'Other WordPress News\' widget by default', 'ag-custom-admin'),
|
2609 |
+
'label'=>__('Secondary widget area', 'ag-custom-admin')
|
2610 |
+
));
|
2611 |
+
|
2612 |
+
?>
|
2613 |
+
</table>
|
2614 |
+
</div>
|
2615 |
+
<div id="section_login_page" style="display:none" class="ag_section">
|
2616 |
+
<h2 class="section_title"><?php _e('Login Page Settings', 'ag-custom-admin'); ?></h2>
|
2617 |
+
<table class="form-table" width="500px">
|
2618 |
+
<?php
|
2619 |
+
|
2620 |
+
$this->print_options_h3(__('Login Page Options', 'ag-custom-admin'));
|
2621 |
+
|
2622 |
+
$this->print_checkbox(array(
|
2623 |
+
'hide'=>true,
|
2624 |
+
'name'=>'agca_login_banner',
|
2625 |
+
'title'=>__('Hide back to blog block', 'ag-custom-admin'),
|
2626 |
+
'label'=>__('Back to blog text', 'ag-custom-admin')
|
2627 |
+
));
|
2628 |
+
|
2629 |
+
$this->print_input(array(
|
2630 |
+
'name'=>'agca_login_banner_text',
|
2631 |
+
'title'=>__('Changes \'<- Back to ...\' text in top bar on Login page', 'ag-custom-admin'),
|
2632 |
+
'label'=>__('Change back to blog text', 'ag-custom-admin')
|
2633 |
+
));
|
2634 |
+
|
2635 |
+
$this->print_input(array(
|
2636 |
+
'title'=>__('If this field is not empty, image from provided url will be visible on Login page', 'ag-custom-admin'),
|
2637 |
+
'name'=>'agca_login_photo_url',
|
2638 |
+
'label'=>__('Change Login header image', 'ag-custom-admin'),
|
2639 |
+
'hint'=>__('Image URL', 'ag-custom-admin')
|
2640 |
+
));
|
2641 |
+
|
2642 |
+
$this->print_input(array(
|
2643 |
+
'title'=>__('Put here custom link to a web location, that will be triggered on image click', 'ag-custom-admin'),
|
2644 |
+
'name'=>'agca_login_photo_href',
|
2645 |
+
'label'=>__('Change link on login image', 'ag-custom-admin'),
|
2646 |
+
'hint'=>__('For blog URL use', 'ag-custom-admin').' %BLOG%'
|
2647 |
+
));
|
2648 |
+
|
2649 |
+
$this->print_checkbox(array(
|
2650 |
+
'hide'=>true,
|
2651 |
+
'title'=>__('Hides login image completely', 'ag-custom-admin'),
|
2652 |
+
'name'=>'agca_login_photo_remove',
|
2653 |
+
'label'=>__('Login header image', 'ag-custom-admin'),
|
2654 |
+
));
|
2655 |
+
|
2656 |
+
$this->print_checkbox(array(
|
2657 |
+
'title'=>__('Rounds box on login page', 'ag-custom-admin'),
|
2658 |
+
'name'=>'agca_login_round_box',
|
2659 |
+
'label'=>'Round box corners',
|
2660 |
+
'input-class'=>'has-dependant',
|
2661 |
+
'input-attributes'=>'data-dependant="#agca_login_round_box_size_block"'
|
2662 |
+
));
|
2663 |
+
|
2664 |
+
$this->print_input(array(
|
2665 |
+
'attributes'=>array(
|
2666 |
+
'style'=> ((get_option('agca_login_round_box')=='true')?'display:none':''),
|
2667 |
+
'id'=>'agca_login_round_box_size_block'
|
2668 |
+
),
|
2669 |
+
'title'=>__('Size of rounded box curve', 'ag-custom-admin'),
|
2670 |
+
'name'=>'agca_login_round_box_size',
|
2671 |
+
'label'=>__('Round box corners - size', 'ag-custom-admin'),
|
2672 |
+
'input-class'=>'validateNumber',
|
2673 |
+
'hint'=>__('(Size in px)', 'ag-custom-admin')
|
2674 |
+
));
|
2675 |
+
|
2676 |
+
$this->print_checkbox(array(
|
2677 |
+
'hide'=>true,
|
2678 |
+
'title'=>__('Hides register link on login page', 'ag-custom-admin'),
|
2679 |
+
'name'=>'agca_login_register_remove',
|
2680 |
+
'label'=>__('Register link', 'ag-custom-admin'),
|
2681 |
+
'input-class'=>'has-dependant dependant-opposite',
|
2682 |
+
'input-attributes'=>'data-dependant="#agca_login_register_href_block"'
|
2683 |
+
));
|
2684 |
+
|
2685 |
+
$this->print_input(array(
|
2686 |
+
'attributes'=>array(
|
2687 |
+
'style'=> ((get_option('agca_login_register_remove')=='true')?'display:none':''),
|
2688 |
+
'id'=>'agca_login_register_href_block'
|
2689 |
+
),
|
2690 |
+
'title'=>__('Change register link on login page to point to your custom registration page.', 'ag-custom-admin'),
|
2691 |
+
'name'=>'agca_login_register_href',
|
2692 |
+
'label'=>__('Change register link', 'ag-custom-admin'),
|
2693 |
+
'hint'=>__('Link to new registration page', 'ag-custom-admin')
|
2694 |
+
));
|
2695 |
+
|
2696 |
+
$this->print_checkbox(array(
|
2697 |
+
'hide'=>true,
|
2698 |
+
'title'=>__('Hides lost password link on login page', 'ag-custom-admin'),
|
2699 |
+
'name'=>'agca_login_lostpassword_remove',
|
2700 |
+
'label'=>__('Lost password link', 'ag-custom-admin'),
|
2701 |
+
));
|
2702 |
+
?>
|
2703 |
+
</table>
|
2704 |
+
</div>
|
2705 |
+
<?php
|
2706 |
+
/*ADMIN MENU*/
|
2707 |
+
?>
|
2708 |
+
<div id="section_admin_menu" style="display:none" class="ag_section">
|
2709 |
+
<h2 class="section_title"><?php _e('Admin Menu Settings', 'ag-custom-admin'); ?></h2>
|
2710 |
+
<table class="form-table" width="500px">
|
2711 |
+
<tr valign="center" class="ag_table_major_options">
|
2712 |
+
<td><label for="agca_admin_menu_turnonoff"><strong><?php _e('Apply admin menu customizations', 'ag-custom-admin'); ?></strong></label></td>
|
2713 |
+
<td>
|
2714 |
+
<strong>
|
2715 |
+
|
2716 |
+
<input class="agca-radio" type="radio" id="agca_admin_menu_turnonoff_on" name="agca_admin_menu_turnonoff" title="<?php _e('Apply admin menu customizations', 'ag-custom-admin'); ?>" value="on" <?php if(get_option('agca_admin_menu_turnonoff') == 'on') echo 'checked="checked" '; ?> />
|
2717 |
+
<span class="agca-radio-text on"><?php _e('YES', 'ag-custom-admin'); ?></span>
|
2718 |
+
|
2719 |
+
<input class="agca-radio" type="radio" name="agca_admin_menu_turnonoff" title="<?php _e('Do not apply admin menu customizations', 'ag-custom-admin'); ?>" value="off" <?php if(get_option('agca_admin_menu_turnonoff') != 'on') echo 'checked="checked"'; ?> />
|
2720 |
+
<span class="agca-radio-text off"><?php _e('NO', 'ag-custom-admin'); ?></span>
|
2721 |
+
</strong>
|
2722 |
+
</td>
|
2723 |
+
</tr>
|
2724 |
+
<tr valign="center" class="ag_table_major_options">
|
2725 |
+
<td><label for="agca_admin_menu_agca_button_only"><strong><?php _e('Admin menu', 'ag-custom-admin'); ?></strong></label></td>
|
2726 |
+
<td><input class="agca-checkbox visibility" type="checkbox" name="agca_admin_menu_agca_button_only" title="<?php _e('Hides admin menu completely (administrator can see \'AG custom admin\' button)', 'ag-custom-admin'); ?>" value="true" <?php if (get_option('agca_admin_menu_agca_button_only')==true) echo 'checked="checked" '; ?> /></td>
|
2727 |
+
</tr>
|
2728 |
+
<?php
|
2729 |
+
$this->print_options_h3(__('Edit / Remove Menu Items', 'ag-custom-admin'));
|
2730 |
+
?>
|
2731 |
+
<tr>
|
2732 |
+
<td colspan="2">
|
2733 |
+
<input type="button" class="agca_button" id="ag_edit_adminmenu_reset_button" title="<?php _e('Reset menu settings to default values', 'ag-custom-admin'); ?>" name="ag_edit_adminmenu_reset_button" value="<?php _e('Reset to default settings', 'ag-custom-admin'); ?>" /><br />
|
2734 |
+
<p tabindex="0"><em>(<?php _e('click on the top menu item to show its sub-menus', 'ag-custom-admin'); ?>)</em></p>
|
2735 |
+
<table id="ag_edit_adminmenu">
|
2736 |
+
<tr style="background-color:#999;">
|
2737 |
+
<td width="300px"><div style="float:left;color:#fff;"><h3><?php _e('Item', 'ag-custom-admin'); ?></h3></div><div style="float:right;color:#fff;"><h3><?php _e('Visibility', 'ag-custom-admin'); ?></h3></div></td><td width="300px" style="color:#fff;" ><h3><?php _e('Change Text', 'ag-custom-admin'); ?></h3>
|
2738 |
+
</td>
|
2739 |
+
</tr>
|
2740 |
+
</table>
|
2741 |
+
<input type="hidden" size="47" id="ag_edit_adminmenu_json" name="ag_edit_adminmenu_json" value="<?php echo htmlspecialchars(get_option('ag_edit_adminmenu_json')); ?>" />
|
2742 |
+
<input type="hidden" size="47" id="ag_edit_adminmenu_json_new" name="ag_edit_adminmenu_json_new" value="" />
|
2743 |
+
</td>
|
2744 |
+
<td></td>
|
2745 |
+
</tr>
|
2746 |
+
<?php
|
2747 |
+
$this->print_checkbox(array(
|
2748 |
+
'title'=>__('Removes Profile menu item for non-admin users.', 'ag-custom-admin'),
|
2749 |
+
'name'=>'agca_menu_remove_client_profile',
|
2750 |
+
'label'=>__('Remove Profile button from user menu', 'ag-custom-admin'),
|
2751 |
+
));
|
2752 |
+
?>
|
2753 |
+
<?php
|
2754 |
+
$this->print_options_h3(__('Add New Menu Items', 'ag-custom-admin'));
|
2755 |
+
?>
|
2756 |
+
<tr>
|
2757 |
+
<td colspan="2">
|
2758 |
+
<table id="ag_add_adminmenu">
|
2759 |
+
<tr>
|
2760 |
+
<td colspan="2">
|
2761 |
+
<?php _e('name', 'ag-custom-admin'); ?>:<input type="text" size="47" title="<?php _e('New button visible name', 'ag-custom-admin'); ?>" id="ag_add_adminmenu_name" name="ag_add_adminmenu_name" />
|
2762 |
+
<?php _e('url', 'ag-custom-admin'); ?>:<input type="text" size="47" title="<?php _e('New button link', 'ag-custom-admin'); ?>" id="ag_add_adminmenu_url" name="ag_add_adminmenu_url" />
|
2763 |
+
<?php _e('open in', 'ag-custom-admin'); ?>:<select id="ag_add_adminmenu_target" class="agca-selectbox" style="width:95px">
|
2764 |
+
<option value="_self" selected><?php _e('same tab', 'ag-custom-admin'); ?></option>
|
2765 |
+
<option value="_blank" ><?php _e('new tab', 'ag-custom-admin'); ?></option>
|
2766 |
+
</select>
|
2767 |
+
<input type="button" id="ag_add_adminmenu_button" class="agca_button" title="<?php _e('Add new item button" name="ag_add_adminmenu_button', 'ag-custom-admin'); ?>" value="<?php _e('Add new item', 'ag-custom-admin'); ?>" />
|
2768 |
+
</td><td></td>
|
2769 |
+
</tr>
|
2770 |
+
</table>
|
2771 |
+
<input type="hidden" size="47" id="ag_add_adminmenu_json" name="ag_add_adminmenu_json" value="<?php echo htmlspecialchars(get_option('ag_add_adminmenu_json')); ?>" />
|
2772 |
+
</td>
|
2773 |
+
<td>
|
2774 |
+
</td>
|
2775 |
+
</tr>
|
2776 |
+
<?php
|
2777 |
+
$this->print_options_h3(__('Admin Menu Settings', 'ag-custom-admin'));
|
2778 |
+
?>
|
2779 |
+
<tr valign="center">
|
2780 |
+
<th scope="row">
|
2781 |
+
<label title="<?php _e('Choose how admin menu should behave on mobile devices / small screens', 'ag-custom-admin'); ?>" for="agca_admin_menu_autofold"><?php _e('Admin menu auto folding', 'ag-custom-admin'); ?></label>
|
2782 |
+
</th>
|
2783 |
+
<td>
|
2784 |
+
<select title="<?php _e('General', 'ag-custom-admin'); ?>Choose how admin menu should behave on mobile devices / small screens" class="agca-selectbox" name="agca_admin_menu_autofold" >
|
2785 |
+
<option value="" <?php echo (get_option('agca_admin_menu_autofold') == "")?" selected ":""; ?> ><?php _e('Default', 'ag-custom-admin'); ?></option>
|
2786 |
+
<option value="force" <?php echo (get_option('agca_admin_menu_autofold') == "force")?" selected ":""; ?> ><?php _e('Force admin menu auto-folding', 'ag-custom-admin'); ?></option>
|
2787 |
+
<option value="disable" <?php echo (get_option('agca_admin_menu_autofold') == "disable")?" selected ":""; ?> ><?php _e('Disable admin menu auto-folding', 'ag-custom-admin'); ?></option>
|
2788 |
+
</select>
|
2789 |
+
</td>
|
2790 |
+
</tr>
|
2791 |
+
<?php
|
2792 |
+
|
2793 |
+
$this->print_checkbox(array(
|
2794 |
+
'hide'=>true,
|
2795 |
+
'title'=>__('Removes empty space between some top menu items', 'ag-custom-admin'),
|
2796 |
+
'name'=>'agca_admin_menu_separators',
|
2797 |
+
'label'=>__('Menu items separators', 'ag-custom-admin'),
|
2798 |
+
));
|
2799 |
+
|
2800 |
+
$this->print_checkbox(array(
|
2801 |
+
'hide'=>true,
|
2802 |
+
'title'=>__('Removes icons from dmin menu buttons', 'ag-custom-admin'),
|
2803 |
+
'name'=>'agca_admin_menu_icons',
|
2804 |
+
'label'=>__('Menu icons', 'ag-custom-admin'),
|
2805 |
+
));
|
2806 |
+
|
2807 |
+
$this->print_checkbox(array(
|
2808 |
+
'hide'=>true,
|
2809 |
+
'title'=>__('Removes small arrow that appears on the top button hover', 'ag-custom-admin'),
|
2810 |
+
'name'=>'agca_admin_menu_arrow',
|
2811 |
+
'label'=>__('Sub-menu arrow', 'ag-custom-admin'),
|
2812 |
+
));
|
2813 |
+
|
2814 |
+
$this->print_checkbox(array(
|
2815 |
+
'hide'=>true,
|
2816 |
+
'title'=>__('Removes collapse button at the end of admin menu', 'ag-custom-admin'),
|
2817 |
+
'name'=>'agca_admin_menu_collapse_button',
|
2818 |
+
'label'=>__('"Collapse menu" button', 'ag-custom-admin'),
|
2819 |
+
));
|
2820 |
+
|
2821 |
+
$this->print_checkbox(array(
|
2822 |
+
'title'=>__('Rounds submenu pop-up box', 'ag-custom-admin'),
|
2823 |
+
'name'=>'agca_admin_menu_submenu_round',
|
2824 |
+
'label'=>__('Round sub-menu pop-up box', 'ag-custom-admin'),
|
2825 |
+
'input-attributes'=>'data-dependant="#agca_admin_menu_submenu_round_size"',
|
2826 |
+
'input-class'=>'has-dependant',
|
2827 |
+
));
|
2828 |
+
|
2829 |
+
$this->print_input(array(
|
2830 |
+
'attributes'=>array(
|
2831 |
+
'style'=> ((get_option('agca_admin_menu_submenu_round')!='true')?'display:none':''),
|
2832 |
+
'id'=>'agca_admin_menu_submenu_round_size'
|
2833 |
+
),
|
2834 |
+
'title'=>__('Size of rounded box curve', 'ag-custom-admin'),
|
2835 |
+
'name'=>'agca_admin_menu_submenu_round_size',
|
2836 |
+
'label'=>__('Round sub-menu pop-up box - size', 'ag-custom-admin'),
|
2837 |
+
'input-class'=>'validateNumber',
|
2838 |
+
'hint'=>__('(Size in px)', 'ag-custom-admin')
|
2839 |
+
));
|
2840 |
+
|
2841 |
+
$this->print_input(array(
|
2842 |
+
'title'=>__('Adds custom logo above the admin menu', 'ag-custom-admin'),
|
2843 |
+
'name'=>'agca_admin_menu_brand',
|
2844 |
+
'label'=>__('Admin menu branding with logo', 'ag-custom-admin'),
|
2845 |
+
'hint'=>__('Image URL', 'ag-custom-admin')
|
2846 |
+
));
|
2847 |
+
|
2848 |
+
$this->print_input(array(
|
2849 |
+
'title'=>__('Change branding logo link</br></br>Use:', 'ag-custom-admin').'</br><strong>%BLOG%</strong> - '. __('for blog URL', 'ag-custom-admin'),
|
2850 |
+
'name'=>'agca_admin_menu_brand_link',
|
2851 |
+
'label'=>__('Branding logo link', 'ag-custom-admin'),
|
2852 |
+
'hint'=>__('Branding image URL', 'ag-custom-admin')
|
2853 |
+
));
|
2854 |
+
?>
|
2855 |
+
</table>
|
2856 |
+
</div>
|
2857 |
+
<div id="section_ag_colorizer_settings" style="display:none" class="ag_section">
|
2858 |
+
<h2 class="section_title"><?php _e('Colorizer Page', 'ag-custom-admin'); ?></h2>
|
2859 |
+
<table class="form-table" width="500px">
|
2860 |
+
<tr valign="center" class="ag_table_major_options">
|
2861 |
+
<td><label for="agca_colorizer_turnonoff"><strong><?php _e('Apply Colorizer settings', 'ag-custom-admin'); ?></strong></label></td>
|
2862 |
+
<td><strong><input class="agca-radio" type="radio" name="agca_colorizer_turnonoff" title="<?php _e('Apply Colorizer customizations', 'ag-custom-admin'); ?>" value="on" <?php if(get_option('agca_colorizer_turnonoff') == 'on') echo 'checked="checked" '; ?> /><span class="agca-radio-text on"><?php _e('YES', 'ag-custom-admin'); ?></span> <input class="agca-radio" type="radio" name="agca_colorizer_turnonoff" title="<?php _e('Do not apply Colorizer customizations', 'ag-custom-admin'); ?>" value="off" <?php if(get_option('agca_colorizer_turnonoff') != 'on') echo 'checked="checked"'; ?> /><span class="agca-radio-text off"><?php _e('NO', 'ag-custom-admin'); ?></span></strong></td>
|
2863 |
+
</tr>
|
2864 |
+
<?php
|
2865 |
+
$this->print_options_h3(__('Global Color Options', 'ag-custom-admin'));
|
2866 |
+
|
2867 |
+
$this->print_color('color_background',__('Background:', 'ag-custom-admin'),__('Change admin page background color', 'ag-custom-admin'));
|
2868 |
+
$this->print_color('login_color_background',__('Login page background:', 'ag-custom-admin'),__('Change login page background color', 'ag-custom-admin'));
|
2869 |
+
$this->print_color('color_header',__('Admin bar:', 'ag-custom-admin'),__('Change admin bar (on top) color in admin panel', 'ag-custom-admin'));
|
2870 |
+
|
2871 |
+
$this->print_options_h3(__('Admin Menu Color Options', 'ag-custom-admin'));
|
2872 |
+
|
2873 |
+
$this->print_color('color_admin_menu_top_button_background',__('Button background:', 'ag-custom-admin'),__('Change button background color', 'ag-custom-admin'));
|
2874 |
+
$this->print_color('color_admin_menu_font',__('Button text:', 'ag-custom-admin'),__('Change button text color', 'ag-custom-admin'));
|
2875 |
+
$this->print_color('color_admin_menu_top_button_current_background',__('Selected button background:', 'ag-custom-admin'),__('Change button background color for current button', 'ag-custom-admin'));
|
2876 |
+
$this->print_color('color_admin_menu_top_button_hover_background',__('Hover button background:', 'ag-custom-admin'),__('Change button background color on mouseover', 'ag-custom-admin'));
|
2877 |
+
$this->print_color('color_admin_menu_submenu_background',__('Sub-menu button background:', 'ag-custom-admin'),__('Change submenu item background color', 'ag-custom-admin'));
|
2878 |
+
$this->print_color('color_admin_menu_submenu_background_hover',__('Sub-menu hover button background:', 'ag-custom-admin'),__('Change submenu item background color on mouseover', 'ag-custom-admin'));
|
2879 |
+
$this->print_color('color_admin_submenu_font',__('Sub-menu text:', 'ag-custom-admin'),__('Sub-menu text color', 'ag-custom-admin'));
|
2880 |
+
$this->print_color('color_admin_menu_behind_background',__('Wrapper background:', 'ag-custom-admin'),__('Change background color of element behind admin menu', 'ag-custom-admin'));
|
2881 |
+
|
2882 |
+
$this->print_options_h3(__('Font Color Options', 'ag-custom-admin'));
|
2883 |
+
|
2884 |
+
$this->print_color('color_font_content',__('Content text:', 'ag-custom-admin'),__('Change color in content text', 'ag-custom-admin'));
|
2885 |
+
$this->print_color('color_font_header',__('Admin bar text:', 'ag-custom-admin'),__('Change color of admin bar text', 'ag-custom-admin'));
|
2886 |
+
$this->print_color('color_font_footer',__('Footer text:', 'ag-custom-admin'),__('Change color in footer text', 'ag-custom-admin'));
|
2887 |
+
|
2888 |
+
$this->print_options_h3(__('Widgets Color Options', 'ag-custom-admin'));
|
2889 |
+
|
2890 |
+
$this->print_color('color_widget_bar',__('Title bar background:', 'ag-custom-admin'),__('Change color in header text', 'ag-custom-admin'));
|
2891 |
+
$this->print_color('color_widget_background',__('Background:', 'ag-custom-admin'),__('Change widget background color', 'ag-custom-admin'));
|
2892 |
+
|
2893 |
+
?>
|
2894 |
+
</table>
|
2895 |
+
<input type="hidden" size="47" id="ag_colorizer_json" name="ag_colorizer_json" value="<?php echo htmlspecialchars(get_option('ag_colorizer_json')); ?>" />
|
2896 |
+
<div id="picker"></div>
|
2897 |
+
</div>
|
2898 |
+
<div id="section_templates" style="display:none" class="ag_section">
|
2899 |
+
<h2 class="section_title"><span style="float:left"><?php _e('Admin Themes', 'ag-custom-admin'); ?></span></h2>
|
2900 |
+
<table class="form-table" width="500px">
|
2901 |
+
<tr valign="center">
|
2902 |
+
<td>
|
2903 |
+
<div id="agca_templates"></div>
|
2904 |
+
</td>
|
2905 |
+
</tr>
|
2906 |
+
<tr>
|
2907 |
+
<td>
|
2908 |
+
<div id="advanced_template_options" style="display:none">
|
2909 |
+
<div class="agca-feedback-and-support">
|
2910 |
+
<ul>
|
2911 |
+
<li><a href="http://wordpressadminpanel.com/agca-support/contact/?type=theme" title="<?php _e('If you have any ideas for theme improvements, or you have new themes requests, please feel free to send us a message', 'ag-custom-admin'); ?>" target="_blank"><span class="dashicons dashicons-art"></span> <?php _e('Submit your admin themes ideas', 'ag-custom-admin'); ?></a></li>
|
2912 |
+
<li><a style="background: #f08080;color:#fff;" href="javascript:agca_removeAllTemplates();" title="<?php _e('WARNING: All installed themes will be removed. To activate them again, you would need to install theme and activate using valid license keys. Free themes can be installed again.', 'ag-custom-admin'); ?>"><span style="color:#fff" class="dashicons dashicons-trash"></span> <?php _e('Uninstall all installed themes', 'ag-custom-admin'); ?></a></li>
|
2913 |
+
</ul>
|
2914 |
+
</div>
|
2915 |
+
</div>
|
2916 |
+
</td>
|
2917 |
+
</tr>
|
2918 |
+
</table>
|
2919 |
+
</div>
|
2920 |
+
<div id="section_advanced" style="display:none" class="ag_section">
|
2921 |
+
<h2 class="section_title"><?php _e('Advanced', 'ag-custom-admin'); ?></h2>
|
2922 |
+
<table class="form-table" width="500px">
|
2923 |
+
<tr valign="center">
|
2924 |
+
<td colspan="2">
|
2925 |
+
<p class="agca-tip"><i><?php _e('<strong>Note: </strong>These options will override existing customizations', 'ag-custom-admin'); ?></i></p>
|
2926 |
+
</td><td></td>
|
2927 |
+
</tr>
|
2928 |
+
<tr valign="center">
|
2929 |
+
<th scope="row">
|
2930 |
+
<label title="<?php _e('Add custom CSS script to override existing styles', 'ag-custom-admin'); ?>" for="agca_script_css"><?php _e('Custom CSS script', 'ag-custom-admin'); ?></em></label>
|
2931 |
+
</th>
|
2932 |
+
<td>
|
2933 |
+
<textarea style="width:100%;height:200px" title="<?php _e('Add custom CSS script to override existing styles', 'ag-custom-admin'); ?>" rows="5" id="agca_custom_css" name="agca_custom_css" cols="40"><?php echo htmlspecialchars(get_option('agca_custom_css')); ?></textarea>
|
2934 |
+
</td>
|
2935 |
+
</tr>
|
2936 |
+
<tr valign="center">
|
2937 |
+
<th scope="row">
|
2938 |
+
<label title="<?php _e('Add additional custom JavaScript', 'ag-custom-admin'); ?>" for="agca_custom_js"><?php _e('Custom JavaScript', 'ag-custom-admin'); ?></label>
|
2939 |
+
</th>
|
2940 |
+
<td>
|
2941 |
+
<textarea style="width:100%;height:200px" title="<?php _e('Add additional custom JavaScript', 'ag-custom-admin'); ?>" rows="5" name="agca_custom_js" id="agca_custom_js" cols="40"><?php echo htmlspecialchars(get_option('agca_custom_js')); ?></textarea>
|
2942 |
+
</td>
|
2943 |
+
</tr>
|
2944 |
+
<?php
|
2945 |
+
$this->print_checkbox(array(
|
2946 |
+
'title'=>__('Temporary enable this option if you are experiencing any problems with saving AGCA options. Please turn it off after you are done with your customizations.', 'ag-custom-admin'),
|
2947 |
+
'name'=>'agca_disable_postver',
|
2948 |
+
'label'=>__('Temporary disable POST verification', 'ag-custom-admin'),
|
2949 |
+
));
|
2950 |
+
?>
|
2951 |
+
<tr valign="center">
|
2952 |
+
<th scope="row">
|
2953 |
+
<label title="<?php _e('Export / import settings', 'ag-custom-admin'); ?>" for="agca_export_import"><?php _e('Export / import settings', 'ag-custom-admin'); ?></label>
|
2954 |
+
</th>
|
2955 |
+
<td id="import_file_area">
|
2956 |
+
<input class="agca_button" type="button" name="agca_export_settings" value="<?php _e('Export Settings', 'ag-custom-admin'); ?>" onclick="exportSettings();"/></br>
|
2957 |
+
<input type="file" id="settings_import_file" name="settings_import_file" style="display: none"/>
|
2958 |
+
<input type="hidden" id="_agca_import_settings" name="_agca_import_settings" value="false" />
|
2959 |
+
<input type="hidden" id="_agca_export_settings" name="_agca_export_settings" value="false" />
|
2960 |
+
<input class="agca_button" type="button" name="agca_import_settings" value="<?php _e('Import Settings', 'ag-custom-admin'); ?>" onclick="importSettings();"/>
|
2961 |
+
</td>
|
2962 |
+
</tr>
|
2963 |
+
</table>
|
2964 |
+
</div>
|
2965 |
+
<p class="submit">
|
2966 |
+
<input type="button" id="save_plugin_settings" style="padding:0px" title="<?php _e('Save AG Custom Admin configuration', 'ag-custom-admin'); ?>" class="button-primary" value="<?php _e('Save Changes') ?>" onClick="savePluginSettings()" />
|
2967 |
+
</p>
|
2968 |
+
|
2969 |
+
</form>
|
2970 |
+
<form id="agca_templates_form" name="agca_templates_form" action="<?php echo get_site_url().$_SERVER['PHP_SELF'];?>?page=ag-custom-admin/plugin.php" method="post">
|
2971 |
+
<?php wp_nonce_field('agca_form','_agca_token'); ?>
|
2972 |
+
<input type="hidden" name="_agca_save_template" value="true" />
|
2973 |
+
<input type="hidden" id="templates_data" name="templates_data" value="" />
|
2974 |
+
<input type="hidden" id="templates_name" name="templates_name" value="" />
|
2975 |
+
</form>
|
2976 |
+
</div>
|
2977 |
+
<?php
|
2978 |
+
}
|
2979 |
+
|
2980 |
+
#region PRIVATE METHODS
|
2981 |
+
function print_checkbox($data){
|
2982 |
+
$strAttributes = '';
|
2983 |
+
$strOnchange = '';
|
2984 |
+
$strInputClass='';
|
2985 |
+
$strInputAttributes='';
|
2986 |
+
$isChecked = false;
|
2987 |
+
|
2988 |
+
if(isset($data['attributes'])){
|
2989 |
+
foreach($data['attributes'] as $key=>$val){
|
2990 |
+
$strAttributes.=' '.$key.'="'.$val.'"';
|
2991 |
+
}
|
2992 |
+
}
|
2993 |
+
if(isset($data['input-class'])){
|
2994 |
+
$strInputClass = $data['input-class'];
|
2995 |
+
}
|
2996 |
+
if(isset($data['hide'])){
|
2997 |
+
$strInputClass .= " visibility";
|
2998 |
+
}
|
2999 |
+
if(isset($data['input-attributes'])){
|
3000 |
+
$strInputAttributes = $data['input-attributes'];
|
3001 |
+
}
|
3002 |
+
if(isset($data['onchange'])){
|
3003 |
+
$strOnchange = $data['onchange'];
|
3004 |
+
}
|
3005 |
+
if(!isset($data['title'])){
|
3006 |
+
$data['title'] = $data['label'];
|
3007 |
+
}
|
3008 |
+
if(isset($data['checked'])){
|
3009 |
+
$isChecked = $data['checked'];
|
3010 |
+
}else{
|
3011 |
+
//use default check with the option
|
3012 |
+
$isChecked = get_option($data['name'])==true;
|
3013 |
+
}
|
3014 |
+
?>
|
3015 |
+
<tr valign="center" <?php echo $strAttributes ?> >
|
3016 |
+
<th>
|
3017 |
+
<label tabindex="0" title='<?php echo $data['title'] ?>' for="<?php echo $data['name'] ?>" ><?php echo $data['label'] ?></label>
|
3018 |
+
</th>
|
3019 |
+
<td>
|
3020 |
+
<input type="checkbox" class="agca-checkbox <?php echo $strInputClass ?> " <?php echo $strOnchange ?> <?php echo $strInputAttributes ?> title='<?php _e('Toggle on/off', 'ag-custom-admin'); ?>' name="<?php echo $data['name'] ?>" value="true" <?php echo ($isChecked)?' checked="checked"':'' ?> />
|
3021 |
+
</td>
|
3022 |
+
</tr>
|
3023 |
+
<?php
|
3024 |
+
}
|
3025 |
+
function print_input($data){
|
3026 |
+
$strHint = '';
|
3027 |
+
$suffix ='';
|
3028 |
+
$strAttributes = '';
|
3029 |
+
$parentAttr = '';
|
3030 |
+
if(isset($data['hint'])){
|
3031 |
+
$strHint = ' <p><i>'.$data['hint'].'</i></p>';
|
3032 |
+
}
|
3033 |
+
if(!isset($data['title'])){
|
3034 |
+
$data['title'] = $data['label'];
|
3035 |
+
}
|
3036 |
+
if(isset($data['suffix'])){
|
3037 |
+
$suffix = $data['suffix'];
|
3038 |
+
}
|
3039 |
+
if(isset($data['attributes'])){
|
3040 |
+
foreach($data['attributes'] as $key=>$val){
|
3041 |
+
$strAttributes.=' '.$key.'="'.$val.'"';
|
3042 |
+
}
|
3043 |
+
}
|
3044 |
+
?>
|
3045 |
+
<tr valign="center" <?php echo $strAttributes ?> >
|
3046 |
+
<th >
|
3047 |
+
<label title="<?php echo $data['title'] ?>" for="<?php echo $data['name'] ?>"><?php echo $data['label'] ?></label>
|
3048 |
+
</th>
|
3049 |
+
<td>
|
3050 |
+
<input id="<?php echo $data['name'] ?>" title="<?php echo $data['title'] ?>" type="text" size="47" name="<?php echo $data['name'] ?>" value="<?php echo get_option($data['name']); ?>" />
|
3051 |
+
<a title="<?php _e('Clear', 'ag-custom-admin'); ?>" class="agca_button clear" onClick="jQuery('#<?php echo $data['name'] ?>').val('');"><span class="dashicons clear dashicons-no-alt"></span></a><?php echo $suffix ?>
|
3052 |
+
<?php echo $strHint ?>
|
3053 |
+
</td>
|
3054 |
+
</tr>
|
3055 |
+
<?php
|
3056 |
+
}
|
3057 |
+
function print_textarea($data){
|
3058 |
+
$strHint = '';
|
3059 |
+
if(isset($data['hint'])){
|
3060 |
+
$strHint = ' <p><i>'.$data['hint'].'</i>.</p>';
|
3061 |
+
}
|
3062 |
+
if(!isset($data['title'])){
|
3063 |
+
$data['title'] = $data['label'];
|
3064 |
+
}
|
3065 |
+
?>
|
3066 |
+
<tr valign="center">
|
3067 |
+
<th scope="row">
|
3068 |
+
<label title="<?php echo $data['title'] ?>" for="<?php echo $data['name'] ?>"><?php echo $data['label'] ?></label>
|
3069 |
+
</th>
|
3070 |
+
<td>
|
3071 |
+
<textarea title="<?php echo $data['title'] ?>" rows="5" name="<?php echo $data['name'] ?>" cols="40"><?php echo htmlspecialchars(get_option($data['name'])); ?></textarea>
|
3072 |
+
<?php echo $strHint ?>
|
3073 |
+
</td>
|
3074 |
+
</tr>
|
3075 |
+
<?php
|
3076 |
+
}
|
3077 |
+
function print_color($name, $label, $title){
|
3078 |
+
?>
|
3079 |
+
<tr valign="center" class="color">
|
3080 |
+
<th><label title="<?php echo $title ?>" for="<?php echo $name ?>"><?php echo $label ?></label></th>
|
3081 |
+
<td><input type="text" id="<?php echo $name ?>" name="<?php echo $name ?>" class="color_picker" value="<?php echo $this->getAGCAColor($name); ?>" />
|
3082 |
+
<a title="<?php _e('Pick Color', 'ag-custom-admin'); ?>" alt="<?php echo $name ?>" class="pick_color_button agca_button"><span class="dashicons dashicons-art"></span></a>
|
3083 |
+
<a title="<?php _e('Clear', 'ag-custom-admin'); ?>" alt="<?php echo $name ?>" class="pick_color_button_clear agca_button" ><span class="dashicons clear dashicons-no-alt"></span></a>
|
3084 |
+
</td>
|
3085 |
+
</tr>
|
3086 |
+
<?php
|
3087 |
+
}
|
3088 |
+
function print_options_h3($title){
|
3089 |
+
?>
|
3090 |
+
<tr valign="center">
|
3091 |
+
<td colspan="2">
|
3092 |
+
<div class="ag_table_heading"><h3 tabindex="0"><?php echo $title ?></h3></div>
|
3093 |
+
</td>
|
3094 |
+
<td></td>
|
3095 |
+
</tr>
|
3096 |
+
<?php
|
3097 |
+
}
|
3098 |
+
function print_option_tr(){
|
3099 |
+
?>
|
3100 |
+
|
3101 |
+
<tr valign="center">
|
3102 |
+
<th><label title="<?php _e('Change submenu item background color', 'ag-custom-admin'); ?>" for="color_admin_menu_submenu_background"><?php _e('Submenu button background color:', 'ag-custom-admin'); ?></label></th>
|
3103 |
+
<td><input type="text" id="color_admin_menu_submenu_background" name="color_admin_menu_submenu_background" class="color_picker" value="<?php echo $this->getAGCAColor('color_admin_menu_submenu_background'); ?>" />
|
3104 |
+
<input type="button" alt="color_admin_menu_submenu_background" class="pick_color_button agca_button" value="<?php _e('Pick color', 'ag-custom-admin'); ?>" />
|
3105 |
+
<input type="button" alt="color_admin_menu_submenu_background" class="pick_color_button_clear agca_button" value="<?php _e('Clear', 'ag-custom-admin'); ?>" />
|
3106 |
+
</td>
|
3107 |
+
</tr>
|
3108 |
+
<?php
|
3109 |
+
}
|
3110 |
+
#endregion
|
3111 |
+
|
3112 |
+
}
|
3113 |
+
?>
|
trunk/readme.txt
ADDED
@@ -0,0 +1,704 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
=== AG Custom Admin ===
|
2 |
+
Contributors: wap
|
3 |
+
Donate link: http://wordpressadminpanel.com/ag-custom-admin/
|
4 |
+
Tags: admin, customize, hide, change admin, themes, admin themes, admin bar, login page
|
5 |
+
Requires at least: 3.0
|
6 |
+
Tested up to: 4.6
|
7 |
+
Stable tag: 5.6.3
|
8 |
+
License: GPLv3 or later
|
9 |
+
License URI: https://www.gnu.org/licenses/gpl.txt
|
10 |
+
|
11 |
+
All-in-one tool for admin panel customization. Change almost everything: admin menu, dashboard, login page, admin bar etc. Apply admin panel themes.
|
12 |
+
|
13 |
+
== Description ==
|
14 |
+
With this plugin you can easily customize WordPress **admin panel**, **login page**, **admin menu**, **admin bar** etc. in tiny details and apply free responsive and commercial **admin themes**.
|
15 |
+
|
16 |
+
* **ADMIN BAR**: Hide or change admin bar items. Remove WordPress traces from admin bar. Brand it with custom colors.
|
17 |
+
* **ADMIN MENU**: Change and remove existing and add custom admin menu items. Brand it with custom colors.
|
18 |
+
* **ADMIN THEMES**: It have never been so easy to apply free and commercial responsive admin panel themes with just few clicks.
|
19 |
+
* **COLORIZER**: This tool is integrated with AG Custom Admin panel and can be used to change default WordPress admin panel colors, admin bar, admin menu, login page, backgrounds and text.
|
20 |
+
* **BRANDING**: Brand your admin panel pages with custom content, colors, images and text.
|
21 |
+
* **ADMIN PANEL OPTIONS**: There are dozens of other admin panel options used to improve WordPress UX on admin and login pages items like Dashboard widgets, Help and Screen options, WordPress logos, links, menus etc. See the full list down below.
|
22 |
+
|
23 |
+
= General Settings =
|
24 |
+
* Hide "Screen Options" menu
|
25 |
+
* Hide "Help" menu
|
26 |
+
|
27 |
+
= Admin Bar Settings =
|
28 |
+
* Hide admin bar completely
|
29 |
+
* Show Log out button only if admin bar is completely hidden
|
30 |
+
* Hide admin bar on site pages only
|
31 |
+
* Replace WordPress logo with custom branding image
|
32 |
+
* Change link on admin bar logo
|
33 |
+
* Custom page title template on admin pages (change <head> => <title> tag)
|
34 |
+
* Add custom branding image above the content in admin bar
|
35 |
+
* Hide WordPress logo
|
36 |
+
* Hide site name
|
37 |
+
* Hide admin bar logo context menu
|
38 |
+
* Hide update notifications block
|
39 |
+
* Hide "Comments" block
|
40 |
+
* Hide "New" menu block
|
41 |
+
* Hide "New" -> "Post"
|
42 |
+
* Hide "New" -> "Link"
|
43 |
+
* Hide "New" -> "Page"
|
44 |
+
* Hide "New" -> "User"
|
45 |
+
* Hide "New" -> "Media"
|
46 |
+
* Change site name to custom text
|
47 |
+
* Hide yellow WordPress update notification
|
48 |
+
* Change Howdy text
|
49 |
+
* Change Log Out text
|
50 |
+
* Remove "Edit My Profile" option from context menu
|
51 |
+
* Show "Log Out" button only on the right
|
52 |
+
|
53 |
+
= Admin Footer Options =
|
54 |
+
* Hide footer completely
|
55 |
+
* Change/remove footer text
|
56 |
+
* Change/remove footer version text
|
57 |
+
|
58 |
+
= Dashboard Page Options =
|
59 |
+
* Change Dashboard heading text
|
60 |
+
* Add custom Dashboard HTML content
|
61 |
+
* Hide dashboard widgets
|
62 |
+
|
63 |
+
= Login Page Options =
|
64 |
+
* Hide back to blog text
|
65 |
+
* Change back to blog text
|
66 |
+
* Change login image
|
67 |
+
* Change hyperlink on login image
|
68 |
+
* Hide login image
|
69 |
+
* Round corners on login boxes
|
70 |
+
* Hide register and lost password links
|
71 |
+
* Change hyperlink on register button
|
72 |
+
|
73 |
+
= Admin Menu Options =
|
74 |
+
* Rename menu and sub-menu items
|
75 |
+
* Hide menu and sub-menu items
|
76 |
+
* Add new buttons with custom links
|
77 |
+
* Remove icons from admin menu buttons
|
78 |
+
* Remove spaces between admin menu buttons
|
79 |
+
* Remove admin menu arrow on hover
|
80 |
+
* Round admin sub-menu popups
|
81 |
+
* Remove "Collapse" button
|
82 |
+
* Add custom branding image above the admin menu
|
83 |
+
* Add custom link to branding image
|
84 |
+
* Change admin menu auto-folding settings
|
85 |
+
|
86 |
+
= Colorizer =
|
87 |
+
* Change background and text colors on admin and login page
|
88 |
+
* Change admin menu colors
|
89 |
+
* Change widget colors
|
90 |
+
|
91 |
+
= Advanced =
|
92 |
+
* Add custom CSS
|
93 |
+
* Add custom JavaScript
|
94 |
+
* Export/import customization settings
|
95 |
+
|
96 |
+
= Premium Features =
|
97 |
+
> <strong>CUSMIN</strong><br>
|
98 |
+
> Cusmin is premium version of AG Custom Admin that gives you more advanced features for customization and branding.<br><br>
|
99 |
+
> For more info about Cusmin, please go to [Cusmin](https://cusmin.com) site.
|
100 |
+
= =
|
101 |
+
> <strong>ADMIN THEMES</strong><br>
|
102 |
+
> AG Custom Admin plugin contains specially created professional and responsive themes for admin panel and login page, that can be applied easily within AG Custom Admin plugin with only few clicks!
|
103 |
+
> We will add more themes with better styles and theme options in future.<br><br>
|
104 |
+
> For more info about AG Custom Admin themes, please go to [WordPress Admin Panel Themes](http://wordpressadminpanel.com/themes/home) site.
|
105 |
+
= =
|
106 |
+
> <br><strong>CUSTOM ADMIN MENU ICONS</strong><br>
|
107 |
+
> AGL Custom Admin Menu Icons plugin, can be used to add or change admin menu icons, add custom colors and icons, and even draw custom icons<br><br>
|
108 |
+
> For more information about advanced admin menu icons management, please check [Admin Menu Icons Management](http://wordpressadminpanel.com/aglcami/home)
|
109 |
+
|
110 |
+
= Contact =
|
111 |
+
If you are unable to login or you have any other problems, please check our [FAQ](http://wordpress.org/extend/plugins/ag-custom-admin/faq/) and [SUPPORT](http://wordpress.org/support/plugin/ag-custom-admin) page.
|
112 |
+
|
113 |
+
For more information about the plugin please check [OFFICIAL PLUGIN'S SITE](http://wordpressadminpanel.com/ag-custom-admin/) <br>For more information about admin themes please check [THEMES SITE](http://wordpressadminpanel.com/themes/home)
|
114 |
+
|
115 |
+
== Installation ==
|
116 |
+
|
117 |
+
1. Upload `ag-custom-admin` directory to the `/wp-content/plugins/` directory
|
118 |
+
2. Activate the plugin through the 'Plugins' menu in WordPress
|
119 |
+
3. Navigate to plugin's settings page: 'Tools => AG Custom Admin'
|
120 |
+
|
121 |
+
== Frequently Asked Questions ==
|
122 |
+
|
123 |
+
= I see errors on my page. What can I do? =
|
124 |
+
Please follow these steps:
|
125 |
+
<br>* Open browser's console and try to find JavaScript errors.
|
126 |
+
<br>* Check if you can locate the plugin that throws the error, if so, try disabling that plugin and contacting their support.
|
127 |
+
<br>* Try disabling plugins one-by-one to see when this problem occurs. If you can't access login page, please temporary disable JavaScript in your browser and refresh the page.
|
128 |
+
<br>* Try updating WordPress core and plugins
|
129 |
+
<br>* If problem still persists, please contact the support
|
130 |
+
|
131 |
+
= Plugin does not work after upgrading to new version. What should I do? =
|
132 |
+
Make sure to have latest WordPress version installed. If nothing of these solutions help, please contact support.
|
133 |
+
|
134 |
+
= I use older version of WordPress, can I still use this plugin? =
|
135 |
+
Yes, just make sure to install older version of AGCA that works for you.
|
136 |
+
|
137 |
+
= Admin Menu buttons are misaligned =
|
138 |
+
Please use 'Reset Settings' button on Admin Menu page to reset menu configuration to defaults. Make sure to use latest plugin version with latest patches.
|
139 |
+
|
140 |
+
= Some options are not working =
|
141 |
+
If you have the latest WordPress and plugin versions and you still experience some issues, please contact us and report the issue.
|
142 |
+
|
143 |
+
== Screenshots ==
|
144 |
+
|
145 |
+
1. AG Custom Admin provides many options for admin panel customization, and it's quite easy to use it.
|
146 |
+
2. Login page can be customized and styled with custom branding logo or image, rounded borders, background colors.
|
147 |
+
3. Admin bar settings preview.
|
148 |
+
4. Colorizer options for branding with custom colors.
|
149 |
+
5. Admin menu editor.
|
150 |
+
6. Admin menu is completely customizable. You can rename or remove the items from them menu and submenu, or add brand new buttons with custom links.
|
151 |
+
7. Default WP grey colors can be refreshed with any colors! There are a lot of Colorizer's options that can be used to style the text, background, login, widgets, admin menu, top bar, footer, almost everything!
|
152 |
+
8. Free and commercial predefined WP admin panel themes.
|
153 |
+
9. Orange - free theme - login page.
|
154 |
+
10. Dunes - commercial theme.
|
155 |
+
11. Wasteland - commercial theme.
|
156 |
+
12. Army - commercial theme.
|
157 |
+
|
158 |
+
== Change Log ==
|
159 |
+
|
160 |
+
= 5.6.3 =
|
161 |
+
* Compatibility with WordPress 4.6
|
162 |
+
* Resolved styling issue for AGCA admin menu button, when default menu is hidden
|
163 |
+
* Improved styling of admin bar logo
|
164 |
+
* A couple of visual improvements on input fields and text
|
165 |
+
* Removed dashboard empty box placeholders
|
166 |
+
|
167 |
+
= 5.6.2 =
|
168 |
+
* Updated readme.txt
|
169 |
+
|
170 |
+
= 5.6.1 =
|
171 |
+
* Added branding images for AGCA
|
172 |
+
* Protocol agnostic jQuery script url on login page
|
173 |
+
* Updated upgrade options
|
174 |
+
|
175 |
+
= 5.6 =
|
176 |
+
* Internationalization, ready for translation
|
177 |
+
* Added option for removing Profile menu item from user's menu
|
178 |
+
* Added patch for network admin dashboard notices
|
179 |
+
* Code refactoring
|
180 |
+
* Resolved save issues in multi-site environment (POST validation failing)
|
181 |
+
* Added patch for WPS Hide Login compatibility in multi-site environment
|
182 |
+
* Added max width for custom admin header image
|
183 |
+
* Removed "sub-menu" text from sub menu items in admin menu editor
|
184 |
+
|
185 |
+
= 5.5 =
|
186 |
+
* Resolved JavaScript error on AGCA page in WP 4.5 version
|
187 |
+
* Added compatibility support with Cusmin plugin
|
188 |
+
* Added compatibility support with WPS Hide Login plugin
|
189 |
+
* Changed plugin versioning
|
190 |
+
|
191 |
+
= 1.5.4.3 =
|
192 |
+
* Patched security issues.
|
193 |
+
|
194 |
+
= 1.5.4.2 =
|
195 |
+
* Fixed new post blank page issue
|
196 |
+
|
197 |
+
= 1.5.4 =
|
198 |
+
* Patched security issues
|
199 |
+
* Added support for custom CSS on public pages
|
200 |
+
* Fixed appearance issus for custom admin bar icon and log out button on mobile devices and smaller screens
|
201 |
+
* Fixed missing link issue with Back to blog link when custom name is used
|
202 |
+
* Added AGCA social buttons
|
203 |
+
* Fixed broken links in admin bar and plugins page on multisite network site
|
204 |
+
* Removed php short tags that are not supported in older PHP versions
|
205 |
+
* Updated license to GPLv3
|
206 |
+
|
207 |
+
= 1.5.2 =
|
208 |
+
* Small UX improvements on options
|
209 |
+
|
210 |
+
= 1.5.1 =
|
211 |
+
* Added support for older PHP versions, starting from 5.2
|
212 |
+
|
213 |
+
= 1.5 =
|
214 |
+
* Improved UX with new icons and styles
|
215 |
+
* Fixed admin menu issues when menu is updated outside of AGCA
|
216 |
+
* Code reorganizing
|
217 |
+
* Using dashboard icons instead of images
|
218 |
+
* Updated option names
|
219 |
+
|
220 |
+
= 1.4.9 =
|
221 |
+
* Issues fixed
|
222 |
+
|
223 |
+
= 1.4.8.2 =
|
224 |
+
* Added check for non existing 'pagenow' GLOBAL variable
|
225 |
+
* Using default WordPress theme when AGCA theme is activated
|
226 |
+
* Fixed unknown font theme issue
|
227 |
+
* Option to remove AGCA themes from admin bar
|
228 |
+
|
229 |
+
= 1.4.8.1 =
|
230 |
+
* Small bug fix
|
231 |
+
|
232 |
+
= 1.4.8 =
|
233 |
+
* Style improvements
|
234 |
+
* Tab navigation remembers previously used tab
|
235 |
+
|
236 |
+
= 1.4.7 =
|
237 |
+
* Removed AG Custom Admin menu top item
|
238 |
+
* Better error handling
|
239 |
+
|
240 |
+
= 1.4.6 =
|
241 |
+
* Removed obsolete Colorizer's border options
|
242 |
+
* Removed obsolete code
|
243 |
+
* Changed some options labels/descriptions
|
244 |
+
* Handling user's errors caused by mistake in Custom JS
|
245 |
+
* Removed first and second menu item separator options, replaced with remove all separators option
|
246 |
+
|
247 |
+
= 1.4.5 =
|
248 |
+
* Fixed issues
|
249 |
+
|
250 |
+
= 1.4.4 =
|
251 |
+
* Admin themes, caching support
|
252 |
+
|
253 |
+
= 1.4.3 =
|
254 |
+
* Fixes admin bar compatibility issue with BuddyPress on public pages
|
255 |
+
* Dashboard -> Updates submenu item can be hidden now
|
256 |
+
* Added address bar option for debugging
|
257 |
+
|
258 |
+
= 1.4.2 =
|
259 |
+
* Internal links changes, support for the new support site domain
|
260 |
+
|
261 |
+
= 1.4.1 =
|
262 |
+
* Support up to WordPress 4.1
|
263 |
+
* Improved branding
|
264 |
+
* Better error handling
|
265 |
+
|
266 |
+
= 1.4 =
|
267 |
+
* Fixed issue with Colorizer. Updated plugin colors.
|
268 |
+
|
269 |
+
= 1.3.9 =
|
270 |
+
* Fixed issue on Dashboard widgets page: Disabled third-party widget cannot be re-enabled
|
271 |
+
|
272 |
+
= 1.3.8 =
|
273 |
+
* Central alignment for smaller login images, and for different form widths
|
274 |
+
* Option to remove "WordPress News" dashboard widget
|
275 |
+
* Better "Error Caught" message with more useful information
|
276 |
+
|
277 |
+
= 1.3.7 =
|
278 |
+
* Fixed issues with custom dashboard content
|
279 |
+
|
280 |
+
= 1.3.6 =
|
281 |
+
* Fixed issues with special characters in admin menu editor
|
282 |
+
|
283 |
+
= 1.3.5 =
|
284 |
+
* Prepared for WordPress 3.9
|
285 |
+
* Fixed style for custom Howdy name
|
286 |
+
|
287 |
+
= 1.3.4 =
|
288 |
+
* Fixed add_filter undefined function error
|
289 |
+
* Better exception handling
|
290 |
+
|
291 |
+
= 1.3.3 =
|
292 |
+
* Fixed compatibility issues with MailPoet plugin
|
293 |
+
|
294 |
+
= 1.3.2 =
|
295 |
+
* Bug fixes
|
296 |
+
|
297 |
+
= 1.3.1 =
|
298 |
+
* First production version with AGCA Themes
|
299 |
+
|
300 |
+
= 1.3 =
|
301 |
+
* Introducing AG Custom Admin Themes
|
302 |
+
|
303 |
+
= 1.2.8 =
|
304 |
+
* Fixed PHP errors in DEBUG mode
|
305 |
+
|
306 |
+
= 1.2.7.9 =
|
307 |
+
* Fixed remove admin submenu arrow option in WordPress 3.8
|
308 |
+
|
309 |
+
= 1.2.7.8 =
|
310 |
+
* Fixed admin menu bug
|
311 |
+
|
312 |
+
= 1.2.7.7 =
|
313 |
+
* Updated options labels
|
314 |
+
* Better checkbox and radio box styles
|
315 |
+
* Some additional style improvements
|
316 |
+
* Updated option for auto folding admin menu on mobile devices
|
317 |
+
* Fixed AGCA error popup on reset password page
|
318 |
+
|
319 |
+
= 1.2.7.6 =
|
320 |
+
* Better style for close button
|
321 |
+
* Fixed bugs when adding new admin menu buttons
|
322 |
+
|
323 |
+
= 1.2.7.5 =
|
324 |
+
* Better style for close button
|
325 |
+
* Removed deprecated jQuery live function
|
326 |
+
* Including jQuery migrate plugin on Advanced tab
|
327 |
+
|
328 |
+
= 1.2.7.4 =
|
329 |
+
* Removing submenu box on mouseover, if all submenu items are hidden (Fixed empty box issue)
|
330 |
+
* Added WYSIWYG editor for Dashboard page
|
331 |
+
|
332 |
+
= 1.2.7.3 =
|
333 |
+
* Fixed single quote character escaping on several settings
|
334 |
+
* Added option for removing AGCA JS warning message
|
335 |
+
* Fixed "Illegal string offset" server error
|
336 |
+
|
337 |
+
= 1.2.7.2 =
|
338 |
+
* Escaping characters (like single quote) in footer text
|
339 |
+
* Fixed AGCA alert message issue
|
340 |
+
* Prepared for 3.6. WordPress release
|
341 |
+
* Other bug fixes.
|
342 |
+
|
343 |
+
= 1.2.7.1 =
|
344 |
+
* Removed AGCA script on site pages automatically, if user is not logged in
|
345 |
+
* Custom WordPress admin title. Using custom title templates
|
346 |
+
* Added option for removing blog title from top bar
|
347 |
+
* Fixed misaligned menu when using custom content types plugins
|
348 |
+
* Fixed bug "Save button does not work" caused by unescaped characters in footer text and custom button names
|
349 |
+
* Updated AGCA buttons styles
|
350 |
+
|
351 |
+
= 1.2.7 =
|
352 |
+
* WordPress 3.5 compatible
|
353 |
+
* Added login page background color
|
354 |
+
* Resolving jQuery script
|
355 |
+
* Added feedback buttons (positive/negative)
|
356 |
+
* Better user's experience (updated form buttons and textbooks)
|
357 |
+
* Fixed problem with Howdy renaming
|
358 |
+
|
359 |
+
= 1.2.6.5 =
|
360 |
+
* using capabilities instead of user levels
|
361 |
+
* define who is admin with choosing capability (Advanced tab)
|
362 |
+
* added option to hide admin bar on front end only
|
363 |
+
* added option to remove all AGCA customizations on front end
|
364 |
+
* added option to remove register button on login page
|
365 |
+
* added option to change hyperlink on register button on login page
|
366 |
+
* added option to remove "Lost Password" link on login page
|
367 |
+
* added support for collapse button on customized admin menu
|
368 |
+
* option to show/hide collapse button on admin menu
|
369 |
+
* added styles for collapsed menu
|
370 |
+
* added WP filter to remove admin bar on front page
|
371 |
+
* applying admin bar colors on front page
|
372 |
+
* fixed blank space in admin panel when admin bar is removed
|
373 |
+
* fixed some bugs in Colorizer, better updating of input box colors, triggering colors on input box change, improved realtime color updating
|
374 |
+
* adding jQuery script on login page only if it is not already loaded
|
375 |
+
* fixed background-size issue on login page image in chrome and some other browsers
|
376 |
+
* updated important message on admin menu tab
|
377 |
+
|
378 |
+
= 1.2.6.4 =
|
379 |
+
* Removing plugin options on plugin uninstall instead of on plugin deactivation
|
380 |
+
* Refreshed some button styles
|
381 |
+
* "But show logout button" option auto-hiding
|
382 |
+
* Fixed repeat login image bug
|
383 |
+
* Fixed bug on loading news
|
384 |
+
|
385 |
+
= 1.2.6.3 =
|
386 |
+
* Included Colorizer ON/OFF option to exported settings
|
387 |
+
* Automatically saving settings after importing
|
388 |
+
* Fixed issue with admin bar on site pages
|
389 |
+
* Added option for switching between admin and site pages(on WP logo, top left corner on admin bar)
|
390 |
+
* Fixed custom Howdy text for other languages than English.
|
391 |
+
|
392 |
+
= 1.2.6.2 =
|
393 |
+
* Added custom brand logo url
|
394 |
+
* Added %BLOG% variables for custom urls
|
395 |
+
* Option for removing custom admin menu settings in export
|
396 |
+
|
397 |
+
= 1.2.6.1 =
|
398 |
+
* Bug fixes
|
399 |
+
* Added +/- indicators to admin menu editor
|
400 |
+
* Custom top bar logo can be of any width. Height is expanded to 28px
|
401 |
+
* Saving custom scripts to database instead of saving to files
|
402 |
+
* Fixed error message on WordPress thick-box window
|
403 |
+
* Removed About WordPress message on top bar logo(on mouseover)
|
404 |
+
* Using %BLOG% variable as hyperlink on login page image
|
405 |
+
* Few other fixes on WordPress top bar
|
406 |
+
* Fixed color bug on admin menu hover()
|
407 |
+
|
408 |
+
= 1.2.6 =
|
409 |
+
* Fixed hiding top bar issue for site pages
|
410 |
+
* Fixed issues with custom content on Dashboard page. Any custom HTML can be used now.
|
411 |
+
* Custom CSS script support
|
412 |
+
* Custom JAvaScript support
|
413 |
+
* Exporting / importing AG Custom Admin customizations
|
414 |
+
* Added custom branding field above the admin menu for adding custom brand images
|
415 |
+
* Rounding admin menu popups and login page
|
416 |
+
* Option for removing Welcome dashboard widget
|
417 |
+
* New Colorizer options for admin menu, top bar
|
418 |
+
* New AGCA info area
|
419 |
+
* Fixed caching issues on updates
|
420 |
+
|
421 |
+
= 1.2.5.4 =
|
422 |
+
* Fixed fatal error from version 1.2.5.3
|
423 |
+
|
424 |
+
= 1.2.5.3 =
|
425 |
+
* Fixed issues related to WP 3.3.1 version
|
426 |
+
* Fixed bug: Hiding/changing top admin bar WP icon
|
427 |
+
* Advanced customization of admin top bar
|
428 |
+
* Added options for hiding admin top bar elements
|
429 |
+
* Login page background same as admin background
|
430 |
+
* Added target options for custom admin buttons
|
431 |
+
|
432 |
+
= 1.2.5.2 =
|
433 |
+
* Fixed several issues with WP 3.3
|
434 |
+
* Added options for hiding "comments" and "new" from admin bar
|
435 |
+
* Support for custom admin bar images
|
436 |
+
* Support for custom Log Out text
|
437 |
+
* Hide everything except Log Out button works now
|
438 |
+
* Removed few obsolete options
|
439 |
+
* Removing "Edit My Profile"
|
440 |
+
* Fixed bug when trying to edit custom buttons in admin menu
|
441 |
+
|
442 |
+
= 1.2.5.1 =
|
443 |
+
* Plugin tested up to 3.3
|
444 |
+
* Fixed major issues with WP 3.3. version
|
445 |
+
* Fixed bug when trying to edit custom buttons in admin menu
|
446 |
+
|
447 |
+
= 1.2.5 =
|
448 |
+
* Plugin tested up to 3.2.1
|
449 |
+
* Fixed some compatibility issues with other plugins
|
450 |
+
* Tested compatibility with Ozh' Admin Drop Down Menu v3.6.1
|
451 |
+
* Tested compatibility with SexyBookmarks (by Shareaholic) v4.0.5.6
|
452 |
+
* Fixed blank screen of death if an error from outside of plugin is thrown
|
453 |
+
* Improved error handling and showing
|
454 |
+
* Improved versioning
|
455 |
+
|
456 |
+
= 1.2.4 =
|
457 |
+
* Plugin is now fully compatible with WordPress version 3.2
|
458 |
+
* Fixed update notification bar for lower WP versions
|
459 |
+
* Login image can be now of any size.
|
460 |
+
* Improved error management
|
461 |
+
* Added options in 3.2 for changing background behind admin menu
|
462 |
+
* Added option in 3.2 for removing "Your profile" from admin bar
|
463 |
+
* Added invalid characters escaping when adding new custom buttons
|
464 |
+
* Fixed few minor issues
|
465 |
+
|
466 |
+
= 1.2.3 =
|
467 |
+
* Added Colorizer options for changing widgets colors.
|
468 |
+
* Added option for changing logo image in admin bar with custom image.
|
469 |
+
* Fixed bug on add new post page: After clicking on buttons Add new image, Add new media pop-up window is blank.
|
470 |
+
* Added info bar for displaying news and information about plugin.
|
471 |
+
* Fixed few issues.
|
472 |
+
|
473 |
+
= 1.2.2 =
|
474 |
+
* Added Colorizer for changing colors in admin and login panel
|
475 |
+
* Added option for excluding admin from settings.
|
476 |
+
* Fixed bug for slow computers: Default settings are visible few moments before applying custom settings.
|
477 |
+
* Added option for removing icons from admin menu buttons
|
478 |
+
|
479 |
+
= 1.2.1 =
|
480 |
+
* Improved accessibility
|
481 |
+
* Optimization for screen readers
|
482 |
+
* Added sub-page titles
|
483 |
+
* Updated styles in edit admin menu table
|
484 |
+
|
485 |
+
= 1.2 =
|
486 |
+
* All elements are grouped into small pages for better navigation.
|
487 |
+
* Added color styles and improved user experience.
|
488 |
+
* Added settings page for fully control of main admin menu.
|
489 |
+
* Added support for hiding items from admin menu.
|
490 |
+
* Added support for changing items in admin menu.
|
491 |
+
* Added support for adding new custom items in admin menu.
|
492 |
+
* Added tool tips on option labels for better explanation of option.
|
493 |
+
* Deprecated 'Hide Dashboard button from main menu' in 'Dashboard settings'. This option can be used now in 'Admin menu settings'.
|
494 |
+
* Added settings for hiding/showing Dashboard widgets:"Recent Comments", "Incoming Links", "Plugins", "Quick Press", "Right Now", "Recent Drafts", primary widget area, secondary widget area.
|
495 |
+
* Added option "(but show 'Log Out' button)" for displaying 'Log Out' button if admin top bar is completely removed.
|
496 |
+
* Added option "Hide footer text".
|
497 |
+
* Added support for hiding new WordPress release notification.
|
498 |
+
|
499 |
+
= 1.0.1 =
|
500 |
+
* Changed text in Settings page to be more clearer.
|
501 |
+
* Updated list of options on plugin page
|
502 |
+
* Removed blank characters in text areas
|
503 |
+
|
504 |
+
= 1.0 =
|
505 |
+
* Initial version
|
506 |
+
|
507 |
+
== Upgrade Notice ==
|
508 |
+
|
509 |
+
= 5.6.3 =
|
510 |
+
* Compatibility with WordPress 4.6
|
511 |
+
|
512 |
+
= 5.6.2 =
|
513 |
+
* Updated readme
|
514 |
+
|
515 |
+
= 5.6.1 =
|
516 |
+
* Minor plugin changes
|
517 |
+
|
518 |
+
= 5.6 =
|
519 |
+
* Internationalization. Support for removing admin menu Profile button. Other patches and compatibility fixes.
|
520 |
+
|
521 |
+
= 5.5 =
|
522 |
+
* Compatibility updates with WP 4.5 and some other plugins
|
523 |
+
|
524 |
+
= 1.5.4.3 =
|
525 |
+
* Patched security issues.
|
526 |
+
|
527 |
+
= 1.5.4.2 =
|
528 |
+
* Fixed new post blank page issue.
|
529 |
+
|
530 |
+
= 1.5.4 =
|
531 |
+
* Fixed several very important issues. Highly recommended upgrade.
|
532 |
+
|
533 |
+
= 1.5.2 =
|
534 |
+
* Small UX improvements on options
|
535 |
+
|
536 |
+
= 1.5.1 =
|
537 |
+
* Added support for older PHP versions, starting from 5.2
|
538 |
+
|
539 |
+
= 1.5 =
|
540 |
+
* Improved UX with new icons and styles
|
541 |
+
* Fixed admin menu issues when menu is updated outside of AGCA
|
542 |
+
* Code reorganizing
|
543 |
+
* Using dashboard icons instead of images
|
544 |
+
* Updated option names
|
545 |
+
|
546 |
+
= 1.4.9 =
|
547 |
+
* Issues fixed
|
548 |
+
|
549 |
+
= 1.4.8.2 =
|
550 |
+
* Added check for non existing 'pagenow' GLOBAL variable
|
551 |
+
* Using default WordPress theme when AGCA theme is activated
|
552 |
+
* Fixed unknown font theme issue
|
553 |
+
* Option to remove AGCA themes from admin bar
|
554 |
+
|
555 |
+
= 1.4.8.1 =
|
556 |
+
* Small bug fix
|
557 |
+
|
558 |
+
= 1.4.8 =
|
559 |
+
* Style improvements
|
560 |
+
* Tab navigation remembers previously used tab
|
561 |
+
|
562 |
+
= 1.4.7 =
|
563 |
+
* Improvements
|
564 |
+
|
565 |
+
= 1.4.6 =
|
566 |
+
* Refactoring. Removed obsolete code. Fixes some issues.
|
567 |
+
|
568 |
+
= 1.4.5 =
|
569 |
+
* Fixed issues
|
570 |
+
|
571 |
+
= 1.4.4 =
|
572 |
+
* Admin themes, caching support
|
573 |
+
|
574 |
+
= 1.4.3 =
|
575 |
+
* Fixed some issues
|
576 |
+
|
577 |
+
= 1.4.2 =
|
578 |
+
* Internal links changes
|
579 |
+
|
580 |
+
= 1.4.1 =
|
581 |
+
* Improvements
|
582 |
+
|
583 |
+
= 1.4 =
|
584 |
+
* Fixed issue with Colorizer. Updated plugin colors.
|
585 |
+
|
586 |
+
= 1.3.9 =
|
587 |
+
* Fixed issue on Dashboard widgets page
|
588 |
+
|
589 |
+
= 1.3.8 =
|
590 |
+
* Bug fixes: WordPress News dashboard widget, login image center alignment
|
591 |
+
|
592 |
+
= 1.3.7 =
|
593 |
+
* Fixed issues with custom dashboard content
|
594 |
+
|
595 |
+
= 1.3.6 =
|
596 |
+
* Fixed issues with special characters in admin menu editor
|
597 |
+
|
598 |
+
= 1.3.5 =
|
599 |
+
* Prepared for WordPress 3.9
|
600 |
+
* Fixed style for custom Howdy name
|
601 |
+
|
602 |
+
= 1.3.4 =
|
603 |
+
* Bug fixes. Better error handling.
|
604 |
+
|
605 |
+
= 1.3.3 =
|
606 |
+
* Fixed compatibility issues with MailPoet plugin
|
607 |
+
|
608 |
+
= 1.3.2 =
|
609 |
+
* Bug fixes
|
610 |
+
|
611 |
+
= 1.3.1 =
|
612 |
+
* Introducing AG Custom Admin Themes
|
613 |
+
|
614 |
+
= 1.3 =
|
615 |
+
* Introducing AG Custom Admin Themes
|
616 |
+
|
617 |
+
= 1.2.8 =
|
618 |
+
* Fixed PHP errors in DEBUG mode
|
619 |
+
|
620 |
+
= 1.2.7.9 =
|
621 |
+
* Fixed remove admin submenu arrow option in WordPress 3.8
|
622 |
+
|
623 |
+
= 1.2.7.8 =
|
624 |
+
* Fixed admin menu bug
|
625 |
+
|
626 |
+
= 1.2.7.7 =
|
627 |
+
Updated admin menu auto-folding options. Fixed bug on reset password page. Updated options styles.
|
628 |
+
|
629 |
+
= 1.2.7.6 =
|
630 |
+
Bug fixes. Better close button styles.
|
631 |
+
|
632 |
+
= 1.2.7.5 =
|
633 |
+
Better style for close button. Removed deprecated jQuery live function.
|
634 |
+
|
635 |
+
= 1.2.7.4 =
|
636 |
+
Few improvements.
|
637 |
+
|
638 |
+
= 1.2.7.3 =
|
639 |
+
Bug fixes.
|
640 |
+
|
641 |
+
= 1.2.7.2 =
|
642 |
+
Bug fixes. Preparation for 3.6 WordPress
|
643 |
+
|
644 |
+
= 1.2.7.1 =
|
645 |
+
Bug fixes. Removing admin bar site title. Custom page titles in WP admin.
|
646 |
+
|
647 |
+
= 1.2.7 =
|
648 |
+
Plugin prepared for WordPress 3.5. Few additional improvements.
|
649 |
+
|
650 |
+
= 1.2.6.5 =
|
651 |
+
New features and bug fixes. Improved Colorizer, fixed admin bar issues, using capabilities to define admin users, added new options for login page, options to remove AGCA scripts on front-end. Using collapsed menus.
|
652 |
+
|
653 |
+
= 1.2.6.4 =
|
654 |
+
Bug fixes. Removing plugin's option on uninstall, not on deactivation.
|
655 |
+
|
656 |
+
= 1.2.6.3 =
|
657 |
+
Fixed several bugs: Admin bar issues, not saving settings after import, changing Howdy text in other languages, Colorizer ON/OFF option in settings export.
|
658 |
+
|
659 |
+
= 1.2.6.2 =
|
660 |
+
Ready for WordPress 3.4. A lot of improvements in 1.2.6 series, fixed issues with top bar, caching on updates, better styles... and new features: export/import new Colorizer options, better admin menu styles, custom css, custom js, admin bar on site pages.. Fixed bugs since 1.2.6 version. Wrapped up 1.2.6 series release.
|
661 |
+
|
662 |
+
= 1.2.6.1 =
|
663 |
+
Fixing bugs from 1.2.6 version
|
664 |
+
|
665 |
+
= 1.2.6 =
|
666 |
+
A lot of improvements in 1.2.6, fixed issues with top bar, caching on updates, better styles, etc. and new features: export/import new Colorizer options, better admin menu styles, custom css, custom js, admin bar on site pages etc.
|
667 |
+
|
668 |
+
= 1.2.5.4 =
|
669 |
+
Fixed fatal error from version 1.2.5.3
|
670 |
+
|
671 |
+
= 1.2.5.3 =
|
672 |
+
Fixed issues related to WordPress version 3.3.1
|
673 |
+
|
674 |
+
= 1.2.5.2 =
|
675 |
+
Full compatibility with WP 3.3. Fixed several issues with this version. Removed obsolete options for old WP versions, added new options to fit 3.3 version. Update is highly recommended for WP 3.3 users.
|
676 |
+
|
677 |
+
= 1.2.5.1 =
|
678 |
+
Plugin is ready for 3.3. WordPress version. Major issues with WP 3.3 are fixed. However, some options are not fully functional, yet. Recommended only for users with 3.3. WP version. Fixed bug with custom admin menu buttons.
|
679 |
+
|
680 |
+
= 1.2.5 =
|
681 |
+
Improved compatibility with other plugins. Tested with Ozh' Admin Drop Down Menu and SexyBookmarks. Fixed screen freezing and white screen of death. Improved error handling and showing.
|
682 |
+
|
683 |
+
= 1.2.4 =
|
684 |
+
This plugin version is ready for WordPress release 3.2, and fully compatible with it. Added few new options, and improved plugin stability.
|
685 |
+
|
686 |
+
= 1.2.3 =
|
687 |
+
Fixed 'White screen of death' bug, and few other improvements. Added Colorizer options for widgets. Added support for changing admin bar logo with custom image.
|
688 |
+
|
689 |
+
= 1.2.2 =
|
690 |
+
Added demo Colorizer for adding custom colors in admin and login pages. Fixed bug for slow computers, default settings should not be visible before custom settings. Added support for excluding administrator from settings. Added option for removing icons from admin menu buttons.
|
691 |
+
|
692 |
+
= 1.2.1 =
|
693 |
+
This is minor upgrade from 1.2 to 1.2.1 version. Mostly it is based on optimization for screen readers and improving accessibility. You definitly need to upgrade this plugin if you have version older than 1.2.
|
694 |
+
|
695 |
+
= 1.2 =
|
696 |
+
This is major milestone of this plugin. All elements are grouped and organized into small pages for better navigation.
|
697 |
+
Settings are styled in better way and some attractive interactions are added to make using of this plugin very easy.
|
698 |
+
Added settings for fully customization of admin menus.
|
699 |
+
|
700 |
+
= 1.0.1 =
|
701 |
+
Better explanations in Settings page. No changes in functionality.
|
702 |
+
|
703 |
+
= 1.0 =
|
704 |
+
Initial version.
|
trunk/require/dynamic.php
ADDED
@@ -0,0 +1,95 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
require '../../../../wp-load.php';
|
3 |
+
|
4 |
+
$themes = get_option('agca_templates');
|
5 |
+
$selectedTheme = get_option('agca_selected_template');
|
6 |
+
$type = "";
|
7 |
+
$optionName = "";
|
8 |
+
$agcaContext = "";
|
9 |
+
|
10 |
+
if(isset($_GET["type"])){
|
11 |
+
$type = $_GET["type"];
|
12 |
+
}
|
13 |
+
if(isset($_GET["context"])){
|
14 |
+
$agcaContext = $_GET["context"];
|
15 |
+
}
|
16 |
+
|
17 |
+
if ( $agcaContext != "login" && !is_user_logged_in()) {
|
18 |
+
die();
|
19 |
+
}
|
20 |
+
|
21 |
+
if($type == "css"){
|
22 |
+
header('Content-type: text/css');
|
23 |
+
$optionName = ($agcaContext == "login")? "logincss":"admincss";
|
24 |
+
|
25 |
+
}else if($type == "js"){
|
26 |
+
header('Content-type: application/javascript');
|
27 |
+
$optionName = ($agcaContext == "login")? "loginjs":"adminjs";
|
28 |
+
}
|
29 |
+
if($type == "css" || $type == "js"){
|
30 |
+
if(isset($themes[$selectedTheme])){
|
31 |
+
$theme = $themes[$selectedTheme];
|
32 |
+
$admin_capability = get_option('agca_admin_capability');
|
33 |
+
if($admin_capability == ""){
|
34 |
+
$admin_capability = "edit_dashboard";
|
35 |
+
}
|
36 |
+
if(!((get_option('agca_role_allbutadmin')==true) and (current_user_can($admin_capability )))){
|
37 |
+
$adminscript = $theme[$optionName];
|
38 |
+
$settings = $theme['settings'];
|
39 |
+
if($settings == "" || $settings == " ") $settings = "{}";
|
40 |
+
$adminscript = agcaAppendSettingsToAGCATemplateCustomizations($adminscript, $settings);
|
41 |
+
$admindata = agcaEnableSpecificWPVersionCustomizations($admindata);
|
42 |
+
$admindata = agcaRemoveCSSComments($admindata);
|
43 |
+
|
44 |
+
echo $adminscript;
|
45 |
+
}
|
46 |
+
}
|
47 |
+
}
|
48 |
+
|
49 |
+
//print_r($themes); print_r($selectedTheme); die;
|
50 |
+
die;
|
51 |
+
|
52 |
+
|
53 |
+
function agcaEnableSpecificWPVersionCustomizations($customizations){
|
54 |
+
/*enable special CSS for this WP version*/
|
55 |
+
$ver = agcat_get_wp_version();
|
56 |
+
$customizations = str_replace("/*".$ver," ", $customizations);
|
57 |
+
$customizations = str_replace($ver."*/"," ", $customizations);
|
58 |
+
return $customizations;
|
59 |
+
}
|
60 |
+
function agcat_get_wp_version(){
|
61 |
+
global $wp_version;
|
62 |
+
$array = explode('-', $wp_version);
|
63 |
+
$version = $array[0];
|
64 |
+
return $version;
|
65 |
+
}
|
66 |
+
function agcaAppendSettingsToAGCATemplateCustomizations($customizations, $settings){
|
67 |
+
$template_settings = json_decode($settings);
|
68 |
+
//print_r($template_settings);
|
69 |
+
foreach($template_settings as $sett){
|
70 |
+
$key = $sett->code;
|
71 |
+
|
72 |
+
//use default value if user's value is not set
|
73 |
+
$value="";
|
74 |
+
if($sett->value != ""){
|
75 |
+
$value = $sett->value;
|
76 |
+
}else{
|
77 |
+
$value = $sett->default_value;
|
78 |
+
}
|
79 |
+
|
80 |
+
//Prepare settings
|
81 |
+
if($sett->type == 6){
|
82 |
+
if($value !== null && (strtolower($value) == "on" || $value == "1")){
|
83 |
+
$value = "true";
|
84 |
+
}else{
|
85 |
+
$value = "false";
|
86 |
+
}
|
87 |
+
}
|
88 |
+
$customizations = str_replace("%".$key."%",$value, $customizations);
|
89 |
+
}
|
90 |
+
return $customizations;
|
91 |
+
}
|
92 |
+
function agcaRemoveCSSComments($customizations){
|
93 |
+
$customizations = preg_replace('#/\*.*?\*/#si','',$customizations);
|
94 |
+
return $customizations;
|
95 |
+
}
|
trunk/script/ag_script.js
ADDED
@@ -0,0 +1,979 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
var afterFormClickCreateJson = true;
|
2 |
+
var editingButtonNow = false;
|
3 |
+
var agca_ajax_url = agca_global_plugin_url + "ajax.php";
|
4 |
+
function booleanToChecked(bool){
|
5 |
+
if(bool == 'true'){
|
6 |
+
return 'checked="checked"';
|
7 |
+
}else if(bool == 'checked'){
|
8 |
+
return 'checked="checked"';
|
9 |
+
}
|
10 |
+
}
|
11 |
+
|
12 |
+
function agcaLog(text){
|
13 |
+
console.log(text);
|
14 |
+
}
|
15 |
+
|
16 |
+
function agcaDebug(text){
|
17 |
+
if(agca_debug){
|
18 |
+
console.log('- '+text);
|
19 |
+
}
|
20 |
+
}
|
21 |
+
|
22 |
+
function agcaDebugObj(obj){
|
23 |
+
if(agca_debug){
|
24 |
+
console.log(obj);
|
25 |
+
}
|
26 |
+
}
|
27 |
+
|
28 |
+
/*use only on agca page*/
|
29 |
+
if(window.location.href.indexOf(encodeURIComponent('ag-custom-admin/plugin.php')) !== -1 || window.location.href.indexOf('ag-custom-admin/plugin.php') !== -1){
|
30 |
+
jQuery(function(){
|
31 |
+
var agcapage = localStorage.getItem('agca-page');
|
32 |
+
if(!agcapage){
|
33 |
+
localStorage.setItem('agca-page', window.location.hash);
|
34 |
+
agcapage = localStorage.getItem('agca-page');
|
35 |
+
}
|
36 |
+
window.location.hash = window.location.hash || agcapage;
|
37 |
+
localStorage.setItem('agca-page', window.location.hash);
|
38 |
+
|
39 |
+
});
|
40 |
+
window.onhashchange = function(){
|
41 |
+
localStorage.setItem('agca-page', window.location.hash);
|
42 |
+
if(jQuery('#ag_main_menu a.selected').attr('href') !== window.location.hash){
|
43 |
+
if(window.location.hash !== ""){
|
44 |
+
// jQuery("#ag_main_menu a[href='"+window.location.hash+"']").trigger('click');
|
45 |
+
}
|
46 |
+
}
|
47 |
+
};
|
48 |
+
}
|
49 |
+
|
50 |
+
function hideShowSubmenus(index){
|
51 |
+
var finish = false;
|
52 |
+
var found = false;
|
53 |
+
jQuery('#ag_edit_adminmenu td').each(function(){
|
54 |
+
if(jQuery('#ag_edit_adminmenu td').index(jQuery(this)) >= index && (finish == false)){
|
55 |
+
// jQuery(this).find('.agcaMenuEditorPlusMinus').show();
|
56 |
+
var caller = jQuery('#ag_edit_adminmenu td:eq(' + index + ')');
|
57 |
+
jQuery(caller).find('.agcaMenuEditorPlusMinus .minus').toggle();
|
58 |
+
jQuery(caller).find('.agcaMenuEditorPlusMinus .plus').toggle();
|
59 |
+
if(jQuery(this).hasClass('ag_admin_menu_child')){
|
60 |
+
jQuery(this).parent().toggleClass('noclass');
|
61 |
+
found = true;
|
62 |
+
}
|
63 |
+
if((jQuery('#ag_edit_adminmenu td').index(jQuery(this)) > index) && jQuery(this).hasClass('ag_admin_menu_parent')){
|
64 |
+
finish = true;
|
65 |
+
}
|
66 |
+
}
|
67 |
+
});
|
68 |
+
/*FOCUS*/
|
69 |
+
if(!jQuery('#ag_edit_adminmenu td').eq((index+2)).parent().hasClass('noclass') && (found == true)){
|
70 |
+
jQuery('#ag_edit_adminmenu td').eq((index+2)).find('a').trigger('focus');
|
71 |
+
};
|
72 |
+
}
|
73 |
+
|
74 |
+
/*
|
75 |
+
Makes admin edit page pretty grouping items and submenus, and adding fancy interactions
|
76 |
+
*/
|
77 |
+
function prettyEditMenuPage(){
|
78 |
+
jQuery('#ag_edit_adminmenu td').each(function(){
|
79 |
+
if(jQuery(this).hasClass('ag_admin_menu_child')){
|
80 |
+
jQuery(this).parent().addClass('noclass');
|
81 |
+
};
|
82 |
+
});
|
83 |
+
jQuery('#ag_edit_adminmenu td').each(function(){
|
84 |
+
if(jQuery(this).hasClass('ag_admin_menu_parent')){
|
85 |
+
jQuery(this).parent().css('background-color','#d8eAd8');
|
86 |
+
jQuery(this).bind('click',function(evt){
|
87 |
+
if(evt.target.className == 'ag_admin_menu_parent'){
|
88 |
+
hideShowSubmenus(jQuery('#ag_edit_adminmenu td').index(this));
|
89 |
+
}
|
90 |
+
});
|
91 |
+
};
|
92 |
+
});
|
93 |
+
jQuery('#ag_edit_adminmenu td > a').bind('click',function(){
|
94 |
+
jQuery(this).parent().click();
|
95 |
+
//jQuery(this).parent().focus();
|
96 |
+
});
|
97 |
+
};
|
98 |
+
function editMenuRow(url, originalName, newName, removed){
|
99 |
+
return '<tr class="top" data-url="'+url+'" style="background-color: rgb(216, 234, 216);"><td class="ag_admin_menu_parent"><br><span class=\"agcaMenuEditorPlusMinus\"><span class="dashicons plus dashicons-arrow-down-alt2"></span><span class="dashicons minus dashicons-arrow-up-alt2"></span></span><a tabindex="0" href="javascript:void(0)">'+originalName+'</a><div style="float:right"><input title="Remove Home from menu" class=" agca-checkbox visibility" type="checkbox" '+(removed?' checked=\"checked\" ':'')+' name="ag_edit_adminmenu_item_top_2" style="display: none;"><div onclick="agcaCheckBoxOnClick(jQuery(this));" class="agca-checkbox-box" title="'+agca_string.remove+' '+originalName+' '+agca_string.frommenu+'"><div></div></div></div></td><td class="ag_admin_menu_parent2"><input title="'+agca_string.rename+' '+originalName+' '+agca_string.withthisvalue+'" type="text" class="undefined" size="47" value="'+newName+'" name="ag_edit_adminmenu_item_top_2"></td></tr>';
|
100 |
+
}
|
101 |
+
function editMenuSubrow(index, parentName, parentIndex, url, originalName, newName, removed){
|
102 |
+
return '<tr class="sub" data-index="'+index+'" data-parent="'+parentIndex+'" data-name="'+originalName+'" data-url="'+url+'"><td class="ag_admin_menu_child"><div style="float:left"><a tabindex="-1" href="javascript:void(0)" style="font-weight:bold;" title="Dashboard submenu: '+originalName+'"><span style="font-weight:normal"> </span>'+originalName+'</a></div><div style="float:right"><input type="checkbox" title="'+agca_string.remove+' '+parentName+' submenu: '+originalName+' from menu" class="Home agca-checkbox visibility" '+(removed?' checked=\"checked\" ':'')+' name="ag_edit_adminmenu_item_sub_1" style="display: none;"><div onclick="agcaCheckBoxOnClick(jQuery(this));" class="agca-checkbox-box" title="'+agca_string.remove+' '+parentName+' sub-menu: '+originalName+' from menu"><div></div></div></div></td><td class="ag_admin_menu_child2"><input type="text" title="'+agca_string.rename+' '+agca_string.submenuitem+' '+originalName+' '+agca_string.withthisvalue+'" class="'+originalName+'" size="47" value="'+newName+'" name="ag_edit_adminmenu_item_sub_1"></td></tr>';
|
103 |
+
}
|
104 |
+
function createEditMenuPageNew(agca_menu){
|
105 |
+
for(var url in agca_menu){
|
106 |
+
jQuery('#ag_edit_adminmenu').append(editMenuRow(url, agca_menu[url]['name'], agca_menu[url]['new'], agca_menu[url]['remove']));
|
107 |
+
//console.log(agca_menu[url]['name'],agca_menu[url]['new']);
|
108 |
+
|
109 |
+
//submenus
|
110 |
+
var subs = agca_menu[url]['submenus'];
|
111 |
+
if(subs){
|
112 |
+
for(var ind in subs){
|
113 |
+
//console.log('--- '+ subs[ind]['name'], subs[ind]['new']);
|
114 |
+
jQuery('#ag_edit_adminmenu').append(editMenuSubrow(ind, agca_menu[url]['name'],url, subs[ind]['url'], subs[ind]['name'], subs[ind]['new'], subs[ind]['remove']));
|
115 |
+
}
|
116 |
+
}
|
117 |
+
}
|
118 |
+
|
119 |
+
prettyEditMenuPage();
|
120 |
+
hideShowSubmenus();
|
121 |
+
|
122 |
+
var parent = null;
|
123 |
+
var subs = 0;
|
124 |
+
jQuery('#ag_edit_adminmenu tr').each(function(){
|
125 |
+
if(jQuery(this).find('td').hasClass('ag_admin_menu_parent')){
|
126 |
+
//jQuery(this).css('color','#ffffff');
|
127 |
+
if(parent != null){
|
128 |
+
if(subs == 0){
|
129 |
+
jQuery(parent).find('.agcaMenuEditorPlusMinus').html('<span> </span>');
|
130 |
+
}
|
131 |
+
}
|
132 |
+
subs = 0;
|
133 |
+
parent = jQuery(this);
|
134 |
+
}else{
|
135 |
+
subs++;
|
136 |
+
}
|
137 |
+
|
138 |
+
});
|
139 |
+
agcaChangeCheckBoxStyles();
|
140 |
+
}
|
141 |
+
|
142 |
+
function applyAdminMenuCustomizations(){
|
143 |
+
jQuery('ul#adminmenu > li').each(function() {
|
144 |
+
var $o = jQuery(this);
|
145 |
+
if (!$o.hasClass("wp-menu-separator") && !$o.hasClass("wp-menu-separator-last") && $o.attr('id') !== 'collapse-menu') {
|
146 |
+
var topUrl = $o.find('a:first').attr('href');
|
147 |
+
var t = agca_admin_menu[topUrl];
|
148 |
+
if(t){
|
149 |
+
if(t.remove){
|
150 |
+
$o.remove();
|
151 |
+
} else if(c.new){
|
152 |
+
$o.find('a:first .wp-menu-name').text(c.new);
|
153 |
+
}
|
154 |
+
var s = t.submenu;
|
155 |
+
if(s){
|
156 |
+
for(var ind in s){
|
157 |
+
var cs = s[ind];
|
158 |
+
var subUrl = cs.url;
|
159 |
+
var $s = $o.find('.wp-submenu a[href="'+subUrl+'"]:first');
|
160 |
+
if(cs.remove){
|
161 |
+
$s.remove();
|
162 |
+
} else if(cs.new){
|
163 |
+
$s.text(cs.new);
|
164 |
+
}
|
165 |
+
}
|
166 |
+
}
|
167 |
+
|
168 |
+
}
|
169 |
+
console.log(topUrl);
|
170 |
+
}
|
171 |
+
});
|
172 |
+
}
|
173 |
+
|
174 |
+
function showHideSection(text) {
|
175 |
+
switch(text)
|
176 |
+
{
|
177 |
+
case agca_string.menu_general:
|
178 |
+
jQuery('#section_general').show();
|
179 |
+
jQuery('#section_general .section_title').trigger('focus');
|
180 |
+
break;
|
181 |
+
case agca_string.menu_admin_bar:
|
182 |
+
jQuery('#section_admin_bar').show();
|
183 |
+
jQuery('#section_admin_bar .section_title').trigger('focus');
|
184 |
+
break;
|
185 |
+
case agca_string.menu_footer:
|
186 |
+
jQuery('#section_admin_footer').show();
|
187 |
+
jQuery('#section_admin_footer .section_title').trigger('focus');
|
188 |
+
break;
|
189 |
+
case agca_string.menu_dashb:
|
190 |
+
jQuery('#section_dashboard_page').show();
|
191 |
+
jQuery('#section_dashboard_page .section_title').trigger('focus');
|
192 |
+
break;
|
193 |
+
case agca_string.menu_login:
|
194 |
+
jQuery('#section_login_page').show();
|
195 |
+
jQuery('#section_login_page .section_title').trigger('focus');
|
196 |
+
break;
|
197 |
+
case agca_string.menu_admin_menu:
|
198 |
+
jQuery('#section_admin_menu').show();
|
199 |
+
jQuery('#section_admin_menu .section_title').trigger('focus');
|
200 |
+
break;
|
201 |
+
case agca_string.menu_colorizer:
|
202 |
+
jQuery('#section_ag_colorizer_settings').show();
|
203 |
+
jQuery('#section_ag_colorizer_settings .section_title').trigger('focus');
|
204 |
+
break;
|
205 |
+
case agca_string.menu_themes:
|
206 |
+
if(!jQuery('#section_templates').hasClass("loaded")){
|
207 |
+
jQuery('#section_templates').addClass('loaded');
|
208 |
+
agca_client_init();
|
209 |
+
}
|
210 |
+
jQuery('#section_templates').show();
|
211 |
+
jQuery('#section_templates .section_title').trigger('focus');
|
212 |
+
break;
|
213 |
+
case agca_string.menu_advanced:
|
214 |
+
jQuery('#section_advanced').show();
|
215 |
+
jQuery('#section_advanced .section_title').trigger('focus');
|
216 |
+
break;
|
217 |
+
default:
|
218 |
+
jQuery('#section_admin_bar').show();
|
219 |
+
jQuery('#section_admin_bar .section_title').trigger('focus');
|
220 |
+
}
|
221 |
+
}
|
222 |
+
|
223 |
+
function hideAllSections(){
|
224 |
+
jQuery('#ag_main_menu li').each(function(){
|
225 |
+
jQuery(this).addClass("normal").removeClass("selected");
|
226 |
+
});
|
227 |
+
jQuery('.ag_section').each(function(){
|
228 |
+
jQuery(this).hide();
|
229 |
+
});
|
230 |
+
}
|
231 |
+
function reloadRemoveButtonEvents(){
|
232 |
+
}
|
233 |
+
function createTargetCombo(target,clas){
|
234 |
+
|
235 |
+
var combo = ""
|
236 |
+
|
237 |
+
combo+= " "+agca_string.open+" "+agca_string.in+":<select";
|
238 |
+
if( clas != null){
|
239 |
+
combo+=" class=\"editTarget\" ";
|
240 |
+
}
|
241 |
+
combo+= ">";
|
242 |
+
combo+= "<option value=\"_self\"";
|
243 |
+
if(target === "_self"){
|
244 |
+
combo+= " selected ";
|
245 |
+
}
|
246 |
+
combo+= ">same tab</option>";
|
247 |
+
combo+= "<option value=\"_blank\"";
|
248 |
+
if(target === "_blank"){
|
249 |
+
combo+= " selected ";
|
250 |
+
}
|
251 |
+
combo+= ">new tab</option>";
|
252 |
+
combo+= "</select>";
|
253 |
+
return combo;
|
254 |
+
}
|
255 |
+
|
256 |
+
function exportSettings(){
|
257 |
+
jQuery('#agca_form').attr('action','tools.php?page=ag-custom-admin/plugin.php');
|
258 |
+
jQuery('#agca_form #_agca_import_settings').val("false");
|
259 |
+
jQuery('#agca_form #_agca_export_settings').val("true");
|
260 |
+
|
261 |
+
|
262 |
+
jQuery('#ag_add_adminmenu_json').val('');
|
263 |
+
jQuery('#ag_edit_adminmenu_json').val('');
|
264 |
+
jQuery('#ag_edit_adminmenu_json_new').val('');
|
265 |
+
|
266 |
+
|
267 |
+
jQuery('#agca_form').submit();
|
268 |
+
}
|
269 |
+
|
270 |
+
function importSettings(){
|
271 |
+
if(jQuery('#settings_import_file').css("display") == "none"){
|
272 |
+
jQuery('#settings_import_file').show("slide");
|
273 |
+
}else{
|
274 |
+
jQuery('#agca_form').attr('action','tools.php?page=ag-custom-admin/plugin.php');
|
275 |
+
if(jQuery('#settings_import_file').val() !=""){
|
276 |
+
jQuery('#agca_form #_agca_import_settings').val("true");
|
277 |
+
jQuery('#agca_form #_agca_export_settings').val("false");
|
278 |
+
jQuery('#agca_form').attr('enctype','multipart/form-data');
|
279 |
+
jQuery('#agca_form').submit();
|
280 |
+
}else{
|
281 |
+
alert(agca_string.file_imp_not_sel);
|
282 |
+
}
|
283 |
+
}
|
284 |
+
|
285 |
+
}
|
286 |
+
|
287 |
+
function savePluginSettings(){
|
288 |
+
jQuery('#import_file_area').remove();
|
289 |
+
jQuery('#agca_form').submit();
|
290 |
+
}
|
291 |
+
|
292 |
+
jQuery(document).ready(function(){
|
293 |
+
jQuery('#ag_add_adminmenu').on("click", 'a.button_remove', function(){
|
294 |
+
jQuery(this).parent().parent().remove();
|
295 |
+
});
|
296 |
+
jQuery('#ag_add_adminmenu').on('click', 'a.button_edit', function(){
|
297 |
+
if(editingButtonNow == false){
|
298 |
+
var name = jQuery(this).parent().find('button').text();
|
299 |
+
var url = jQuery(this).parent().find('button').attr('title');
|
300 |
+
var target = jQuery(this).parent().find('button').attr('target');
|
301 |
+
//console.log(target);
|
302 |
+
editingButtonNow = name;
|
303 |
+
jQuery(this).parent().append('<div id="temporary_button_edit">name:<input type="text" size="47" value="'+name+'" id="ag_add_adminmenu_name_edit" name="ag_add_adminmenu_name_edit" />url:<input type="text" size="47" value="'+url+'" id="ag_add_adminmenu_url_edit" name="ag_add_adminmenu_url_edit" />' + createTargetCombo(target,"edit")+ '<input type="button" id="ag_add_adminmenu_button_edit" name="ag_add_adminmenu_button_edit" value="'+agca_string.save_changes+'" /></div>');
|
304 |
+
reloadRemoveButtonEvents();
|
305 |
+
}
|
306 |
+
});/*Save editing changes*/
|
307 |
+
jQuery('#ag_add_adminmenu').on("click", '#ag_add_adminmenu_button_edit', function(){
|
308 |
+
//alert(jQuery(this).parent().html());
|
309 |
+
var name = jQuery('#ag_add_adminmenu_name_edit').val();
|
310 |
+
var url = jQuery('#ag_add_adminmenu_url_edit').val();
|
311 |
+
var target = jQuery('select.editTarget').val();
|
312 |
+
//var target = jQuery(this).parent().find('button').attr('target');
|
313 |
+
name = name.replace(/["']{1}/gi,"");
|
314 |
+
url = url.replace(/["']{1}/gi,"");
|
315 |
+
jQuery('#temporary_button_edit').remove();
|
316 |
+
|
317 |
+
var element = 0;
|
318 |
+
jQuery('#ag_add_adminmenu :button').each(function(){
|
319 |
+
//dont use first button for adding new buttons
|
320 |
+
if(element > 0){
|
321 |
+
if(jQuery(this).html() == editingButtonNow){
|
322 |
+
jQuery(this).attr('title',url);
|
323 |
+
jQuery(this).attr('target',target);
|
324 |
+
jQuery(this).html(name);
|
325 |
+
}
|
326 |
+
}
|
327 |
+
element++;
|
328 |
+
});
|
329 |
+
editingButtonNow = false;
|
330 |
+
});
|
331 |
+
|
332 |
+
setTimeout(function(){
|
333 |
+
jQuery('#agca_advertising').show(),700
|
334 |
+
});
|
335 |
+
});
|
336 |
+
/*ToolTip*/
|
337 |
+
function agcaApplyTooltip(){
|
338 |
+
if(jQuery(this).attr('title') != ""){
|
339 |
+
jQuery(this).hover(function(e) {
|
340 |
+
if(jQuery(this).hasClass('feedback')){
|
341 |
+
jQuery(this).mousemove(function(e) {
|
342 |
+
var tipY = e.pageY + 16;
|
343 |
+
var tipX = e.pageX - 236;
|
344 |
+
var type = '#f08080';
|
345 |
+
if(jQuery(this).hasClass('positive')) {
|
346 |
+
type = '#ACC491';
|
347 |
+
}
|
348 |
+
jQuery("#AGToolTipDiv").css({
|
349 |
+
'top': tipY,
|
350 |
+
'left': tipX,
|
351 |
+
'background': type,
|
352 |
+
'border': 'none',
|
353 |
+
'padding': '10px',
|
354 |
+
'color':'#fff',
|
355 |
+
'font-weight':'bold',
|
356 |
+
'border-radius': '5px'
|
357 |
+
});
|
358 |
+
});
|
359 |
+
}else{
|
360 |
+
jQuery(this).mousemove(function(e) {
|
361 |
+
var tipY = e.pageY + 16;
|
362 |
+
var tipX = e.pageX + 16;
|
363 |
+
jQuery("#AGToolTipDiv").css({
|
364 |
+
'top': tipY,
|
365 |
+
'left': tipX,
|
366 |
+
'background': '#FFFFD4',
|
367 |
+
'border': '1px solid #FFFF00'
|
368 |
+
});
|
369 |
+
});
|
370 |
+
}
|
371 |
+
jQuery("#AGToolTipDiv")
|
372 |
+
.html(jQuery(this).attr('title'))
|
373 |
+
.stop(true,true)
|
374 |
+
.fadeIn("fast");
|
375 |
+
jQuery(this).removeAttr('title');
|
376 |
+
}, function() {
|
377 |
+
jQuery("#AGToolTipDiv")
|
378 |
+
.stop(true,true)
|
379 |
+
.fadeOut("fast", function(){
|
380 |
+
jQuery(this).css({
|
381 |
+
'color': '',
|
382 |
+
'border': '',
|
383 |
+
'font-weight':''
|
384 |
+
});
|
385 |
+
})
|
386 |
+
|
387 |
+
jQuery(this).attr('title', jQuery("#AGToolTipDiv").html());
|
388 |
+
});
|
389 |
+
}
|
390 |
+
}
|
391 |
+
|
392 |
+
jQuery(document).ready(function(){
|
393 |
+
/*Add click handler on main buttons*/
|
394 |
+
jQuery('#ag_main_menu a, #ag_main_menu li').bind('click',function(e){
|
395 |
+
if(jQuery(e.target).is('li')){
|
396 |
+
var hash = jQuery(this).find('a:first').attr('href');
|
397 |
+
document.location.hash = hash;
|
398 |
+
};
|
399 |
+
hideAllSections();
|
400 |
+
var text = jQuery(this).text();
|
401 |
+
jQuery(this).removeClass('normal').addClass("selected");
|
402 |
+
showHideSection(text);
|
403 |
+
});
|
404 |
+
|
405 |
+
/*Admin Menu Reset all setings button*/
|
406 |
+
jQuery('#ag_edit_adminmenu_reset_button').click(function(){
|
407 |
+
afterFormClickCreateJson = false;
|
408 |
+
jQuery('#agca_form').submit();
|
409 |
+
});
|
410 |
+
|
411 |
+
/*Add new menu item button - creates new HTMl button elements*/
|
412 |
+
jQuery('#ag_add_adminmenu_button').click(function(){
|
413 |
+
var name = jQuery('#ag_add_adminmenu_name').val();
|
414 |
+
var url = jQuery('#ag_add_adminmenu_url').val();
|
415 |
+
var target = jQuery('#ag_add_adminmenu_target').val();
|
416 |
+
name = name.replace(/["']{1}/gi,"");
|
417 |
+
url = url.replace(/["']{1}/gi,"");
|
418 |
+
jQuery('#ag_add_adminmenu_name').val("");
|
419 |
+
jQuery('#ag_add_adminmenu_url').val("");
|
420 |
+
jQuery('#ag_add_adminmenu_target').val("_self");
|
421 |
+
jQuery('#ag_add_adminmenu').append('<tr><td colspan="2"><button target="'+target+'" title="'+url+'" type="button">'+name+'</button> <a style="cursor:pointer;" title="Edit" class="button_edit"><span class="dashicons dashicons-edit"></span></a> <a style="cursor:pointer" title="'+agca_string.delete+'" class="button_remove"><span class="dashicons dashicons-no"></span></a></td><td></td></tr>');
|
422 |
+
reloadRemoveButtonEvents();
|
423 |
+
});
|
424 |
+
|
425 |
+
/*Add tooltip box*/
|
426 |
+
jQuery("body").append("<div id='AGToolTipDiv'></div>");
|
427 |
+
|
428 |
+
/*ToolTip*/
|
429 |
+
jQuery("label[title],#agca_donate_button, a.feedback").each(agcaApplyTooltip);
|
430 |
+
|
431 |
+
/*SECTION FOCUS*/
|
432 |
+
jQuery('.section_title').focus(function(){
|
433 |
+
});
|
434 |
+
|
435 |
+
|
436 |
+
//check hashtag
|
437 |
+
if(document.location.hash !== ""){
|
438 |
+
jQuery("#ag_main_menu a[href='"+window.location.hash+"']").trigger('click')
|
439 |
+
};
|
440 |
+
|
441 |
+
if(typeof isCusminActive !== 'undefined' && isCusminActive){
|
442 |
+
hideAllSections();
|
443 |
+
jQuery('#section_templates, #section-cusmin').show();
|
444 |
+
if(typeof agca_client_init === 'function'){
|
445 |
+
agca_client_init();
|
446 |
+
}
|
447 |
+
}
|
448 |
+
|
449 |
+
});
|
450 |
+
|
451 |
+
jQuery(function($){
|
452 |
+
/*Admin menu*/
|
453 |
+
jQuery('#adminmenu').css('display','block');
|
454 |
+
|
455 |
+
/*FORM SUBMITTED*/
|
456 |
+
jQuery('#agca_form').submit(function(){
|
457 |
+
processData();
|
458 |
+
return true;
|
459 |
+
});
|
460 |
+
|
461 |
+
//on radio button text click
|
462 |
+
jQuery('.agca-radio-text').on('click', function(){
|
463 |
+
var $o = jQuery(this);
|
464 |
+
var type = 'off';
|
465 |
+
if($o.hasClass('on')){
|
466 |
+
type='on';
|
467 |
+
}
|
468 |
+
$o.parent().find('.agca-radiobox[value='+type+']').trigger('click');
|
469 |
+
});
|
470 |
+
|
471 |
+
//Colorizer update input text colors
|
472 |
+
colorizerColorizeTextboxes();
|
473 |
+
});
|
474 |
+
|
475 |
+
|
476 |
+
function processEditAdminMenu(){
|
477 |
+
var array = {};
|
478 |
+
|
479 |
+
//top menus
|
480 |
+
jQuery('#ag_edit_adminmenu tr.top').each(function(){
|
481 |
+
var $tr = jQuery(this);
|
482 |
+
var originalText = $tr.find('.ag_admin_menu_parent a').text();
|
483 |
+
var newText = $tr.find('.ag_admin_menu_parent2 input').val();
|
484 |
+
var remove = $tr.find('.agca-checkbox').is(':checked');
|
485 |
+
var url = $tr.data('url');
|
486 |
+
array[url]={
|
487 |
+
'name': originalText,
|
488 |
+
'new': newText || "",
|
489 |
+
'remove':remove,
|
490 |
+
'url':url,
|
491 |
+
'submenus':{}
|
492 |
+
};
|
493 |
+
});
|
494 |
+
|
495 |
+
//submenus
|
496 |
+
jQuery('#ag_edit_adminmenu tr.sub').each(function(){
|
497 |
+
var $tr = jQuery(this);
|
498 |
+
var newText = $tr.find('.ag_admin_menu_child2 input').val();
|
499 |
+
var remove = $tr.find('.agca-checkbox').is(':checked');
|
500 |
+
var url = $tr.data('url');
|
501 |
+
var index = $tr.data('index');
|
502 |
+
var parentIndex = $tr.data('parent');
|
503 |
+
var originalName = $tr.data('name');
|
504 |
+
array[parentIndex]['submenus'][index]={
|
505 |
+
'name': originalName,
|
506 |
+
'new': newText || "",
|
507 |
+
'remove':remove,
|
508 |
+
'url':url
|
509 |
+
};
|
510 |
+
});
|
511 |
+
return array;
|
512 |
+
}
|
513 |
+
|
514 |
+
function processData(){
|
515 |
+
|
516 |
+
//serialize admin menu edit configuration
|
517 |
+
var array = processEditAdminMenu();
|
518 |
+
if(afterFormClickCreateJson == true){
|
519 |
+
jQuery('#ag_edit_adminmenu_json_new').val(JSON.stringify(array));
|
520 |
+
}else{
|
521 |
+
jQuery('#ag_edit_adminmenu_json_new').val('');
|
522 |
+
}
|
523 |
+
|
524 |
+
//serialize buttons
|
525 |
+
array = "{";
|
526 |
+
var element = 0;
|
527 |
+
jQuery('#ag_add_adminmenu :button').each(function(){
|
528 |
+
//console.log(jQuery(this).html()+jQuery(this).attr('title'));
|
529 |
+
if(element > 0){
|
530 |
+
if(element > 1){
|
531 |
+
array += ", ";
|
532 |
+
}
|
533 |
+
array += "\"" + jQuery(this).html() + "\" : {";
|
534 |
+
array += " \"value\" : ";
|
535 |
+
array += "\"" + jQuery(this).attr('title') + "\"";
|
536 |
+
array += ", \"target\" : ";
|
537 |
+
array += "\"" + jQuery(this).attr('target') + "\"}";
|
538 |
+
}
|
539 |
+
element++;
|
540 |
+
});
|
541 |
+
array += "}";
|
542 |
+
if(element == 1){
|
543 |
+
array="";
|
544 |
+
}
|
545 |
+
jQuery('#ag_add_adminmenu_json').val(array);
|
546 |
+
|
547 |
+
|
548 |
+
|
549 |
+
/*Serialize colors*/
|
550 |
+
var array = "{";
|
551 |
+
var firstElement = true;
|
552 |
+
var topMarker = "";
|
553 |
+
jQuery('input.color_picker').each(function(){
|
554 |
+
if(firstElement != true){
|
555 |
+
array += ", ";
|
556 |
+
}
|
557 |
+
array += "\"" + jQuery(this).attr('id') + "\" : ";
|
558 |
+
array += "\"" + jQuery(this).val() + "\"";
|
559 |
+
firstElement = false;
|
560 |
+
});
|
561 |
+
array += "}";
|
562 |
+
|
563 |
+
if(!isSettingsImport){
|
564 |
+
jQuery('#ag_colorizer_json').val(array);
|
565 |
+
}
|
566 |
+
}
|
567 |
+
|
568 |
+
function agca_escapeHTMLChars(str){
|
569 |
+
return str
|
570 |
+
.replace(/&/g, '&')
|
571 |
+
.replace(/'/g, ''')
|
572 |
+
.replace(/"/g, '"');
|
573 |
+
}
|
574 |
+
|
575 |
+
function agca_escapeChars(str){
|
576 |
+
return str.replace(/[\/\\\"\']/g, "\\$&");
|
577 |
+
//return str.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g, "\\$&");
|
578 |
+
}
|
579 |
+
|
580 |
+
/*C O L O R I Z E R*/
|
581 |
+
function updateTargetColor(id, color){
|
582 |
+
switch(id)
|
583 |
+
{
|
584 |
+
case 'color_background':
|
585 |
+
jQuery('html, .wp-dialog').css({
|
586 |
+
'background-color':color
|
587 |
+
});
|
588 |
+
break;
|
589 |
+
case 'login_color_background':
|
590 |
+
jQuery('body.login').css({
|
591 |
+
'background-color':color
|
592 |
+
});
|
593 |
+
break;
|
594 |
+
|
595 |
+
case 'color_header':
|
596 |
+
jQuery('#wphead').css({
|
597 |
+
'background':color
|
598 |
+
});
|
599 |
+
|
600 |
+
//wp > 3.3
|
601 |
+
jQuery('#wpadminbar').css({'background':color});
|
602 |
+
jQuery('#wpadminbar .ab-top-menu').css({'background':color});
|
603 |
+
|
604 |
+
if(wpversion >= 3.2){
|
605 |
+
jQuery('#wphead').css({
|
606 |
+
'margin':'0',
|
607 |
+
'margin-left':'-14px',
|
608 |
+
'padding-left':'15px'
|
609 |
+
});
|
610 |
+
jQuery("#backtoblog").attr("style","");
|
611 |
+
}
|
612 |
+
break;
|
613 |
+
case 'color_admin_menu_top_button_background':
|
614 |
+
jQuery('#adminmenu a.menu-top').css({
|
615 |
+
'background':color
|
616 |
+
});
|
617 |
+
jQuery('#adminmenu li.menu-top').css({
|
618 |
+
'background':color
|
619 |
+
});
|
620 |
+
break;
|
621 |
+
case 'color_admin_menu_top_button_current_background':
|
622 |
+
jQuery('#adminmenu li.menu-top.wp-menu-open a.menu-top').css({
|
623 |
+
'background':color
|
624 |
+
|
625 |
+
});
|
626 |
+
jQuery('#adminmenu li.menu-top.current a.menu-top').css({
|
627 |
+
'background':color
|
628 |
+
});
|
629 |
+
jQuery('body.folded #adminmenu li.menu-top.wp-menu-open').css({
|
630 |
+
'background':color
|
631 |
+
});
|
632 |
+
break;
|
633 |
+
case 'color_admin_menu_top_button_hover_background':
|
634 |
+
if(color == "")break;
|
635 |
+
var selector = '#adminmenu a.menu-top';
|
636 |
+
if(jQuery('body').hasClass('folded')){
|
637 |
+
selector = '#adminmenu li.menu-top';
|
638 |
+
}
|
639 |
+
var originalBackground = jQuery(selector).css('background-color');
|
640 |
+
|
641 |
+
//if first is selected, use second
|
642 |
+
if((jQuery(selector+":eq(0)").hasClass('current') || jQuery(selector+":eq(0)").hasClass('wp-has-current-submenu'))){
|
643 |
+
originalBackground = jQuery(selector+':eq(1)').css('background-color');
|
644 |
+
}
|
645 |
+
jQuery(selector).mouseover(function(){
|
646 |
+
if(!(jQuery(this).hasClass('current') || jQuery(this).hasClass('wp-has-current-submenu'))){
|
647 |
+
jQuery(this).css({'background':color});
|
648 |
+
}
|
649 |
+
}).mouseout(function(){
|
650 |
+
if(!(jQuery(this).hasClass('current') || jQuery(this).hasClass('wp-has-current-submenu'))){
|
651 |
+
jQuery(this).css('background',originalBackground);
|
652 |
+
}
|
653 |
+
});
|
654 |
+
|
655 |
+
//for folded menu
|
656 |
+
|
657 |
+
|
658 |
+
break;
|
659 |
+
case 'color_admin_menu_submenu_background':
|
660 |
+
// jQuery("#adminmenu li.wp-has-current-submenu").removeClass("wp-has-current-submenu");
|
661 |
+
jQuery('#adminmenu .wp-submenu.sub-open').remove();
|
662 |
+
jQuery('#adminmenu .wp-submenu a, #adminmenu li.wp-has-current-submenu .wp-submenu a').each(function(){
|
663 |
+
jQuery(this).css({
|
664 |
+
'background':color
|
665 |
+
});
|
666 |
+
});
|
667 |
+
jQuery('#adminmenu .wp-submenu').css({'background':color,'margin-left':'0',"padding-top":roundedSidberSize+"px","padding-bottom":roundedSidberSize+"px"});
|
668 |
+
jQuery('#adminmenu .wp-has-current-submenu .wp-submenu').css("padding","0");
|
669 |
+
//jQuery('#adminmenu .wp-submenu').css('border','3px solid red');
|
670 |
+
jQuery('#adminmenu .wp-submenu ul').css({'background':'none'});
|
671 |
+
jQuery('#adminmenu .wp-submenu ul').css('border','none');
|
672 |
+
jQuery('#adminmenu .wp-submenu .wp-submenu-wrap').css('border','none');
|
673 |
+
|
674 |
+
break;
|
675 |
+
case 'color_admin_submenu_font':
|
676 |
+
jQuery('#adminmenu .wp-submenu li a').css('color',color);
|
677 |
+
break;
|
678 |
+
case 'color_admin_menu_font':
|
679 |
+
jQuery('#adminmenu, #adminmenu a, #adminmenu p').css({
|
680 |
+
'color':color
|
681 |
+
});
|
682 |
+
break;
|
683 |
+
case 'color_admin_menu_behind_background':
|
684 |
+
jQuery('#adminmenuback, #adminmenuwrap').css({
|
685 |
+
'background-color':color
|
686 |
+
});
|
687 |
+
break;
|
688 |
+
case 'color_admin_menu_submenu_background_hover':
|
689 |
+
var submenuSelector = '#adminmenu .wp-submenu a';
|
690 |
+
var originalSubBackground = jQuery(submenuSelector).css('background-color');
|
691 |
+
jQuery(submenuSelector).mouseover(function(){
|
692 |
+
jQuery(this).css({
|
693 |
+
'background':color
|
694 |
+
});
|
695 |
+
}).mouseout(function(){
|
696 |
+
jQuery(this).css('background',originalSubBackground);
|
697 |
+
});
|
698 |
+
//jQuery('#adminmenu .wp-submenu a:hover').css({'background':color});
|
699 |
+
break;
|
700 |
+
case 'color_font_content':
|
701 |
+
jQuery('#wpbody-content, #wpbody-content label, #wpbody-content p,#wpbody-content .form-table th, #wpbody-content .form-wrap label').css({
|
702 |
+
'color':color
|
703 |
+
});
|
704 |
+
break;
|
705 |
+
case 'color_font_header':
|
706 |
+
jQuery('#wphead, #wphead a, #wpadminbar a, #wpadminbar span').css({
|
707 |
+
'color':color
|
708 |
+
});
|
709 |
+
break;
|
710 |
+
case 'color_font_footer':
|
711 |
+
jQuery('#wpfooter, #wpfooter a').css({
|
712 |
+
'color':color
|
713 |
+
});
|
714 |
+
break;
|
715 |
+
case 'color_widget_bar':
|
716 |
+
jQuery(".widget .widget-top, .postbox h3, .stuffbox h3").css({
|
717 |
+
'background' : color,
|
718 |
+
'text-shadow' :'none'
|
719 |
+
});
|
720 |
+
break;
|
721 |
+
case 'color_widget_background':
|
722 |
+
jQuery(".widget, .postbox").css('background',color);
|
723 |
+
//jQuery(".widget, #widget-list .widget-top, .postbox, .menu-item-settings").css('background',color); remove if <3.2 work
|
724 |
+
break;
|
725 |
+
default:
|
726 |
+
}
|
727 |
+
}
|
728 |
+
function updateColor(id,color){
|
729 |
+
jQuery("#"+id).css({
|
730 |
+
'background-color':color
|
731 |
+
});
|
732 |
+
jQuery("#"+id).val(color);
|
733 |
+
if(isDarker(color) == true){
|
734 |
+
jQuery("#"+id).css('color','#ffffff');
|
735 |
+
}else{
|
736 |
+
jQuery("#"+id).css('color','#000000');
|
737 |
+
}
|
738 |
+
updateTargetColor(id,color);
|
739 |
+
}
|
740 |
+
/*First load apply colours from fields*/
|
741 |
+
|
742 |
+
/*C O L O R I Z E R E N D*/
|
743 |
+
|
744 |
+
/*A J A X*/
|
745 |
+
jQuery(document).ready(function(){
|
746 |
+
|
747 |
+
//Ams
|
748 |
+
if(typeof isAGCAPage !== 'undefined'){
|
749 |
+
if(isAGCAPage == true){
|
750 |
+
//alert('admin page');
|
751 |
+
var url="http://wordpressadminpanel.com/ads/ep/ads/ads?jsoncallback=?";
|
752 |
+
jQuery.getJSON(
|
753 |
+
url,{
|
754 |
+
wp_ver: wpversion,
|
755 |
+
agca_ver: agca_version,
|
756 |
+
format: "json"
|
757 |
+
},
|
758 |
+
function(json){
|
759 |
+
jQuery.each(json,function(i,post){
|
760 |
+
jQuery('#agca_advertising ul').append('<li><a target="_blank" href="http://wordpressadminpanel.com/ads/ep/ads/ad?id=' + post.id + '" ><img height=\"100px\" src=\"'+post.src+'\" title=\"'+post.title+'\" /></a></li>');
|
761 |
+
});
|
762 |
+
jQuery('#agca_advertising').show();
|
763 |
+
|
764 |
+
});
|
765 |
+
}
|
766 |
+
}
|
767 |
+
|
768 |
+
|
769 |
+
//News
|
770 |
+
jQuery(document).ready(function(){
|
771 |
+
if(typeof isAGCAPage !== 'undefined'){
|
772 |
+
if(isAGCAPage == true){
|
773 |
+
var url="http://wordpressadminpanel.com/info/info?jsoncallback=?";
|
774 |
+
jQuery.getJSON(
|
775 |
+
url,{
|
776 |
+
wp_ver: wpversion,
|
777 |
+
agca_ver: agca_version,
|
778 |
+
format: "json"
|
779 |
+
},
|
780 |
+
function(json){
|
781 |
+
jQuery.each(json.posts,function(i,post){
|
782 |
+
jQuery('#agca_news').append('<p><strong>Info: </strong>'+post.news+'</p>');
|
783 |
+
});
|
784 |
+
jQuery('#agca_news p').each(function(){
|
785 |
+
jQuery(this).hide();
|
786 |
+
});
|
787 |
+
|
788 |
+
});
|
789 |
+
|
790 |
+
setInterval(function() {
|
791 |
+
if(jQuery('#agca_news p.news_online').size() == 0){
|
792 |
+
jQuery('#agca_news p:first').addClass('news_online');
|
793 |
+
jQuery('#agca_news p:first').show();
|
794 |
+
}else{
|
795 |
+
var changed = false;
|
796 |
+
var finish = false;
|
797 |
+
jQuery('#agca_news p').each(function(){
|
798 |
+
if(finish != true){
|
799 |
+
if(changed == true){
|
800 |
+
jQuery(this).addClass('news_online');
|
801 |
+
jQuery(this).show();
|
802 |
+
finish = true;
|
803 |
+
}
|
804 |
+
else if(jQuery(this).hasClass('news_online')){
|
805 |
+
jQuery(this).hide();
|
806 |
+
jQuery(this).removeClass('news_online');
|
807 |
+
changed = true;
|
808 |
+
};
|
809 |
+
}
|
810 |
+
});
|
811 |
+
if(jQuery('#agca_news p.news_online').size() == 0){
|
812 |
+
jQuery('#agca_news p:first').addClass('news_online');
|
813 |
+
jQuery('#agca_news p:first').show();
|
814 |
+
}
|
815 |
+
}
|
816 |
+
}, 5000);
|
817 |
+
}
|
818 |
+
}
|
819 |
+
|
820 |
+
});
|
821 |
+
|
822 |
+
|
823 |
+
});
|
824 |
+
/*A J A X*/
|
825 |
+
|
826 |
+
/*AGCA CHECKBOX RADIOBOX*/
|
827 |
+
function agcaCheckBoxOnClick(obj){
|
828 |
+
var isNowChecked = false;
|
829 |
+
var $input = jQuery(obj).prev();
|
830 |
+
if($input.is(':checked')){
|
831 |
+
$input.removeAttr('checked');
|
832 |
+
}else{
|
833 |
+
isNowChecked = true;
|
834 |
+
$input.attr('checked','checked');
|
835 |
+
}
|
836 |
+
|
837 |
+
if($input.hasClass('has-dependant')){
|
838 |
+
var dependantSel = $input.data('dependant');
|
839 |
+
var isOppositeToggle = $input.hasClass('dependant-opposite');
|
840 |
+
|
841 |
+
if(isNowChecked && !isOppositeToggle || !isNowChecked && isOppositeToggle){
|
842 |
+
jQuery(dependantSel).show("slide");
|
843 |
+
}else{
|
844 |
+
jQuery(dependantSel).hide("slideDown");
|
845 |
+
}
|
846 |
+
}
|
847 |
+
|
848 |
+
//console.log(obj.prev());
|
849 |
+
if($input.is(':checked')){
|
850 |
+
jQuery(obj).addClass('agca-checkbox-box-checked');
|
851 |
+
jQuery(obj).removeClass('agca-checkbox-box');
|
852 |
+
}else{
|
853 |
+
jQuery(obj).addClass('agca-checkbox-box');
|
854 |
+
jQuery(obj).removeClass('agca-checkbox-box-checked');
|
855 |
+
}
|
856 |
+
}
|
857 |
+
function agcaRadioBoxOnClick(obj){
|
858 |
+
obj.prev().trigger('click');
|
859 |
+
//console.log(obj.prev());
|
860 |
+
obj.parent().find('.agca-radiobox').removeClass('checked');
|
861 |
+
if(jQuery(obj).prev().is(':checked')){
|
862 |
+
jQuery(obj).addClass('checked');
|
863 |
+
}else{
|
864 |
+
jQuery(obj).removeClass('checked');
|
865 |
+
}
|
866 |
+
}
|
867 |
+
function agcaChangeCheckBoxStyles(){
|
868 |
+
/*checkbox*/
|
869 |
+
jQuery('.agca-checkbox-box-checked').remove();
|
870 |
+
jQuery('.agca-checkbox-box').remove();
|
871 |
+
jQuery('.agca-checkbox').each(function(){
|
872 |
+
jQuery(this).hide();
|
873 |
+
var cls = "agca-checkbox-box";
|
874 |
+
if(jQuery(this).is(':checked')){
|
875 |
+
cls = "agca-checkbox-box-checked";
|
876 |
+
}
|
877 |
+
if(jQuery(this).hasClass('visibility')){
|
878 |
+
cls +=' visibility';
|
879 |
+
}
|
880 |
+
jQuery(this).after('<div onClick="agcaCheckBoxOnClick(jQuery(this));" class="' + cls + '" title="'+jQuery(this).attr('title')+'"><div/>');
|
881 |
+
});
|
882 |
+
|
883 |
+
/*radio*/
|
884 |
+
jQuery('.agca-radiobox').remove();
|
885 |
+
jQuery('.agca-radio').each(function(){
|
886 |
+
jQuery(this).hide();
|
887 |
+
var cls = "agca-radiobox";
|
888 |
+
if(jQuery(this).is(':checked')){
|
889 |
+
cls = "agca-radiobox checked";
|
890 |
+
}
|
891 |
+
|
892 |
+
jQuery(this).after('<div onClick="agcaRadioBoxOnClick(jQuery(this));" value="'+jQuery(this).attr('value')+'" class="' + cls + '" title="'+jQuery(this).attr('title')+'"><div/>');
|
893 |
+
});
|
894 |
+
}
|
895 |
+
|
896 |
+
function isWPHigherOrEqualThan(targetVersion){
|
897 |
+
//remove sufixes, beta RC etc
|
898 |
+
if (wpversion.indexOf("-")!=-1){
|
899 |
+
var parts = wpversion.split("-");
|
900 |
+
wpversion = parts[0];
|
901 |
+
}
|
902 |
+
var currentVersion = parseFloat(wpversion);
|
903 |
+
targetVersion = parseFloat(targetVersion);
|
904 |
+
|
905 |
+
return (wpversion >= targetVersion);
|
906 |
+
}
|
907 |
+
|
908 |
+
function colorizerColorizeTextboxes(){
|
909 |
+
jQuery('#section_ag_colorizer_settings .color_picker').each(function(){
|
910 |
+
var $o = jQuery(this);
|
911 |
+
$o.css('background-color', $o.val());
|
912 |
+
$o.lightOrDark();
|
913 |
+
if($o.hasClass('dark')){
|
914 |
+
$o.css('color','#fff');
|
915 |
+
}else{
|
916 |
+
$o.css('color','#000');
|
917 |
+
}
|
918 |
+
});
|
919 |
+
}
|
920 |
+
|
921 |
+
|
922 |
+
//VALIDATION
|
923 |
+
jQuery(document).ready(function() {
|
924 |
+
jQuery(".validateNumber").on('keydown',function(event) {
|
925 |
+
// Allow only backspace and delete
|
926 |
+
var limit = jQuery(this).attr('limit');
|
927 |
+
var value = jQuery(this).val();
|
928 |
+
|
929 |
+
if ( event.keyCode == 46 || event.keyCode == 8 ) {
|
930 |
+
} else {
|
931 |
+
if((typeof(limit) != undefined) && value.length >= limit){
|
932 |
+
return false;
|
933 |
+
}
|
934 |
+
if (event.keyCode < 95) {
|
935 |
+
if (event.keyCode < 48 || event.keyCode > 57 ) {
|
936 |
+
event.preventDefault();
|
937 |
+
}
|
938 |
+
} else {
|
939 |
+
if (event.keyCode < 96 || event.keyCode > 105 ) {
|
940 |
+
event.preventDefault();
|
941 |
+
}
|
942 |
+
}
|
943 |
+
}
|
944 |
+
});
|
945 |
+
});
|
946 |
+
|
947 |
+
(function($){
|
948 |
+
|
949 |
+
$.fn.lightOrDark = function(){
|
950 |
+
var r,b,g,hsp
|
951 |
+
, a = this.css('background-color');
|
952 |
+
|
953 |
+
if (a.match(/^rgb/)) {
|
954 |
+
a = a.match(/^rgba?\((\d+),\s*(\d+),\s*(\d+)(?:,\s*(\d+(?:\.\d+)?))?\)$/);
|
955 |
+
r = a[1];
|
956 |
+
g = a[2];
|
957 |
+
b = a[3];
|
958 |
+
} else {
|
959 |
+
a = +("0x" + a.slice(1).replace( // thanks to jed : http://gist.github.com/983661
|
960 |
+
a.length < 5 && /./g, '$&$&'
|
961 |
+
)
|
962 |
+
);
|
963 |
+
r = a >> 16;
|
964 |
+
b = a >> 8 & 255;
|
965 |
+
g = a & 255;
|
966 |
+
}
|
967 |
+
hsp = Math.sqrt( // HSP equation from http://alienryderflex.com/hsp.html
|
968 |
+
0.299 * (r * r) +
|
969 |
+
0.587 * (g * g) +
|
970 |
+
0.114 * (b * b)
|
971 |
+
);
|
972 |
+
if (hsp>127.5) {
|
973 |
+
this.addClass('light');
|
974 |
+
} else {
|
975 |
+
this.addClass('dark');
|
976 |
+
}
|
977 |
+
}
|
978 |
+
|
979 |
+
})(jQuery);
|
trunk/script/agca_farbtastic.js
ADDED
@@ -0,0 +1,68 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
function isDarker(rgb){
|
2 |
+
var r=parseInt(rgb.substring(1,3));
|
3 |
+
var g=parseInt(rgb.substring(3,5));
|
4 |
+
var b=parseInt(rgb.substring(5));
|
5 |
+
|
6 |
+
r = r/255, g = g/255, b = b/255;
|
7 |
+
var max = Math.max(r, g, b), min = Math.min(r, g, b);
|
8 |
+
var h, s, v = max;
|
9 |
+
|
10 |
+
var d = max - min;
|
11 |
+
s = max == 0 ? 0 : d / max;
|
12 |
+
|
13 |
+
if(max == min){
|
14 |
+
h = 0; // achromatic
|
15 |
+
}else{
|
16 |
+
switch(max){
|
17 |
+
case r: h = (g - b) / d + (g < b ? 6 : 0); break;
|
18 |
+
case g: h = (b - r) / d + 2; break;
|
19 |
+
case b: h = (r - g) / d + 4; break;
|
20 |
+
}
|
21 |
+
h /= 6;
|
22 |
+
}
|
23 |
+
//return [h, s, v];
|
24 |
+
if(v < 0.5){
|
25 |
+
return true;
|
26 |
+
}else{
|
27 |
+
return false;
|
28 |
+
}
|
29 |
+
}
|
30 |
+
|
31 |
+
jQuery(document).ready(function() {
|
32 |
+
|
33 |
+
jQuery('.pick_color_button').click(function(e){
|
34 |
+
jQuery('#'+jQuery(this).attr('alt')).focus();
|
35 |
+
jQuery('#picker').css("left",e.pageX-100);
|
36 |
+
jQuery('#picker').css("top",e.pageY-100);
|
37 |
+
jQuery('#picker').show();
|
38 |
+
|
39 |
+
});
|
40 |
+
jQuery('.color_picker').click(function(){
|
41 |
+
jQuery('#picker').farbtastic('#'+jQuery(this).attr('id'));
|
42 |
+
});
|
43 |
+
jQuery('.color_picker').bind('keydown',function(){
|
44 |
+
updateColor(jQuery(this).attr('id'),jQuery(this).val())
|
45 |
+
updateAllColors();
|
46 |
+
});
|
47 |
+
jQuery('#picker').mouseleave(function(){
|
48 |
+
jQuery(this).hide();
|
49 |
+
});
|
50 |
+
jQuery('#picker').hide();
|
51 |
+
jQuery('.pick_color_button_clear').click(function(){
|
52 |
+
jQuery('#'+jQuery(this).attr('alt')).val("");
|
53 |
+
jQuery('#'+jQuery(this).attr('alt')).attr("style","");
|
54 |
+
});
|
55 |
+
});
|
56 |
+
|
57 |
+
jQuery(document).ready(function() {
|
58 |
+
jQuery('#picker').farbtastic(function(color){
|
59 |
+
if(document.activeElement.id !=""){
|
60 |
+
updateColor(document.activeElement.id,color);
|
61 |
+
updateAllColors();
|
62 |
+
}
|
63 |
+
});
|
64 |
+
jQuery(".color_picker").bind('keydown',function(){
|
65 |
+
updateColor(jQuery(this).attr('id'),jQuery(this).val());
|
66 |
+
updateAllColors();
|
67 |
+
});
|
68 |
+
});
|
trunk/script/agca_tmpl.js
ADDED
@@ -0,0 +1,744 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
var isAGCAPage = true;
|
2 |
+
var template_name = "";
|
3 |
+
var templates_installed = [];
|
4 |
+
var xhr =null;
|
5 |
+
var agcaLoadingTimeOut = null;
|
6 |
+
|
7 |
+
function agca_getTemplateCallback(data){
|
8 |
+
agcaDebug('FN:agca_getTemplateCallback()');
|
9 |
+
agcaDebug(JSON.stringify(data));
|
10 |
+
if(data.success == 0){
|
11 |
+
//alert(data.data);
|
12 |
+
agcaInfoMessage("Error",data.data);
|
13 |
+
jQuery('#agca_template_popup').hide();
|
14 |
+
}else{
|
15 |
+
jQuery("#templates_name").val(template_name);
|
16 |
+
var parts = data.data.split("||||");
|
17 |
+
jQuery("#templates_data").val(parts[1]);
|
18 |
+
//console.log(jQuery("#templates_data").val());
|
19 |
+
jQuery("body").append(parts[0]);
|
20 |
+
|
21 |
+
//load settings
|
22 |
+
agca_loadTemplateSettingsInitial(template_name);
|
23 |
+
}
|
24 |
+
}
|
25 |
+
|
26 |
+
function agca_getTemplateByLicenseKeyCallback(data){
|
27 |
+
agcaDebug('FN:agca_getTemplateByLicenseKeyCallback()');
|
28 |
+
agcaDebug(JSON.stringify(data));
|
29 |
+
if(data.success == 0){
|
30 |
+
agcaInfoMessage("Error",data.data);
|
31 |
+
}else{
|
32 |
+
if(data.data.length < 100){
|
33 |
+
template_selected = data.data;
|
34 |
+
var key = agcaTemplatesSessionGetLicenseKey(template_selected);
|
35 |
+
agcaProgress('Loading theme... Please wait...');
|
36 |
+
agca_getTemplate(template_selected,key);
|
37 |
+
}else{
|
38 |
+
agcaDebug("Uknown theme name" + data.data);
|
39 |
+
}
|
40 |
+
|
41 |
+
}
|
42 |
+
}
|
43 |
+
|
44 |
+
function agca_getTemplatesCallback(data){
|
45 |
+
agcaDebug('FN:agca_getTemplatesCallback()');
|
46 |
+
if(data.data == "CDbException"){
|
47 |
+
data.data = "Service is temporary to busy. Please reload the page or try again later.";
|
48 |
+
agcaDebugObj(data);
|
49 |
+
}else if(data.data == "PHP Error"){
|
50 |
+
data.data = "Error occurred on the server.";
|
51 |
+
agcaDebugObj(data);
|
52 |
+
}
|
53 |
+
jQuery('#agca_templates').html(data.data);
|
54 |
+
jQuery('#advanced_template_options').show();
|
55 |
+
jQuery("#agca_installed_templates .template img").each(agcaApplyTooltip);
|
56 |
+
jQuery("#agca_loaded_templates .template img").each(agcaApplyTooltip);
|
57 |
+
jQuery('#advanced_template_options a').each(agcaApplyTooltip);
|
58 |
+
}
|
59 |
+
function agca_client_init(){
|
60 |
+
agcaDebug('FN:agca_client_init()');
|
61 |
+
agca_getLocalTemplates();
|
62 |
+
checkIfTemplatesAreLoaded(1);
|
63 |
+
jQuery('#agca_templates').html('<p class="initialLoader" style="font-size:18px;color:gray;font-style:italic">Loading themes...</p>');
|
64 |
+
}
|
65 |
+
|
66 |
+
function agca_setupXHR(){
|
67 |
+
agcaDebug('FN:agca_setupXHR()');
|
68 |
+
if(xhr != null) return false;
|
69 |
+
xhr = new easyXDM.Rpc({
|
70 |
+
remote:templates_ep
|
71 |
+
//onReady: function () { alert('ready'); }
|
72 |
+
}, {
|
73 |
+
remote: {
|
74 |
+
request: {
|
75 |
+
}
|
76 |
+
},
|
77 |
+
handle: function(data, send){
|
78 |
+
if(data.success){
|
79 |
+
var callbackFname = data.url.split('callback=')[1];
|
80 |
+
var fn = window[callbackFname];
|
81 |
+
if(fn != undefined){
|
82 |
+
fn(data);
|
83 |
+
}
|
84 |
+
}else{ console.log('errr');
|
85 |
+
console.log(data.url);
|
86 |
+
var url = data.url;
|
87 |
+
if(url !== undefined && url != ""){
|
88 |
+
var cb = url.split('callback=')[1];
|
89 |
+
if(cb != ""){
|
90 |
+
var fn = window[cb];
|
91 |
+
if(fn != undefined){
|
92 |
+
fn(data);
|
93 |
+
}
|
94 |
+
}
|
95 |
+
}else{
|
96 |
+
printInitialAGCAError("Please update your browser in order to view AG Custom Admin themes.");
|
97 |
+
}
|
98 |
+
}
|
99 |
+
}
|
100 |
+
});
|
101 |
+
}
|
102 |
+
|
103 |
+
function agca_getTemplates(){
|
104 |
+
agcaDebug('FN:agca_getTemplates()');
|
105 |
+
//agca_uploadRemoteImage('http://www.neowing.co.jp/idol_site2/image/FDGD-21/fdgd-21-top.jpg');
|
106 |
+
agca_setupXHR();
|
107 |
+
if(typeof agca_active_template_version === 'undefined'){
|
108 |
+
agca_active_template_version = "";
|
109 |
+
}
|
110 |
+
|
111 |
+
xhr.request({
|
112 |
+
url: templates_ep + "service/client" + "&callback=agca_getTemplatesCallback",
|
113 |
+
method: "POST",
|
114 |
+
callBack: agca_getTemplatesCallback,
|
115 |
+
data: {isPost:true, wpv:wpversion, agcav:agca_version,selected:template_selected,installed:agca_installed_templates,template_version:agca_active_template_version}
|
116 |
+
});
|
117 |
+
}
|
118 |
+
|
119 |
+
function agca_getConfiguration(){
|
120 |
+
agcaDebug('FN:agca_getConfiguration()');
|
121 |
+
/*xhr.request({
|
122 |
+
url: templates_ep + "/configuration" + "?callback=agca_getConfigurationCallback",
|
123 |
+
method: "POST",
|
124 |
+
callBack: agca_getConfigurationCallback,
|
125 |
+
data: {isPost:true}
|
126 |
+
});*/
|
127 |
+
jQuery.getJSON(templates_ep + "?callback=?",
|
128 |
+
function(data){
|
129 |
+
console.log("EP:"+data.ep);
|
130 |
+
templates_ep = data.ep;
|
131 |
+
if(data.error !=""){
|
132 |
+
printInitialAGCAError(data.error);
|
133 |
+
}else{
|
134 |
+
agca_getTemplates();
|
135 |
+
}
|
136 |
+
}
|
137 |
+
).error(function(jqXHR, textStatus, errorThrown) {
|
138 |
+
agca_error({url:templates_ep,data:textStatus + " " + jqXHR.responseText});
|
139 |
+
/*console.log("error " + textStatus);
|
140 |
+
console.log("incoming Text " + jqXHR.responseText);*/
|
141 |
+
});
|
142 |
+
}
|
143 |
+
|
144 |
+
function printInitialAGCAError(err){
|
145 |
+
jQuery('#agca_templates p.initialLoader').html(err);
|
146 |
+
jQuery('#agca_templates p').removeClass('initialLoader');
|
147 |
+
clearTimeout(agcaLoadingTimeOut);
|
148 |
+
}
|
149 |
+
|
150 |
+
function agca_getTemplate(template, key){
|
151 |
+
agcaDebug('FN:agca_getTemplate()');
|
152 |
+
template_name = template;
|
153 |
+
if(!agcaTemplatesSessionIsLicenseSet(template)){
|
154 |
+
agcaTemplatesSessionAdd(template, key);
|
155 |
+
}
|
156 |
+
xhr.request({
|
157 |
+
url: templates_ep + "service/gettemplate"+"&tmpl="+template+"&key="+key+"&callback=agca_getTemplateCallback",
|
158 |
+
method: "POST",
|
159 |
+
callBack: agca_getTemplateCallback,
|
160 |
+
data: {isPost:true, wpv:wpversion, agcav:agca_version}
|
161 |
+
});
|
162 |
+
}
|
163 |
+
|
164 |
+
function agca_getTemplateByLicenseKey(key){
|
165 |
+
agcaDebug('FN:agca_getTemplateByLicenseKey('+key+')');
|
166 |
+
//template_name = template;
|
167 |
+
xhr.request({
|
168 |
+
url: templates_ep + "service/gettemplatebylk"+"&tmpl=&key="+key+"&callback=agca_getTemplateByLicenseKeyCallback",
|
169 |
+
method: "POST",
|
170 |
+
callBack: agca_getTemplateByLicenseKeyCallback,
|
171 |
+
data: {isPost:true, wpv:wpversion, agcav:agca_version}
|
172 |
+
});
|
173 |
+
}
|
174 |
+
|
175 |
+
function agca_loadTemplateSettingsInitial(template){
|
176 |
+
agcaDebug('FN:agca_loadTemplateSettingsInitial()');
|
177 |
+
agca_loadTemplateSettingsCore(template, true);
|
178 |
+
}
|
179 |
+
|
180 |
+
function agca_loadTemplateSettings(template){
|
181 |
+
agcaDebug('FN:agca_loadTemplateSettings()');
|
182 |
+
agca_loadTemplateSettingsCore(template, false);
|
183 |
+
}
|
184 |
+
|
185 |
+
function agca_loadTemplateSettingsCore(template, isInitial){
|
186 |
+
agcaDebug('FN:agca_loadTemplateSettingsCore()');
|
187 |
+
template_name = template;
|
188 |
+
template_selected = template;
|
189 |
+
|
190 |
+
var licenseKey = "";
|
191 |
+
if(agcaTemplatesSession[template] != null && agcaTemplatesSession[template]['license'] != null){
|
192 |
+
licenseKey = agcaTemplatesSession[template]['license'];
|
193 |
+
}
|
194 |
+
|
195 |
+
var calb = agca_getTemplateSettingsCallback;
|
196 |
+
var calbName = "agca_getTemplateSettingsCallback";
|
197 |
+
|
198 |
+
if(isInitial){
|
199 |
+
agcaProgress("Loading theme settings...");
|
200 |
+
calb = agca_getTemplateSettingsInitialCallback;
|
201 |
+
calbName = "agca_getTemplateSettingsInitialCallback";
|
202 |
+
}
|
203 |
+
xhr.request({
|
204 |
+
url: templates_ep + "service/gettemplatesettings"+"&tmpl="+template+"&key="+licenseKey+"&callback="+calbName,
|
205 |
+
method: "POST",
|
206 |
+
callBack: calb,
|
207 |
+
data: {isPost:true, wpv:wpversion, agcav:agca_version}
|
208 |
+
});
|
209 |
+
//alert('saving template settings for template:' + template_name);
|
210 |
+
}
|
211 |
+
|
212 |
+
function agca_getTemplateSettingsInitialCallback(data){
|
213 |
+
agcaDebug('FN:agca_getTemplateSettingsInitialCallback()');
|
214 |
+
agcaDebug(JSON.stringify(data));
|
215 |
+
if(data.success == 0){
|
216 |
+
agcaInfoMessage("Error",data.data);
|
217 |
+
//TODO - what if template is loaded, but settings are not?
|
218 |
+
console.log('ERR:theme settings are not loaded');
|
219 |
+
}else{
|
220 |
+
var settings = "";
|
221 |
+
var filteredSettings = {};
|
222 |
+
try{
|
223 |
+
settings = JSON.parse(data.data);
|
224 |
+
if(settings.length == 0){
|
225 |
+
}else{
|
226 |
+
for(var ind in settings){
|
227 |
+
var type = settings[ind].type;
|
228 |
+
var text = "";
|
229 |
+
var defaultValue = "";
|
230 |
+
var newItem = {};
|
231 |
+
newItem.code = settings[ind].name;
|
232 |
+
newItem.type = settings[ind].type;
|
233 |
+
newItem.value = settings[ind].value;
|
234 |
+
newItem.default_value = settings[ind].default_value;
|
235 |
+
filteredSettings[ind] = newItem;
|
236 |
+
}
|
237 |
+
agcaDebug("Selected theme:" + template_selected);
|
238 |
+
console.log(filteredSettings);
|
239 |
+
|
240 |
+
}
|
241 |
+
}catch(e){
|
242 |
+
console.log('Error while loading settings');
|
243 |
+
console.log(e);
|
244 |
+
}
|
245 |
+
agca_saveTemplateSettingsInitial(template_selected, filteredSettings);
|
246 |
+
}
|
247 |
+
}
|
248 |
+
/*template settings - load them to UI popup window*/
|
249 |
+
function agca_getTemplateSettingsCallback(data){
|
250 |
+
agcaDebug('FN:agca_getTemplateSettingsCallback()');
|
251 |
+
//console.log(data.data);
|
252 |
+
|
253 |
+
if(data.success == 0){
|
254 |
+
agcaTemplatesSessionRemove(template_selected);
|
255 |
+
//alert(data.data);
|
256 |
+
jQuery('#agca_template_settings .agca_loader').html(data.data);
|
257 |
+
}else{
|
258 |
+
|
259 |
+
var settings = "";
|
260 |
+
try{
|
261 |
+
if(data.data.substring(0, "Exception:".length) === "Exception:"){
|
262 |
+
var errr= data.data.substr(10);
|
263 |
+
jQuery('#agca_template_settings .agca_loader').html(errr);
|
264 |
+
return false;
|
265 |
+
}
|
266 |
+
settings = JSON.parse(data.data);
|
267 |
+
if(settings.length == 0){
|
268 |
+
jQuery('#agca_template_settings .agca_loader').html("Additional settings are not available for this theme");
|
269 |
+
}else{
|
270 |
+
jQuery('#agca_template_settings .agca_loader').hide();
|
271 |
+
jQuery('#agca_save_template_settings').show();
|
272 |
+
|
273 |
+
var currentSettings = (agca_template_settings != null && agca_template_settings != undefined)?agca_template_settings:{};
|
274 |
+
|
275 |
+
//TODO: Change to use object name code object[code], instead of number object[i]
|
276 |
+
for(var ind in settings){
|
277 |
+
var type = settings[ind].type;
|
278 |
+
var text = "";
|
279 |
+
//console.log(settings[ind]);
|
280 |
+
var currentValue = "";
|
281 |
+
|
282 |
+
//get previously saved value
|
283 |
+
for(var ind2 in currentSettings){
|
284 |
+
if(currentSettings[ind2]!= null && currentSettings[ind2].code == settings[ind].name){
|
285 |
+
currentValue = currentSettings[ind2].value;
|
286 |
+
}
|
287 |
+
}
|
288 |
+
|
289 |
+
//if current value is still not defined, use default value
|
290 |
+
if(currentValue == ""){
|
291 |
+
currentValue = settings[ind].default_value;
|
292 |
+
}
|
293 |
+
/*text*/
|
294 |
+
if(type==1){
|
295 |
+
text = "<p>"+settings[ind].title+"</p><input type=\"text\" name=\"agcats_"+settings[ind].name+"\" value=\""+currentValue+"\" default_value=\""+settings[ind].default_value+"\" code=\""+settings[ind].name+"\" class=\"setting\" stype=\"1\" /></br>";
|
296 |
+
}else if(type==2){
|
297 |
+
text = "<p>"+settings[ind].title+"</p><textarea name=\"agcats_"+settings[ind].name+"\" class=\"setting\" code=\""+settings[ind].name+"\" default_value=\""+settings[ind].default_value+"\" stype=\"2\" >"+currentValue+"</textarea></br>";
|
298 |
+
}else if(type==3){
|
299 |
+
text = "<p>"+settings[ind].title+"</p><select name=\"agcats_"+settings[ind].name+"\" class=\"setting\" code=\""+settings[ind].name+"\" default_value=\""+settings[ind].default_value+"\" stype=\"3\" >";
|
300 |
+
var options = settings[ind].default_value.split(',');
|
301 |
+
for(var indopt in options){
|
302 |
+
var sel = "";
|
303 |
+
if(currentValue == options[indopt]){
|
304 |
+
sel = " selected=\"selected\" ";
|
305 |
+
}
|
306 |
+
text+="<option value="+options[indopt]+" "+sel+">"+options[indopt]+"</option>";
|
307 |
+
}
|
308 |
+
text+="</select>";
|
309 |
+
}else if(type==4){
|
310 |
+
text = "<p>"+settings[ind].title+"</p><div class=\"agca_form_0100_div\"><input value=\""+currentValue+"\" type=\"text\" name=\"agcats_"+settings[ind].name+"\" class=\"setting agca_form_0100\" code=\""+settings[ind].name+"\" default_value=\""+settings[ind].default_value+"\" stype=\"4\" /><input type=\"button\" name=\"agca_form_decr\" class=\"agca_form_decr\" value=\"-\"/><input type=\"button\" name=\"agca_form_incr\" class=\"agca_form_incr\" value=\"+\"/> (0-100)</div></br>";
|
311 |
+
}else if(type==6){
|
312 |
+
if(currentValue == true){
|
313 |
+
currentValue =" checked=\"checked\" ";
|
314 |
+
}else{
|
315 |
+
currentValue="";
|
316 |
+
}
|
317 |
+
text = "<p>"+settings[ind].title+"</p><input type=\"checkbox\" name=\"agcats_"+settings[ind].name+"\" class=\"setting\" default_value=\""+settings[ind].default_value+"\" code=\""+settings[ind].name+"\" stype=\"6\" "+currentValue+" /></br>";
|
318 |
+
}else if(type==7){
|
319 |
+
text = "<p>"+settings[ind].title+"</p><div name=\"agcats_"+settings[ind].name+"\" class=\"setting\" code=\""+settings[ind].name+"\" default_value=\""+settings[ind].default_value+"\" stype=\"7\" style=\"padding-left: 10px;color:white;\">";
|
320 |
+
var options = settings[ind].default_value.split(',');
|
321 |
+
for(var indopt in options){
|
322 |
+
var sel = "";
|
323 |
+
if(currentValue == options[indopt]){
|
324 |
+
sel = " checked ";
|
325 |
+
}
|
326 |
+
text+="<input name=\"agcats_"+settings[ind].name+"_val\" style=\"margin-right:6px;\" type=\"radio\" value="+options[indopt]+" "+sel+" name=\"sd\"/>"+options[indopt]+"</br>";
|
327 |
+
}
|
328 |
+
text+="</div>";
|
329 |
+
}
|
330 |
+
jQuery('#agca_template_settings').append(text);
|
331 |
+
|
332 |
+
//TODO: do similar to options above, clean a code up a litle bit, add them dinamicaly all attributes instead of inline adding
|
333 |
+
jQuery('.agca_form_0100_div .agca_form_decr').click(function(){
|
334 |
+
var val =jQuery(this).parent().find('.agca_form_0100').val();
|
335 |
+
val = parseInt(val.replace(/\D/g,''));//leave only numbers
|
336 |
+
if(isNaN(val)) val =0;
|
337 |
+
val--;
|
338 |
+
if(val < 0)val =0;
|
339 |
+
if(val > 100)val=100;
|
340 |
+
jQuery(this).parent().find('.agca_form_0100').val(val);
|
341 |
+
});
|
342 |
+
jQuery('.agca_form_0100_div .agca_form_incr').click(function(){
|
343 |
+
var val =jQuery(this).parent().find('.agca_form_0100').val();
|
344 |
+
val = parseInt(val.replace(/\D/g,''));//leave only numbers
|
345 |
+
if(isNaN(val)) val =0;
|
346 |
+
val++;
|
347 |
+
if(val < 0)val =0;
|
348 |
+
if(val > 100)val=100;
|
349 |
+
jQuery(this).parent().find('.agca_form_0100').val(val);
|
350 |
+
});
|
351 |
+
jQuery('.agca_form_0100').keyup(function(){
|
352 |
+
|
353 |
+
var val =jQuery(this).val();
|
354 |
+
val = parseInt(val.replace(/\D/g,''));//leave only numbers
|
355 |
+
if(val < 0 || isNaN(val))val =0;
|
356 |
+
if(val > 100)val=100;
|
357 |
+
|
358 |
+
jQuery(this).val(val);
|
359 |
+
|
360 |
+
});
|
361 |
+
}
|
362 |
+
}
|
363 |
+
}catch(e){
|
364 |
+
console.log(e);
|
365 |
+
}
|
366 |
+
}
|
367 |
+
//alert('callb');
|
368 |
+
}
|
369 |
+
|
370 |
+
function agca_saveTemplateSettingsInitial(template, settings){
|
371 |
+
agcaDebug('FN:agca_saveTemplateSettingsInitial()');
|
372 |
+
var originalText = jQuery("#templates_data").val();
|
373 |
+
jQuery("#templates_data").val(originalText+"|||"+JSON.stringify(settings));
|
374 |
+
agca_removeTemplateImages(template, agca_startUploadingRemoteImages);
|
375 |
+
}
|
376 |
+
|
377 |
+
function agca_saveTemplateSettingsFromForm(template){
|
378 |
+
agcaDebug('FN:agca_saveTemplateSettingsFromForm()');
|
379 |
+
template_name = template;
|
380 |
+
|
381 |
+
//get settings from the form
|
382 |
+
var settings = {};
|
383 |
+
|
384 |
+
jQuery('#agca_template_settings .setting').each(function(ind){
|
385 |
+
var setting_typ = jQuery(this).attr('stype');
|
386 |
+
var setting_val = jQuery(this).val();
|
387 |
+
var setting_cod = jQuery(this).attr('code');
|
388 |
+
var setting_def = jQuery(this).attr('default_value');
|
389 |
+
|
390 |
+
if(jQuery(this).attr('type')=="checkbox"){
|
391 |
+
setting_val = jQuery(this).is(':checked');
|
392 |
+
}
|
393 |
+
|
394 |
+
//radio
|
395 |
+
if(setting_typ == "7"){
|
396 |
+
setting_val = jQuery('input[name="agcats_'+setting_cod+'_val"]:checked').val();
|
397 |
+
}
|
398 |
+
|
399 |
+
settings[ind] = {
|
400 |
+
type: setting_typ,
|
401 |
+
value: setting_val,
|
402 |
+
code: setting_cod,
|
403 |
+
default_value: setting_def
|
404 |
+
};
|
405 |
+
|
406 |
+
});
|
407 |
+
|
408 |
+
jQuery('#agca_template_settings').html("<p>Applying theme settings...</p>");
|
409 |
+
agca_saveTemplateSettingsCore(template, settings, function(data){
|
410 |
+
window.location = 'tools.php?page=ag-custom-admin/plugin.php';
|
411 |
+
});
|
412 |
+
}
|
413 |
+
|
414 |
+
|
415 |
+
function agca_saveTemplateSettingsCore(template, settings, callback){
|
416 |
+
agcaDebug('FN:agca_saveTemplateSettingsCore()');
|
417 |
+
var url = window.location;
|
418 |
+
agca_POST(url,{"_agca_template_settings": JSON.stringify(settings),"_agca_current_template":template},
|
419 |
+
callback,
|
420 |
+
function(){
|
421 |
+
console.log('AGCA Error: agca_saveTemplateSettingsCore()');
|
422 |
+
}
|
423 |
+
);
|
424 |
+
}
|
425 |
+
|
426 |
+
/*function agca_saveTemplateSettingsCore(template, settings){
|
427 |
+
var settings = {};
|
428 |
+
var url = window.location;
|
429 |
+
jQuery.post(url,{"_agca_template_settings":settings,"_agca_current_template":template},
|
430 |
+
function(data){
|
431 |
+
window.location = 'tools.php?page=ag-custom-admin/plugin.php';
|
432 |
+
//console.log('reload');
|
433 |
+
})
|
434 |
+
.fail(
|
435 |
+
function(){
|
436 |
+
console.log('AGCA Error: agca_saveTemplateSettingsCore()');
|
437 |
+
});
|
438 |
+
}*/
|
439 |
+
|
440 |
+
function agca_activateTemplate(template){
|
441 |
+
/*if(template_selected == ""){
|
442 |
+
alert('There are no active templates to deactivate.');
|
443 |
+
return false;
|
444 |
+
};*/
|
445 |
+
if(template == ""){
|
446 |
+
agcaProgress('Deactivating theme... Please wait...');
|
447 |
+
}else{
|
448 |
+
agcaProgress('Activating theme... Please wait...');
|
449 |
+
}
|
450 |
+
|
451 |
+
agcaDebug('FN:agca_activateTemplate('+template+')');
|
452 |
+
jQuery('input[name=agca_colorizer_turnonoff]').val("off");
|
453 |
+
|
454 |
+
//ajax submit form
|
455 |
+
var frm = jQuery('#agca_form');
|
456 |
+
var data = frm.serialize();
|
457 |
+
jQuery.ajax({
|
458 |
+
type: frm.attr('method'),
|
459 |
+
url: frm.attr('action'),
|
460 |
+
data: data,
|
461 |
+
success: function (data) {
|
462 |
+
var url = window.location;
|
463 |
+
agca_POST(url, {"_agca_activate_template":template},
|
464 |
+
function(data){
|
465 |
+
window.location = 'tools.php?page=ag-custom-admin/plugin.php';
|
466 |
+
},
|
467 |
+
function(){
|
468 |
+
console.log('AGCA Error: agca_activateTemplate()');
|
469 |
+
});
|
470 |
+
}
|
471 |
+
});
|
472 |
+
}
|
473 |
+
|
474 |
+
function agca_removeAllTemplates(){
|
475 |
+
agcaDebug('FN:agca_removeAllTemplates()');
|
476 |
+
yesnoPopup("Confirm","All installed themes will be uninstalled completely. You would need to re-activate your purchased themes with valid license keys in order to install them again. Are you sure?",agca_removeAllTemplatesConfirmed);
|
477 |
+
}
|
478 |
+
|
479 |
+
function agca_removeAllTemplatesConfirmed(){
|
480 |
+
agcaDebug('FN:agca_removeAllTemplatesConfirmed()');
|
481 |
+
agcaProgress('Removing all themes... Please wait...');
|
482 |
+
window.setTimeout(function(){
|
483 |
+
window.location = 'tools.php?page=ag-custom-admin/plugin.php&agca_action=remove_templates';
|
484 |
+
},2000);
|
485 |
+
}
|
486 |
+
|
487 |
+
function handleLocalyStoredImages(){
|
488 |
+
agcaDebug('FN:handleLocalyStoredImages()');
|
489 |
+
agcaDebug(jQuery("#templates_data").val());
|
490 |
+
var originalText = jQuery("#templates_data").val();
|
491 |
+
var serializedImages = "";
|
492 |
+
for(var tag in agca_local_images){
|
493 |
+
if(tag != ""){
|
494 |
+
if(serializedImages !=""){
|
495 |
+
serializedImages+=",";
|
496 |
+
}
|
497 |
+
serializedImages+=agca_local_images[tag];
|
498 |
+
originalText = originalText.replace(new RegExp(tag, 'g'), agca_local_images[tag]);
|
499 |
+
}
|
500 |
+
}
|
501 |
+
jQuery("#templates_data").val(originalText+"|||"+serializedImages);
|
502 |
+
//console.log(jQuery("#templates_data").val());
|
503 |
+
|
504 |
+
//SAVE FINALY
|
505 |
+
jQuery("#agca_templates_form").submit();
|
506 |
+
}
|
507 |
+
|
508 |
+
function agca_updateInstallProgress(){
|
509 |
+
agcaDebug('FN:agca_updateInstallProgress()');
|
510 |
+
agca_local_images_count++;
|
511 |
+
var current = agca_remote_images_count - agca_local_images_count;
|
512 |
+
var proc= (agca_local_images_count / (parseInt(agca_remote_images_count)-1)).toFixed(2) * 100;
|
513 |
+
|
514 |
+
agcaProgress('Installing ('+proc+'%) ...');
|
515 |
+
}
|
516 |
+
function agca_removeTemplateImages(template_name, callBack){
|
517 |
+
agcaDebug('FN:agca_removeTemplateImages()');
|
518 |
+
var url = window.location;
|
519 |
+
agca_POST(url,{"_agca_remove_template_images":template_name},
|
520 |
+
function(data){
|
521 |
+
console.log(data);
|
522 |
+
if(callBack != null){
|
523 |
+
callBack();
|
524 |
+
}
|
525 |
+
},
|
526 |
+
function(e){
|
527 |
+
console.log('AGCA Error: agca_removeTemplateImages()');
|
528 |
+
console.log(e);
|
529 |
+
if(callBack != null){
|
530 |
+
callBack();
|
531 |
+
}
|
532 |
+
});
|
533 |
+
}
|
534 |
+
function agca_startUploadingRemoteImages(){
|
535 |
+
agcaDebug('FN:agca_startUploadingRemoteImages()');
|
536 |
+
|
537 |
+
//agcaDebug('templates data');
|
538 |
+
//agcaDebug(jQuery("#templates_data").val());
|
539 |
+
//upload remote images on callback
|
540 |
+
if(typeof agca_remote_images != 'undefined'){
|
541 |
+
agca_uploadRemoteImages();
|
542 |
+
}else{
|
543 |
+
jQuery("#templates_data").val(jQuery("#templates_data").val()+"|||");
|
544 |
+
|
545 |
+
//SAVE FINALY PAYED
|
546 |
+
jQuery("#agca_templates_form").submit();
|
547 |
+
}
|
548 |
+
}
|
549 |
+
|
550 |
+
function agca_uploadRemoteImages(){
|
551 |
+
agcaDebug('FN:agca_uploadRemoteImages()');
|
552 |
+
var found = false;
|
553 |
+
for(var tag in agca_remote_images){
|
554 |
+
found = true;
|
555 |
+
agca_updateInstallProgress();
|
556 |
+
agca_uploadRemoteImage(agca_remote_images[tag], tag);
|
557 |
+
break;
|
558 |
+
}
|
559 |
+
if(!found){
|
560 |
+
//jQuery('.agca_content #activating').text('Installation successful. Reloading...');
|
561 |
+
agcaProgress('Installation successful. Reloading...');
|
562 |
+
window.setTimeout(handleLocalyStoredImages,2000);
|
563 |
+
}
|
564 |
+
}
|
565 |
+
|
566 |
+
function agca_uploadRemoteImage(remoteUrl, tag){
|
567 |
+
agcaDebug('FN:agca_uploadRemoteImage('+remoteUrl+', '+tag+')');
|
568 |
+
var url = window.location;
|
569 |
+
agca_POST(url,{"_agca_upload_image":remoteUrl},
|
570 |
+
function(data){
|
571 |
+
console.log(data);
|
572 |
+
agca_local_images[tag] = data;
|
573 |
+
delete agca_remote_images[tag];
|
574 |
+
agca_uploadRemoteImages();
|
575 |
+
//window.location = 'tools.php?page=ag-custom-admin/plugin.php';
|
576 |
+
},
|
577 |
+
function(){
|
578 |
+
console.log('AGCA Error: agca_activateTemplate()');
|
579 |
+
});
|
580 |
+
}
|
581 |
+
|
582 |
+
function agca_getLocalTemplates(){
|
583 |
+
agcaDebug("FN:agca_getLocalTemplates()");
|
584 |
+
var url = window.location;
|
585 |
+
agca_POST(url,{"_agca_get_templates":true},
|
586 |
+
function(data){
|
587 |
+
try{
|
588 |
+
templates_installed = JSON.parse(data);
|
589 |
+
}catch(e){
|
590 |
+
templates_installed = [];
|
591 |
+
};
|
592 |
+
//agca_getTemplates();
|
593 |
+
agca_getConfiguration();
|
594 |
+
},
|
595 |
+
function(){
|
596 |
+
console.log('AGCA Error: agca_getLocalTemplates()');
|
597 |
+
});
|
598 |
+
}
|
599 |
+
function agca_error(data){
|
600 |
+
agcaDebug("FN:agca_error()");
|
601 |
+
clearTimeout(agcaLoadingTimeOut);
|
602 |
+
if(jQuery('#agca_templates p:first').hasClass('initialLoader')){
|
603 |
+
jQuery('#agca_templates p:first').text('Unable to load themes. Please submit this error to AGCA support. Thank you!');
|
604 |
+
}
|
605 |
+
alert('AG CUSTOM ADMIN TEMPLATE - ERROR\n\nError occured while loading configuration:\n'+data.url+'\n\n'+data.data);
|
606 |
+
}
|
607 |
+
|
608 |
+
//check if templates loaded
|
609 |
+
function checkIfTemplatesAreLoaded(pass){
|
610 |
+
agcaDebug('FN:checkIfTemplatesAreLoaded('+pass+')');
|
611 |
+
if(pass == 1){
|
612 |
+
agcaLoadingTimeOut = window.setTimeout(function(){
|
613 |
+
if(jQuery('#agca_templates p:first').hasClass('initialLoader')){
|
614 |
+
jQuery('#agca_templates p:first').text('Loading, please wait...');
|
615 |
+
checkIfTemplatesAreLoaded(2);
|
616 |
+
}
|
617 |
+
},6000);
|
618 |
+
|
619 |
+
}else if(pass == 2){
|
620 |
+
agcaLoadingTimeOut = window.setTimeout(function(){
|
621 |
+
if(jQuery('#agca_templates p:first').hasClass('initialLoader')){
|
622 |
+
jQuery('#agca_templates p:first').text('Ready in a few moments...');
|
623 |
+
checkIfTemplatesAreLoaded(3);
|
624 |
+
}
|
625 |
+
},6000);
|
626 |
+
|
627 |
+
}
|
628 |
+
else if(pass == 3){
|
629 |
+
agcaLoadingTimeOut = window.setTimeout(function(){
|
630 |
+
if(jQuery('#agca_templates p:first').hasClass('initialLoader')){
|
631 |
+
jQuery('#agca_templates p:first').text('This takes a bit longer than usual, please wait...');
|
632 |
+
checkIfTemplatesAreLoaded(4);
|
633 |
+
}
|
634 |
+
},7000);
|
635 |
+
}
|
636 |
+
else if(pass == 4){
|
637 |
+
agcaLoadingTimeOut = window.setTimeout(function(){
|
638 |
+
if(jQuery('#agca_templates p:first').hasClass('initialLoader')){
|
639 |
+
jQuery('#agca_templates p:first').html('Sorry, unable to load themes right now. Please try again later.');
|
640 |
+
agcaDebug('ERR:Unable to load themes');
|
641 |
+
}
|
642 |
+
},10000);
|
643 |
+
}
|
644 |
+
}
|
645 |
+
|
646 |
+
function agcaTemplatesSessionIsLicenseSet(template){
|
647 |
+
agcaDebug("FN:agcaTemplatesSessionIsLicenseSet(" + template + ")");
|
648 |
+
if(agcaTemplatesSession[template] != null && agcaTemplatesSession[template]["license"] != null){
|
649 |
+
return true;
|
650 |
+
}
|
651 |
+
return false;
|
652 |
+
}
|
653 |
+
|
654 |
+
function agcaTemplatesSessionGetLicenseKey(template){
|
655 |
+
agcaDebug("FN:agcaTemplatesSessionGetLicenseKey(" + template + ")");
|
656 |
+
if(agcaTemplatesSession[template] != null && agcaTemplatesSession[template]["license"] != null){
|
657 |
+
return agcaTemplatesSession[template]["license"];
|
658 |
+
}
|
659 |
+
return "";
|
660 |
+
}
|
661 |
+
|
662 |
+
function agcaTemplatesSessionAdd(template, license, callback){
|
663 |
+
agcaDebug("FN:agcaTemplatesSessionAdd(" + template + ", " + license + ", callback)");
|
664 |
+
if(callback == null){
|
665 |
+
callback = function(data){
|
666 |
+
};
|
667 |
+
}
|
668 |
+
agcaTemplatesSession[template] = {};
|
669 |
+
agcaTemplatesSession[template]["license"] = license;
|
670 |
+
agca_POST(window.location, {
|
671 |
+
"_agca_templates_session" : "true",
|
672 |
+
"template":template,
|
673 |
+
"license":license
|
674 |
+
}, callback);
|
675 |
+
}
|
676 |
+
|
677 |
+
function agcaTemplatesSessionRemove(template, callback){
|
678 |
+
agcaDebug("FN:agcaTemplatesSessionRemove(" + template + ", callback)");
|
679 |
+
if(callback == null){
|
680 |
+
callback = function(){};
|
681 |
+
}
|
682 |
+
agcaTemplatesSession[template]["license"] = null;
|
683 |
+
agca_POST(window.location,{
|
684 |
+
"_agca_templates_session_remove_license" : "true",
|
685 |
+
"template":template
|
686 |
+
}, callback);
|
687 |
+
}
|
688 |
+
|
689 |
+
function agca_POST(url, data, onSuccess, onError){
|
690 |
+
data['_agca_token'] = jQuery('[name=_agca_token]').val();
|
691 |
+
data['_wp_http_referer'] = jQuery('[name=_wp_http_referer]').val();
|
692 |
+
jQuery.post(url, data,
|
693 |
+
function(data){
|
694 |
+
if(onSuccess){
|
695 |
+
onSuccess(data);
|
696 |
+
}
|
697 |
+
})
|
698 |
+
.fail(
|
699 |
+
function(a,b,c){
|
700 |
+
if(onError){
|
701 |
+
onError(a,b,c);
|
702 |
+
}
|
703 |
+
});
|
704 |
+
}
|
705 |
+
|
706 |
+
|
707 |
+
/*FAQ: Invalid template license key: reopen browser and add key again,
|
708 |
+
Wrong or expired license key. You can still use your template, but updates are not available any more.(1): reopen broeser
|
709 |
+
*/
|
710 |
+
|
711 |
+
/*countdown*/
|
712 |
+
function agcaCountDownTimer(now, expire, id)
|
713 |
+
{
|
714 |
+
var _second = 1;
|
715 |
+
var _minute = _second * 60;
|
716 |
+
var _hour = _minute * 60;
|
717 |
+
var _day = _hour * 24;
|
718 |
+
var _year = _day * 365;
|
719 |
+
|
720 |
+
var nowParts = now.split('-');
|
721 |
+
var expireParts = expire.split('-');
|
722 |
+
var timer;
|
723 |
+
var diff = expire - now;
|
724 |
+
|
725 |
+
function showRemaining(df) {
|
726 |
+
diff = diff-1;
|
727 |
+
//console.log(diff);
|
728 |
+
|
729 |
+
var days = Math.floor((diff % _year) / _day);
|
730 |
+
var hours = Math.floor((diff % _day) / _hour);
|
731 |
+
var minutes = Math.floor((diff % _hour) / _minute);
|
732 |
+
var seconds = Math.floor((diff % _minute) / _second);
|
733 |
+
var str = days +"d " + hours +"h "+ minutes +"min "+ seconds+"sec";
|
734 |
+
jQuery(id+" .countdown").html("Available only for:</br>" + str);
|
735 |
+
if (diff < 0) {
|
736 |
+
clearInterval(timer);
|
737 |
+
jQuery(id+" .countdown").html("</br>About to expire...");
|
738 |
+
return;
|
739 |
+
}
|
740 |
+
}
|
741 |
+
timer = setInterval(function(){
|
742 |
+
showRemaining(diff);
|
743 |
+
}, 1000);
|
744 |
+
}
|
trunk/script/farbtastic.js
ADDED
@@ -0,0 +1,346 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
/**
|
2 |
+
* Farbtastic Color Picker 1.2
|
3 |
+
* © 2008 Steven Wittens
|
4 |
+
*
|
5 |
+
* This program is free software; you can redistribute it and/or modify
|
6 |
+
* it under the terms of the GNU General Public License as published by
|
7 |
+
* the Free Software Foundation; either version 2 of the License, or
|
8 |
+
* (at your option) any later version.
|
9 |
+
*
|
10 |
+
* This program is distributed in the hope that it will be useful,
|
11 |
+
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
12 |
+
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
13 |
+
* GNU General Public License for more details.
|
14 |
+
*
|
15 |
+
* You should have received a copy of the GNU General Public License
|
16 |
+
* along with this program; if not, write to the Free Software
|
17 |
+
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
18 |
+
*/
|
19 |
+
|
20 |
+
jQuery.fn.farbtastic = function (callback) {
|
21 |
+
jQuery.farbtastic(this, callback);
|
22 |
+
return this;
|
23 |
+
};
|
24 |
+
|
25 |
+
jQuery.farbtastic = function (container, callback) {
|
26 |
+
var container = jQuery(container).get(0);
|
27 |
+
return container.farbtastic || (container.farbtastic = new jQuery._farbtastic(container, callback));
|
28 |
+
}
|
29 |
+
|
30 |
+
jQuery._farbtastic = function (container, callback) {
|
31 |
+
// Store farbtastic object
|
32 |
+
var fb = this;
|
33 |
+
|
34 |
+
// Insert markup
|
35 |
+
jQuery(container).html('<div class="farbtastic"><div class="color"></div><div class="wheel"></div><div class="overlay"></div><div class="h-marker marker"></div><div class="sl-marker marker"></div></div>');
|
36 |
+
var e = jQuery('.farbtastic', container);
|
37 |
+
fb.wheel = jQuery('.wheel', container).get(0);
|
38 |
+
// Dimensions
|
39 |
+
fb.radius = 84;
|
40 |
+
fb.square = 100;
|
41 |
+
fb.width = 194;
|
42 |
+
|
43 |
+
// Fix background PNGs in IE6
|
44 |
+
if (navigator.appVersion.match(/MSIE [0-6]\./)) {
|
45 |
+
jQuery('*', e).each(function () {
|
46 |
+
if (this.currentStyle.backgroundImage != 'none') {
|
47 |
+
var image = this.currentStyle.backgroundImage;
|
48 |
+
image = this.currentStyle.backgroundImage.substring(5, image.length - 2);
|
49 |
+
jQuery(this).css({
|
50 |
+
'backgroundImage': 'none',
|
51 |
+
'filter': "progid:DXImageTransform.Microsoft.AlphaImageLoader(enabled=true, sizingMethod=crop, src='" + image + "')"
|
52 |
+
});
|
53 |
+
}
|
54 |
+
});
|
55 |
+
}
|
56 |
+
|
57 |
+
/**
|
58 |
+
* Link to the given element(s) or callback.
|
59 |
+
*/
|
60 |
+
fb.linkTo = function (callback) {
|
61 |
+
// Unbind previous nodes
|
62 |
+
if (typeof fb.callback == 'object') {
|
63 |
+
jQuery(fb.callback).unbind('keyup', fb.updateValue);
|
64 |
+
}
|
65 |
+
|
66 |
+
// Reset color
|
67 |
+
fb.color = null;
|
68 |
+
|
69 |
+
// Bind callback or elements
|
70 |
+
if (typeof callback == 'function') {
|
71 |
+
fb.callback = callback;
|
72 |
+
}
|
73 |
+
else if (typeof callback == 'object' || typeof callback == 'string') {
|
74 |
+
fb.callback = jQuery(callback);
|
75 |
+
fb.callback.bind('keyup', fb.updateValue);
|
76 |
+
if (fb.callback.get(0).value) {
|
77 |
+
fb.setColor(fb.callback.get(0).value);
|
78 |
+
}
|
79 |
+
}
|
80 |
+
return this;
|
81 |
+
}
|
82 |
+
fb.updateValue = function (event) {
|
83 |
+
if (this.value && this.value != fb.color) {
|
84 |
+
fb.setColor(this.value);
|
85 |
+
}
|
86 |
+
}
|
87 |
+
|
88 |
+
/**
|
89 |
+
* Change color with HTML syntax #123456
|
90 |
+
*/
|
91 |
+
fb.setColor = function (color) {
|
92 |
+
var unpack = fb.unpack(color);
|
93 |
+
if (fb.color != color && unpack) {
|
94 |
+
fb.color = color;
|
95 |
+
fb.rgb = unpack;
|
96 |
+
fb.hsl = fb.RGBToHSL(fb.rgb);
|
97 |
+
fb.updateDisplay();
|
98 |
+
}
|
99 |
+
return this;
|
100 |
+
}
|
101 |
+
|
102 |
+
/**
|
103 |
+
* Change color with HSL triplet [0..1, 0..1, 0..1]
|
104 |
+
*/
|
105 |
+
fb.setHSL = function (hsl) {
|
106 |
+
fb.hsl = hsl;
|
107 |
+
fb.rgb = fb.HSLToRGB(hsl);
|
108 |
+
fb.color = fb.pack(fb.rgb);
|
109 |
+
fb.updateDisplay();
|
110 |
+
return this;
|
111 |
+
}
|
112 |
+
|
113 |
+
/////////////////////////////////////////////////////
|
114 |
+
|
115 |
+
/**
|
116 |
+
* Retrieve the coordinates of the given event relative to the center
|
117 |
+
* of the widget.
|
118 |
+
*/
|
119 |
+
fb.widgetCoords = function (event) {
|
120 |
+
var x, y;
|
121 |
+
var el = event.target || event.srcElement;
|
122 |
+
var reference = fb.wheel;
|
123 |
+
|
124 |
+
if (typeof event.offsetX != 'undefined') {
|
125 |
+
// Use offset coordinates and find common offsetParent
|
126 |
+
var pos = { x: event.offsetX, y: event.offsetY };
|
127 |
+
|
128 |
+
// Send the coordinates upwards through the offsetParent chain.
|
129 |
+
var e = el;
|
130 |
+
while (e) {
|
131 |
+
e.mouseX = pos.x;
|
132 |
+
e.mouseY = pos.y;
|
133 |
+
pos.x += e.offsetLeft;
|
134 |
+
pos.y += e.offsetTop;
|
135 |
+
e = e.offsetParent;
|
136 |
+
}
|
137 |
+
|
138 |
+
// Look for the coordinates starting from the wheel widget.
|
139 |
+
var e = reference;
|
140 |
+
var offset = { x: 0, y: 0 }
|
141 |
+
while (e) {
|
142 |
+
if (typeof e.mouseX != 'undefined') {
|
143 |
+
x = e.mouseX - offset.x;
|
144 |
+
y = e.mouseY - offset.y;
|
145 |
+
break;
|
146 |
+
}
|
147 |
+
offset.x += e.offsetLeft;
|
148 |
+
offset.y += e.offsetTop;
|
149 |
+
e = e.offsetParent;
|
150 |
+
}
|
151 |
+
|
152 |
+
// Reset stored coordinates
|
153 |
+
e = el;
|
154 |
+
while (e) {
|
155 |
+
e.mouseX = undefined;
|
156 |
+
e.mouseY = undefined;
|
157 |
+
e = e.offsetParent;
|
158 |
+
}
|
159 |
+
}
|
160 |
+
else {
|
161 |
+
// Use absolute coordinates
|
162 |
+
var pos = fb.absolutePosition(reference);
|
163 |
+
x = (event.pageX || 0*(event.clientX + jQuery('html').get(0).scrollLeft)) - pos.x;
|
164 |
+
y = (event.pageY || 0*(event.clientY + jQuery('html').get(0).scrollTop)) - pos.y;
|
165 |
+
}
|
166 |
+
// Subtract distance to middle
|
167 |
+
return { x: x - fb.width / 2, y: y - fb.width / 2 };
|
168 |
+
}
|
169 |
+
|
170 |
+
/**
|
171 |
+
* Mousedown handler
|
172 |
+
*/
|
173 |
+
fb.mousedown = function (event) {
|
174 |
+
// Capture mouse
|
175 |
+
if (!document.dragging) {
|
176 |
+
jQuery(document).bind('mousemove', fb.mousemove).bind('mouseup', fb.mouseup);
|
177 |
+
document.dragging = true;
|
178 |
+
}
|
179 |
+
|
180 |
+
// Check which area is being dragged
|
181 |
+
var pos = fb.widgetCoords(event);
|
182 |
+
fb.circleDrag = Math.max(Math.abs(pos.x), Math.abs(pos.y)) * 2 > fb.square;
|
183 |
+
|
184 |
+
// Process
|
185 |
+
fb.mousemove(event);
|
186 |
+
return false;
|
187 |
+
}
|
188 |
+
|
189 |
+
/**
|
190 |
+
* Mousemove handler
|
191 |
+
*/
|
192 |
+
fb.mousemove = function (event) {
|
193 |
+
// Get coordinates relative to color picker center
|
194 |
+
var pos = fb.widgetCoords(event);
|
195 |
+
|
196 |
+
// Set new HSL parameters
|
197 |
+
if (fb.circleDrag) {
|
198 |
+
var hue = Math.atan2(pos.x, -pos.y) / 6.28;
|
199 |
+
if (hue < 0) hue += 1;
|
200 |
+
fb.setHSL([hue, fb.hsl[1], fb.hsl[2]]);
|
201 |
+
}
|
202 |
+
else {
|
203 |
+
var sat = Math.max(0, Math.min(1, -(pos.x / fb.square) + .5));
|
204 |
+
var lum = Math.max(0, Math.min(1, -(pos.y / fb.square) + .5));
|
205 |
+
fb.setHSL([fb.hsl[0], sat, lum]);
|
206 |
+
}
|
207 |
+
return false;
|
208 |
+
}
|
209 |
+
|
210 |
+
/**
|
211 |
+
* Mouseup handler
|
212 |
+
*/
|
213 |
+
fb.mouseup = function () {
|
214 |
+
// Uncapture mouse
|
215 |
+
jQuery(document).unbind('mousemove', fb.mousemove);
|
216 |
+
jQuery(document).unbind('mouseup', fb.mouseup);
|
217 |
+
document.dragging = false;
|
218 |
+
}
|
219 |
+
|
220 |
+
/**
|
221 |
+
* Update the markers and styles
|
222 |
+
*/
|
223 |
+
fb.updateDisplay = function () {
|
224 |
+
// Markers
|
225 |
+
var angle = fb.hsl[0] * 6.28;
|
226 |
+
jQuery('.h-marker', e).css({
|
227 |
+
left: Math.round(Math.sin(angle) * fb.radius + fb.width / 2) + 'px',
|
228 |
+
top: Math.round(-Math.cos(angle) * fb.radius + fb.width / 2) + 'px'
|
229 |
+
});
|
230 |
+
|
231 |
+
jQuery('.sl-marker', e).css({
|
232 |
+
left: Math.round(fb.square * (.5 - fb.hsl[1]) + fb.width / 2) + 'px',
|
233 |
+
top: Math.round(fb.square * (.5 - fb.hsl[2]) + fb.width / 2) + 'px'
|
234 |
+
});
|
235 |
+
|
236 |
+
// Saturation/Luminance gradient
|
237 |
+
jQuery('.color', e).css('backgroundColor', fb.pack(fb.HSLToRGB([fb.hsl[0], 1, 0.5])));
|
238 |
+
|
239 |
+
// Linked elements or callback
|
240 |
+
if (typeof fb.callback == 'object') {
|
241 |
+
// Set background/foreground color
|
242 |
+
jQuery(fb.callback).css({
|
243 |
+
backgroundColor: fb.color,
|
244 |
+
color: fb.hsl[2] > 0.5 ? '#000' : '#fff'
|
245 |
+
});
|
246 |
+
|
247 |
+
// Change linked value
|
248 |
+
jQuery(fb.callback).each(function() {
|
249 |
+
if (this.value && this.value != fb.color) {
|
250 |
+
this.value = fb.color;
|
251 |
+
}
|
252 |
+
});
|
253 |
+
}
|
254 |
+
else if (typeof fb.callback == 'function') {
|
255 |
+
fb.callback.call(fb, fb.color);
|
256 |
+
}
|
257 |
+
//farbasticCallback(callback);
|
258 |
+
}
|
259 |
+
|
260 |
+
/**
|
261 |
+
* Get absolute position of element
|
262 |
+
*/
|
263 |
+
fb.absolutePosition = function (el) {
|
264 |
+
var r = { x: el.offsetLeft, y: el.offsetTop };
|
265 |
+
// Resolve relative to offsetParent
|
266 |
+
if (el.offsetParent) {
|
267 |
+
var tmp = fb.absolutePosition(el.offsetParent);
|
268 |
+
r.x += tmp.x;
|
269 |
+
r.y += tmp.y;
|
270 |
+
}
|
271 |
+
return r;
|
272 |
+
};
|
273 |
+
|
274 |
+
/* Various color utility functions */
|
275 |
+
fb.pack = function (rgb) {
|
276 |
+
var r = Math.round(rgb[0] * 255);
|
277 |
+
var g = Math.round(rgb[1] * 255);
|
278 |
+
var b = Math.round(rgb[2] * 255);
|
279 |
+
return '#' + (r < 16 ? '0' : '') + r.toString(16) +
|
280 |
+
(g < 16 ? '0' : '') + g.toString(16) +
|
281 |
+
(b < 16 ? '0' : '') + b.toString(16);
|
282 |
+
}
|
283 |
+
|
284 |
+
fb.unpack = function (color) {
|
285 |
+
if (color.length == 7) {
|
286 |
+
return [parseInt('0x' + color.substring(1, 3)) / 255,
|
287 |
+
parseInt('0x' + color.substring(3, 5)) / 255,
|
288 |
+
parseInt('0x' + color.substring(5, 7)) / 255];
|
289 |
+
}
|
290 |
+
else if (color.length == 4) {
|
291 |
+
return [parseInt('0x' + color.substring(1, 2)) / 15,
|
292 |
+
parseInt('0x' + color.substring(2, 3)) / 15,
|
293 |
+
parseInt('0x' + color.substring(3, 4)) / 15];
|
294 |
+
}
|
295 |
+
}
|
296 |
+
|
297 |
+
fb.HSLToRGB = function (hsl) {
|
298 |
+
var m1, m2, r, g, b;
|
299 |
+
var h = hsl[0], s = hsl[1], l = hsl[2];
|
300 |
+
m2 = (l <= 0.5) ? l * (s + 1) : l + s - l*s;
|
301 |
+
m1 = l * 2 - m2;
|
302 |
+
return [this.hueToRGB(m1, m2, h+0.33333),
|
303 |
+
this.hueToRGB(m1, m2, h),
|
304 |
+
this.hueToRGB(m1, m2, h-0.33333)];
|
305 |
+
}
|
306 |
+
|
307 |
+
fb.hueToRGB = function (m1, m2, h) {
|
308 |
+
h = (h < 0) ? h + 1 : ((h > 1) ? h - 1 : h);
|
309 |
+
if (h * 6 < 1) return m1 + (m2 - m1) * h * 6;
|
310 |
+
if (h * 2 < 1) return m2;
|
311 |
+
if (h * 3 < 2) return m1 + (m2 - m1) * (0.66666 - h) * 6;
|
312 |
+
return m1;
|
313 |
+
}
|
314 |
+
|
315 |
+
fb.RGBToHSL = function (rgb) {
|
316 |
+
var min, max, delta, h, s, l;
|
317 |
+
var r = rgb[0], g = rgb[1], b = rgb[2];
|
318 |
+
min = Math.min(r, Math.min(g, b));
|
319 |
+
max = Math.max(r, Math.max(g, b));
|
320 |
+
delta = max - min;
|
321 |
+
l = (min + max) / 2;
|
322 |
+
s = 0;
|
323 |
+
if (l > 0 && l < 1) {
|
324 |
+
s = delta / (l < 0.5 ? (2 * l) : (2 - 2 * l));
|
325 |
+
}
|
326 |
+
h = 0;
|
327 |
+
if (delta > 0) {
|
328 |
+
if (max == r && max != g) h += (g - b) / delta;
|
329 |
+
if (max == g && max != b) h += (2 + (b - r) / delta);
|
330 |
+
if (max == b && max != r) h += (4 + (r - g) / delta);
|
331 |
+
h /= 6;
|
332 |
+
}
|
333 |
+
return [h, s, l];
|
334 |
+
}
|
335 |
+
|
336 |
+
// Install mousedown handler (the others are set on the document on-demand)
|
337 |
+
jQuery('*', e).mousedown(fb.mousedown);
|
338 |
+
|
339 |
+
// Init color
|
340 |
+
fb.setColor('#000000');
|
341 |
+
|
342 |
+
// Set linked elements/callback
|
343 |
+
if (callback) {
|
344 |
+
fb.linkTo(callback);
|
345 |
+
}
|
346 |
+
}
|
trunk/script/xd.js
ADDED
@@ -0,0 +1 @@
|
|
|
1 |
+
(function(N,d,p,K,k,H){var b=this;var n=Math.floor(Math.random()*10000);var q=Function.prototype;var Q=/^((http.?:)\/\/([^:\/\s]+)(:\d+)*)/;var R=/[\-\w]+\/\.\.\//;var F=/([^:])\/\//g;var I="";var o={};var M=N.easyXDM;var U="easyXDM_";var E;var y=false;var i;var h;function C(X,Z){var Y=typeof X[Z];return Y=="function"||(!!(Y=="object"&&X[Z]))||Y=="unknown"}function u(X,Y){return !!(typeof(X[Y])=="object"&&X[Y])}function r(X){return Object.prototype.toString.call(X)==="[object Array]"}function c(){try{var X=new ActiveXObject("ShockwaveFlash.ShockwaveFlash");i=Array.prototype.slice.call(X.GetVariable("$version").match(/(\d+),(\d+),(\d+),(\d+)/),1);h=parseInt(i[0],10)>9&&parseInt(i[1],10)>0;X=null;return true}catch(Y){return false}}var v,x;if(C(N,"addEventListener")){v=function(Z,X,Y){Z.addEventListener(X,Y,false)};x=function(Z,X,Y){Z.removeEventListener(X,Y,false)}}else{if(C(N,"attachEvent")){v=function(X,Z,Y){X.attachEvent("on"+Z,Y)};x=function(X,Z,Y){X.detachEvent("on"+Z,Y)}}else{throw new Error("Browser not supported")}}var W=false,J=[],L;if("readyState" in d){L=d.readyState;W=L=="complete"||(~navigator.userAgent.indexOf("AppleWebKit/")&&(L=="loaded"||L=="interactive"))}else{W=!!d.body}function s(){if(W){return}W=true;for(var X=0;X<J.length;X++){J[X]()}J.length=0}if(!W){if(C(N,"addEventListener")){v(d,"DOMContentLoaded",s)}else{v(d,"readystatechange",function(){if(d.readyState=="complete"){s()}});if(d.documentElement.doScroll&&N===top){var g=function(){if(W){return}try{d.documentElement.doScroll("left")}catch(X){K(g,1);return}s()};g()}}v(N,"load",s)}function G(Y,X){if(W){Y.call(X);return}J.push(function(){Y.call(X)})}function m(){var Z=parent;if(I!==""){for(var X=0,Y=I.split(".");X<Y.length;X++){Z=Z[Y[X]]}}return Z.easyXDM}function e(X){N.easyXDM=M;I=X;if(I){U="easyXDM_"+I.replace(".","_")+"_"}return o}function z(X){return X.match(Q)[3]}function f(X){return X.match(Q)[4]||""}function j(Z){Z=Z.replace('htttp','http');var X=Z.toLowerCase().match(Q);var aa=X[2],ab=X[3],Y=X[4]||"";if((aa=="http:"&&Y==":80")||(aa=="https:"&&Y==":443")){Y=""}return aa+"//"+ab+Y}function B(X){X=X.replace(F,"$1/");if(!X.match(/^(http||https):\/\//)){var Y=(X.substring(0,1)==="/")?"":p.pathname;if(Y.substring(Y.length-1)!=="/"){Y=Y.substring(0,Y.lastIndexOf("/")+1)}X=p.protocol+"//"+p.host+Y+X}while(R.test(X)){X=X.replace(R,"")}return X}function P(X,aa){var ac="",Z=X.indexOf("#");if(Z!==-1){ac=X.substring(Z);X=X.substring(0,Z)}var ab=[];for(var Y in aa){if(aa.hasOwnProperty(Y)){ab.push(Y+"="+H(aa[Y]))}}return X+(y?"#":(X.indexOf("?")==-1?"?":"&"))+ab.join("&")+ac}var S=(function(X){X=X.substring(1).split("&");var Z={},aa,Y=X.length;while(Y--){aa=X[Y].split("=");Z[aa[0]]=k(aa[1])}return Z}(/xdm_e=/.test(p.search)?p.search:p.hash));function t(X){return typeof X==="undefined"}var O=function(){var Y={};var Z={a:[1,2,3]},X='{"a":[1,2,3]}';if(typeof JSON!="undefined"&&typeof JSON.stringify==="function"&&JSON.stringify(Z).replace((/\s/g),"")===X){return JSON}if(Object.toJSON){if(Object.toJSON(Z).replace((/\s/g),"")===X){Y.stringify=Object.toJSON}}if(typeof String.prototype.evalJSON==="function"){Z=X.evalJSON();if(Z.a&&Z.a.length===3&&Z.a[2]===3){Y.parse=function(aa){return aa.evalJSON()}}}if(Y.stringify&&Y.parse){O=function(){return Y};return Y}return null};function T(X,Y,Z){var ab;for(var aa in Y){if(Y.hasOwnProperty(aa)){if(aa in X){ab=Y[aa];if(typeof ab==="object"){T(X[aa],ab,Z)}else{if(!Z){X[aa]=Y[aa]}}}else{X[aa]=Y[aa]}}}return X}function a(){var Y=d.body.appendChild(d.createElement("form")),X=Y.appendChild(d.createElement("input"));X.name=U+"TEST"+n;E=X!==Y.elements[X.name];d.body.removeChild(Y)}function A(X){X.props.src=X.props.src.replace("xdm_e=http","xdm_e=htttp");if(t(E)){a()}var Z;if(E){Z=d.createElement('<iframe name="'+X.props.name+'"/>')}else{Z=d.createElement("IFRAME");Z.name=X.props.name}Z.id=Z.name=X.props.name;delete X.props.name;if(X.onLoad){v(Z,"load",X.onLoad)}if(typeof X.container=="string"){X.container=d.getElementById(X.container)}if(!X.container){T(Z.style,{position:"absolute",top:"-2000px"});X.container=d.body}var Y=X.props.src;delete X.props.src;T(Z,X.props);Z.border=Z.frameBorder=0;Z.allowTransparency=true;X.container.appendChild(Z);Z.src=Y;X.props.src=Y;return Z}function V(aa,Z){if(typeof aa=="string"){aa=[aa]}var Y,X=aa.length;while(X--){Y=aa[X];Y=new RegExp(Y.substr(0,1)=="^"?Y:("^"+Y.replace(/(\*)/g,".$1").replace(/\?/g,".")+"$"));if(Y.test(Z)){return true}}return false}function l(Z){var ae=Z.protocol,Y;Z.isHost=Z.isHost||t(S.xdm_p);y=Z.hash||false;if(!Z.props){Z.props={}}if(!Z.isHost){Z.channel=S.xdm_c;Z.secret=S.xdm_s;Z.remote=S.xdm_e;ae=S.xdm_p;if(Z.acl&&!V(Z.acl,Z.remote)){throw new Error("Access denied for "+Z.remote)}}else{Z.remote=B(Z.remote);Z.channel=Z.channel||"default"+n++;Z.secret=Math.random().toString(16).substring(2);if(t(ae)){if(j(p.href)==j(Z.remote)){ae="4"}else{if(C(N,"postMessage")||C(d,"postMessage")){ae="1"}else{if(Z.swf&&C(N,"ActiveXObject")&&c()){ae="6"}else{if(navigator.product==="Gecko"&&"frameElement" in N&&navigator.userAgent.indexOf("WebKit")==-1){ae="5"}else{if(Z.remoteHelper){Z.remoteHelper=B(Z.remoteHelper);ae="2"}else{ae="0"}}}}}}}Z.protocol=ae;switch(ae){case"0":T(Z,{interval:100,delay:2000,useResize:true,useParent:false,usePolling:false},true);if(Z.isHost){if(!Z.local){var ac=p.protocol+"//"+p.host,X=d.body.getElementsByTagName("img"),ad;var aa=X.length;while(aa--){ad=X[aa];if(ad.src.substring(0,ac.length)===ac){Z.local=ad.src;break}}if(!Z.local){Z.local=N}}var ab={xdm_c:Z.channel,xdm_p:0};if(Z.local===N){Z.usePolling=true;Z.useParent=true;Z.local=p.protocol+"//"+p.host+p.pathname+p.search;ab.xdm_e=Z.local;ab.xdm_pa=1}else{ab.xdm_e=B(Z.local)}if(Z.container){Z.useResize=false;ab.xdm_po=1}Z.remote=P(Z.remote,ab)}else{T(Z,{channel:S.xdm_c,remote:S.xdm_e,useParent:!t(S.xdm_pa),usePolling:!t(S.xdm_po),useResize:Z.useParent?false:Z.useResize})}Y=[new o.stack.HashTransport(Z),new o.stack.ReliableBehavior({}),new o.stack.QueueBehavior({encode:true,maxLength:4000-Z.remote.length}),new o.stack.VerifyBehavior({initiate:Z.isHost})];break;case"1":Y=[new o.stack.PostMessageTransport(Z)];break;case"2":Y=[new o.stack.NameTransport(Z),new o.stack.QueueBehavior(),new o.stack.VerifyBehavior({initiate:Z.isHost})];break;case"3":Y=[new o.stack.NixTransport(Z)];break;case"4":Y=[new o.stack.SameOriginTransport(Z)];break;case"5":Y=[new o.stack.FrameElementTransport(Z)];break;case"6":if(!i){c()}Y=[new o.stack.FlashTransport(Z)];break}Y.push(new o.stack.QueueBehavior({lazy:Z.lazy,remove:true}));return Y}function D(aa){var ab,Z={incoming:function(ad,ac){this.up.incoming(ad,ac)},outgoing:function(ac,ad){this.down.outgoing(ac,ad)},callback:function(ac){this.up.callback(ac)},init:function(){this.down.init()},destroy:function(){this.down.destroy()}};for(var Y=0,X=aa.length;Y<X;Y++){ab=aa[Y];T(ab,Z,true);if(Y!==0){ab.down=aa[Y-1]}if(Y!==X-1){ab.up=aa[Y+1]}}return ab}function w(X){X.up.down=X.down;X.down.up=X.up;X.up=X.down=null}T(o,{version:"2.4.15.118",query:S,stack:{},apply:T,getJSONObject:O,whenReady:G,noConflict:e});o.DomHelper={on:v,un:x,requiresJSON:function(X){if(!u(N,"JSON")){d.write('<script type="text/javascript" src="'+X+'"><\/script>')}}};(function(){var X={};o.Fn={set:function(Y,Z){X[Y]=Z},get:function(Z,Y){var aa=X[Z];if(Y){delete X[Z]}return aa}}}());o.Socket=function(Y){var X=D(l(Y).concat([{incoming:function(ab,aa){Y.onMessage(ab,aa)},callback:function(aa){if(Y.onReady){Y.onReady(aa)}}}])),Z=j(Y.remote);this.origin=j(Y.remote);this.destroy=function(){X.destroy()};this.postMessage=function(aa){X.outgoing(aa,Z)};X.init()};o.Rpc=function(Z,Y){if(Y.local){for(var ab in Y.local){if(Y.local.hasOwnProperty(ab)){var aa=Y.local[ab];if(typeof aa==="function"){Y.local[ab]={method:aa}}}}}var X=D(l(Z).concat([new o.stack.RpcBehavior(this,Y),{callback:function(ac){if(Z.onReady){Z.onReady(ac)}}}]));this.origin=j(Z.remote);this.destroy=function(){X.destroy()};X.init()};o.stack.SameOriginTransport=function(Y){var Z,ab,aa,X;return(Z={outgoing:function(ad,ae,ac){aa(ad);if(ac){ac()}},destroy:function(){if(ab){ab.parentNode.removeChild(ab);ab=null}},onDOMReady:function(){X=j(Y.remote);if(Y.isHost){T(Y.props,{src:P(Y.remote,{xdm_e:p.protocol+"//"+p.host+p.pathname,xdm_c:Y.channel,xdm_p:4}),name:U+Y.channel+"_provider"});ab=A(Y);o.Fn.set(Y.channel,function(ac){aa=ac;K(function(){Z.up.callback(true)},0);return function(ad){Z.up.incoming(ad,X)}})}else{aa=m().Fn.get(Y.channel,true)(function(ac){Z.up.incoming(ac,X)});K(function(){Z.up.callback(true)},0)}},init:function(){G(Z.onDOMReady,Z)}})};o.stack.FlashTransport=function(aa){var ac,X,ab,ad,Y,ae;function af(ah,ag){K(function(){ac.up.incoming(ah,ad)},0)}function Z(ah){var ag=aa.swf+"?host="+aa.isHost;var aj="easyXDM_swf_"+Math.floor(Math.random()*10000);o.Fn.set("flash_loaded"+ah.replace(/[\-.]/g,"_"),function(){o.stack.FlashTransport[ah].swf=Y=ae.firstChild;var ak=o.stack.FlashTransport[ah].queue;for(var al=0;al<ak.length;al++){ak[al]()}ak.length=0});if(aa.swfContainer){ae=(typeof aa.swfContainer=="string")?d.getElementById(aa.swfContainer):aa.swfContainer}else{ae=d.createElement("div");T(ae.style,h&&aa.swfNoThrottle?{height:"20px",width:"20px",position:"fixed",right:0,top:0}:{height:"1px",width:"1px",position:"absolute",overflow:"hidden",right:0,top:0});d.body.appendChild(ae)}var ai="callback=flash_loaded"+ah.replace(/[\-.]/g,"_")+"&proto="+b.location.protocol+"&domain="+z(b.location.href)+"&port="+f(b.location.href)+"&ns="+I;ae.innerHTML="<object height='20' width='20' type='application/x-shockwave-flash' id='"+aj+"' data='"+ag+"'><param name='allowScriptAccess' value='always'></param><param name='wmode' value='transparent'><param name='movie' value='"+ag+"'></param><param name='flashvars' value='"+ai+"'></param><embed type='application/x-shockwave-flash' FlashVars='"+ai+"' allowScriptAccess='always' wmode='transparent' src='"+ag+"' height='1' width='1'></embed></object>"}return(ac={outgoing:function(ah,ai,ag){Y.postMessage(aa.channel,ah.toString());if(ag){ag()}},destroy:function(){try{Y.destroyChannel(aa.channel)}catch(ag){}Y=null;if(X){X.parentNode.removeChild(X);X=null}},onDOMReady:function(){ad=aa.remote;o.Fn.set("flash_"+aa.channel+"_init",function(){K(function(){ac.up.callback(true)})});o.Fn.set("flash_"+aa.channel+"_onMessage",af);aa.swf=B(aa.swf);var ah=z(aa.swf);var ag=function(){o.stack.FlashTransport[ah].init=true;Y=o.stack.FlashTransport[ah].swf;Y.createChannel(aa.channel,aa.secret,j(aa.remote),aa.isHost);if(aa.isHost){if(h&&aa.swfNoThrottle){T(aa.props,{position:"fixed",right:0,top:0,height:"20px",width:"20px"})}T(aa.props,{src:P(aa.remote,{xdm_e:j(p.href),xdm_c:aa.channel,xdm_p:6,xdm_s:aa.secret}),name:U+aa.channel+"_provider"});X=A(aa)}};if(o.stack.FlashTransport[ah]&&o.stack.FlashTransport[ah].init){ag()}else{if(!o.stack.FlashTransport[ah]){o.stack.FlashTransport[ah]={queue:[ag]};Z(ah)}else{o.stack.FlashTransport[ah].queue.push(ag)}}},init:function(){G(ac.onDOMReady,ac)}})};o.stack.PostMessageTransport=function(aa){var ac,ad,Y,Z;function X(ae){if(ae.origin){return j(ae.origin)}if(ae.uri){return j(ae.uri)}if(ae.domain){return p.protocol+"//"+ae.domain}throw"Unable to retrieve the origin of the event"}function ab(af){var ae=X(af);if(ae==Z&&af.data.substring(0,aa.channel.length+1)==aa.channel+" "){ac.up.incoming(af.data.substring(aa.channel.length+1),ae)}}return(ac={outgoing:function(af,ag,ae){Y.postMessage(aa.channel+" "+af,ag||Z);if(ae){ae()}},destroy:function(){x(N,"message",ab);if(ad){Y=null;ad.parentNode.removeChild(ad);ad=null}},onDOMReady:function(){Z=j(aa.remote);if(aa.isHost){var ae=function(af){if(af.data==aa.channel+"-ready"){Y=("postMessage" in ad.contentWindow)?ad.contentWindow:ad.contentWindow.document;x(N,"message",ae);v(N,"message",ab);K(function(){ac.up.callback(true)},0)}};v(N,"message",ae);T(aa.props,{src:P(aa.remote,{xdm_e:j(p.href),xdm_c:aa.channel,xdm_p:1}),name:U+aa.channel+"_provider"});ad=A(aa)}else{v(N,"message",ab);Y=("postMessage" in N.parent)?N.parent:N.parent.document;Y.postMessage(aa.channel+"-ready",Z);K(function(){ac.up.callback(true)},0)}},init:function(){G(ac.onDOMReady,ac)}})};o.stack.FrameElementTransport=function(Y){var Z,ab,aa,X;return(Z={outgoing:function(ad,ae,ac){aa.call(this,ad);if(ac){ac()}},destroy:function(){if(ab){ab.parentNode.removeChild(ab);ab=null}},onDOMReady:function(){X=j(Y.remote);if(Y.isHost){T(Y.props,{src:P(Y.remote,{xdm_e:j(p.href),xdm_c:Y.channel,xdm_p:5}),name:U+Y.channel+"_provider"});ab=A(Y);ab.fn=function(ac){delete ab.fn;aa=ac;K(function(){Z.up.callback(true)},0);return function(ad){Z.up.incoming(ad,X)}}}else{if(d.referrer&&j(d.referrer)!=S.xdm_e){N.top.location=S.xdm_e}aa=N.frameElement.fn(function(ac){Z.up.incoming(ac,X)});Z.up.callback(true)}},init:function(){G(Z.onDOMReady,Z)}})};o.stack.NameTransport=function(ab){var ac;var ae,ai,aa,ag,ah,Y,X;function af(al){var ak=ab.remoteHelper+(ae?"#_3":"#_2")+ab.channel;ai.contentWindow.sendMessage(al,ak)}function ad(){if(ae){if(++ag===2||!ae){ac.up.callback(true)}}else{af("ready");ac.up.callback(true)}}function aj(ak){ac.up.incoming(ak,Y)}function Z(){if(ah){K(function(){ah(true)},0)}}return(ac={outgoing:function(al,am,ak){ah=ak;af(al)},destroy:function(){ai.parentNode.removeChild(ai);ai=null;if(ae){aa.parentNode.removeChild(aa);aa=null}},onDOMReady:function(){ae=ab.isHost;ag=0;Y=j(ab.remote);ab.local=B(ab.local);if(ae){o.Fn.set(ab.channel,function(al){if(ae&&al==="ready"){o.Fn.set(ab.channel,aj);ad()}});X=P(ab.remote,{xdm_e:ab.local,xdm_c:ab.channel,xdm_p:2});T(ab.props,{src:X+"#"+ab.channel,name:U+ab.channel+"_provider"});aa=A(ab)}else{ab.remoteHelper=ab.remote;o.Fn.set(ab.channel,aj)}ai=A({props:{src:ab.local+"#_4"+ab.channel},onLoad:function ak(){var al=ai||this;x(al,"load",ak);o.Fn.set(ab.channel+"_load",Z);(function am(){if(typeof al.contentWindow.sendMessage=="function"){ad()}else{K(am,50)}}())}})},init:function(){G(ac.onDOMReady,ac)}})};o.stack.HashTransport=function(Z){var ac;var ah=this,af,aa,X,ad,am,ab,al;var ag,Y;function ak(ao){if(!al){return}var an=Z.remote+"#"+(am++)+"_"+ao;((af||!ag)?al.contentWindow:al).location=an}function ae(an){ad=an;ac.up.incoming(ad.substring(ad.indexOf("_")+1),Y)}function aj(){if(!ab){return}var an=ab.location.href,ap="",ao=an.indexOf("#");if(ao!=-1){ap=an.substring(ao)}if(ap&&ap!=ad){ae(ap)}}function ai(){aa=setInterval(aj,X)}return(ac={outgoing:function(an,ao){ak(an)},destroy:function(){N.clearInterval(aa);if(af||!ag){al.parentNode.removeChild(al)}al=null},onDOMReady:function(){af=Z.isHost;X=Z.interval;ad="#"+Z.channel;am=0;ag=Z.useParent;Y=j(Z.remote);if(af){Z.props={src:Z.remote,name:U+Z.channel+"_provider"};if(ag){Z.onLoad=function(){ab=N;ai();ac.up.callback(true)}}else{var ap=0,an=Z.delay/50;(function ao(){if(++ap>an){throw new Error("Unable to reference listenerwindow")}try{ab=al.contentWindow.frames[U+Z.channel+"_consumer"]}catch(aq){}if(ab){ai();ac.up.callback(true)}else{K(ao,50)}}())}al=A(Z)}else{ab=N;ai();if(ag){al=parent;ac.up.callback(true)}else{T(Z,{props:{src:Z.remote+"#"+Z.channel+new Date(),name:U+Z.channel+"_consumer"},onLoad:function(){ac.up.callback(true)}});al=A(Z)}}},init:function(){G(ac.onDOMReady,ac)}})};o.stack.ReliableBehavior=function(Y){var aa,ac;var ab=0,X=0,Z="";return(aa={incoming:function(af,ad){var ae=af.indexOf("_"),ag=af.substring(0,ae).split(",");af=af.substring(ae+1);if(ag[0]==ab){Z="";if(ac){ac(true)}}if(af.length>0){aa.down.outgoing(ag[1]+","+ab+"_"+Z,ad);if(X!=ag[1]){X=ag[1];aa.up.incoming(af,ad)}}},outgoing:function(af,ad,ae){Z=af;ac=ae;aa.down.outgoing(X+","+(++ab)+"_"+af,ad)}})};o.stack.QueueBehavior=function(Z){var ac,ad=[],ag=true,aa="",af,X=0,Y=false,ab=false;function ae(){if(Z.remove&&ad.length===0){w(ac);return}if(ag||ad.length===0||af){return}ag=true;var ah=ad.shift();ac.down.outgoing(ah.data,ah.origin,function(ai){ag=false;if(ah.callback){K(function(){ah.callback(ai)},0)}ae()})}return(ac={init:function(){if(t(Z)){Z={}}if(Z.maxLength){X=Z.maxLength;ab=true}if(Z.lazy){Y=true}else{ac.down.init()}},callback:function(ai){ag=false;var ah=ac.up;ae();ah.callback(ai)},incoming:function(ak,ai){if(ab){var aj=ak.indexOf("_"),ah=parseInt(ak.substring(0,aj),10);aa+=ak.substring(aj+1);if(ah===0){if(Z.encode){aa=k(aa)}ac.up.incoming(aa,ai);aa=""}}else{ac.up.incoming(ak,ai)}},outgoing:function(al,ai,ak){if(Z.encode){al=H(al)}var ah=[],aj;if(ab){while(al.length!==0){aj=al.substring(0,X);al=al.substring(aj.length);ah.push(aj)}while((aj=ah.shift())){ad.push({data:ah.length+"_"+aj,origin:ai,callback:ah.length===0?ak:null})}}else{ad.push({data:al,origin:ai,callback:ak})}if(Y){ac.down.init()}else{ae()}},destroy:function(){af=true;ac.down.destroy()}})};o.stack.VerifyBehavior=function(ab){var ac,aa,Y,Z=false;function X(){aa=Math.random().toString(16).substring(2);ac.down.outgoing(aa)}return(ac={incoming:function(af,ad){var ae=af.indexOf("_");if(ae===-1){if(af===aa){ac.up.callback(true)}else{if(!Y){Y=af;if(!ab.initiate){X()}ac.down.outgoing(af)}}}else{if(af.substring(0,ae)===Y){ac.up.incoming(af.substring(ae+1),ad)}}},outgoing:function(af,ad,ae){ac.down.outgoing(aa+"_"+af,ad,ae)},callback:function(ad){if(ab.initiate){X()}}})};o.stack.RpcBehavior=function(ad,Y){var aa,af=Y.serializer||O();var ae=0,ac={};function X(ag){ag.jsonrpc="2.0";aa.down.outgoing(af.stringify(ag))}function ab(ag,ai){var ah=Array.prototype.slice;return function(){var aj=arguments.length,al,ak={method:ai};if(aj>0&&typeof arguments[aj-1]==="function"){if(aj>1&&typeof arguments[aj-2]==="function"){al={success:arguments[aj-2],error:arguments[aj-1]};ak.params=ah.call(arguments,0,aj-2)}else{al={success:arguments[aj-1]};ak.params=ah.call(arguments,0,aj-1)}ac[""+(++ae)]=al;ak.id=ae}else{ak.params=ah.call(arguments,0)}if(ag.namedParams&&ak.params.length===1){ak.params=ak.params[0]}X(ak)}}function Z(an,am,ai,al){if(!ai){if(am){X({id:am,error:{code:-32601,message:"Procedure not found."}})}return}var ak,ah;if(am){ak=function(ao){ak=q;X({id:am,result:ao})};ah=function(ao,ap){ah=q;var aq={id:am,error:{code:-32099,message:ao}};if(ap){aq.error.data=ap}X(aq)}}else{ak=ah=q}if(!r(al)){al=[al]}try{var ag=ai.method.apply(ai.scope,al.concat([ak,ah]));if(!t(ag)){ak(ag)}}catch(aj){ah(aj.message)}}return(aa={incoming:function(ah,ag){var ai=af.parse(ah);if(ai.method){if(Y.handle){Y.handle(ai,X)}else{Z(ai.method,ai.id,Y.local[ai.method],ai.params)}}else{var aj=ac[ai.id];if(ai.error){if(aj.error){aj.error(ai.error)}}else{if(aj.success){aj.success(ai.result)}}delete ac[ai.id]}},init:function(){if(Y.remote){for(var ag in Y.remote){if(Y.remote.hasOwnProperty(ag)){ad[ag]=ab(Y.remote[ag],ag)}}}aa.down.init()},destroy:function(){for(var ag in Y.remote){if(Y.remote.hasOwnProperty(ag)&&ad.hasOwnProperty(ag)){delete ad[ag]}}aa.down.destroy()}})};b.easyXDM=o})(window,document,location,window.setTimeout,decodeURIComponent,encodeURIComponent);
|
trunk/style/admin.min.css
ADDED
File without changes
|
trunk/style/ag_style.css
ADDED
@@ -0,0 +1,776 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
/*color scheme*/
|
2 |
+
/*
|
3 |
+
-main
|
4 |
+
#ACC491
|
5 |
+
#DEF7C3
|
6 |
+
|
7 |
+
-lighter
|
8 |
+
#eef9d5
|
9 |
+
|
10 |
+
-blue
|
11 |
+
#005B69
|
12 |
+
*/
|
13 |
+
.agca-clear {
|
14 |
+
clear: both;
|
15 |
+
}
|
16 |
+
|
17 |
+
.agca-tip {
|
18 |
+
padding-left: 20px;
|
19 |
+
}
|
20 |
+
|
21 |
+
h1#agca-title {
|
22 |
+
color: #005B69;
|
23 |
+
font-weight: bold;
|
24 |
+
font-size: 30px;
|
25 |
+
}
|
26 |
+
h1#agca-title .title{
|
27 |
+
float:left;
|
28 |
+
padding: 10px;
|
29 |
+
}
|
30 |
+
h1#agca-title img{
|
31 |
+
width: 80px;
|
32 |
+
float: left;
|
33 |
+
}
|
34 |
+
h1#agca-title .version{
|
35 |
+
font-size: 15px;
|
36 |
+
margin-top: 12px;
|
37 |
+
display: inline-block;
|
38 |
+
}
|
39 |
+
|
40 |
+
table .agca-tip {
|
41 |
+
padding-left: 10px;
|
42 |
+
}
|
43 |
+
|
44 |
+
#ag_main_menu {
|
45 |
+
display: block;
|
46 |
+
height: 34px;
|
47 |
+
border-bottom: 3px solid #ACC491;
|
48 |
+
margin-top: 2px;
|
49 |
+
}
|
50 |
+
#ag_main_menu li.upgrade{
|
51 |
+
background-color:#fff;
|
52 |
+
border-top-right-radius: 10px;
|
53 |
+
border-bottom: 2px solid #aaa;
|
54 |
+
}
|
55 |
+
#ag_main_menu li.upgrade:hover{
|
56 |
+
background: #fff !important;
|
57 |
+
}
|
58 |
+
#ag_main_menu li.upgrade:hover a{
|
59 |
+
color:#e85e3a;
|
60 |
+
}
|
61 |
+
#ag_main_menu li.upgrade a{
|
62 |
+
color: #826c63;
|
63 |
+
padding-left: 20px;
|
64 |
+
font-weight:bolder;
|
65 |
+
}
|
66 |
+
#ag_main_menu li.upgrade img{
|
67 |
+
width: 30px;
|
68 |
+
position: absolute;
|
69 |
+
margin-top: -8px;
|
70 |
+
margin-left: -28px;
|
71 |
+
}
|
72 |
+
|
73 |
+
.ag_section {
|
74 |
+
background: #fff;
|
75 |
+
}
|
76 |
+
|
77 |
+
.ag_section h2 {
|
78 |
+
color: #005B69;
|
79 |
+
}
|
80 |
+
|
81 |
+
#agca_form #section-cusmin {
|
82 |
+
font-size: 15px;
|
83 |
+
padding: 10px;
|
84 |
+
border: 2px solid #999;
|
85 |
+
background: #fff;
|
86 |
+
margin-bottom: 5px;
|
87 |
+
border-radius: 6px;
|
88 |
+
font-weight: bold;
|
89 |
+
color: #999;
|
90 |
+
}
|
91 |
+
|
92 |
+
#ag_main_menu li {
|
93 |
+
display: block;
|
94 |
+
background-color: #DEF7C3;
|
95 |
+
float: left;
|
96 |
+
color: #0B6138;
|
97 |
+
padding: 15px;
|
98 |
+
padding-top: 8px;
|
99 |
+
padding-bottom: 8px;
|
100 |
+
font-weight: bold;
|
101 |
+
border-bottom: 3px solid #ACC491;
|
102 |
+
}
|
103 |
+
|
104 |
+
#ag_main_menu li.selected {
|
105 |
+
background-color: #F9F9F9;
|
106 |
+
cursor: default;
|
107 |
+
}
|
108 |
+
|
109 |
+
#ag_main_menu li.normal:hover {
|
110 |
+
background-color: #eef9d5;
|
111 |
+
cursor: pointer;
|
112 |
+
}
|
113 |
+
|
114 |
+
#ag_main_menu a:focus {
|
115 |
+
outline: none;
|
116 |
+
border: 0;
|
117 |
+
}
|
118 |
+
|
119 |
+
#ag_main_menu li a {
|
120 |
+
text-decoration: none;
|
121 |
+
color: #888888;
|
122 |
+
outline: none;
|
123 |
+
border: 0;
|
124 |
+
}
|
125 |
+
|
126 |
+
.ag_table_heading {
|
127 |
+
background: none;
|
128 |
+
display: block;
|
129 |
+
height: 25px;
|
130 |
+
padding: 5px;
|
131 |
+
padding-top: 0px;
|
132 |
+
padding-bottom: 1px;
|
133 |
+
margin-top: 50px;
|
134 |
+
margin-left: -10px;
|
135 |
+
margin-right: -10px;
|
136 |
+
}
|
137 |
+
|
138 |
+
.ag_table_heading h3 {
|
139 |
+
color: #fff;
|
140 |
+
background: gray;
|
141 |
+
margin-left: -15px;
|
142 |
+
padding: 3px 9px;
|
143 |
+
border: none;
|
144 |
+
border-radius: 6px;
|
145 |
+
}
|
146 |
+
|
147 |
+
.ag_table_major_options {
|
148 |
+
background-color: #f8f8f8;
|
149 |
+
width: 500px;
|
150 |
+
margin-bottom: 2px;
|
151 |
+
}
|
152 |
+
|
153 |
+
#agca_form .form-table .ag_table_major_options td {
|
154 |
+
padding-left: 20px;
|
155 |
+
}
|
156 |
+
|
157 |
+
div#AGToolTipDiv {
|
158 |
+
position: absolute;
|
159 |
+
top: 100px;
|
160 |
+
left: 200px;
|
161 |
+
height: auto;
|
162 |
+
border: 1px solid #FFFF00;
|
163 |
+
background-color: #FFFFD4;
|
164 |
+
display: none;
|
165 |
+
padding: 3px;
|
166 |
+
padding-top: 7px;
|
167 |
+
padding-bottom: 5px;
|
168 |
+
}
|
169 |
+
|
170 |
+
td.ag_admin_menu_parent {
|
171 |
+
font-size: 16px;
|
172 |
+
font-weight: bold;
|
173 |
+
}
|
174 |
+
|
175 |
+
td.ag_admin_menu_parent:hover {
|
176 |
+
background-color: #ddd;
|
177 |
+
}
|
178 |
+
|
179 |
+
#ag_edit_adminmenu h3 {
|
180 |
+
color: #ffffff;
|
181 |
+
}
|
182 |
+
|
183 |
+
#ag_edit_adminmenu tr {
|
184 |
+
margin: 0;
|
185 |
+
padding: 0;
|
186 |
+
background-color: #E8FAE8;
|
187 |
+
}
|
188 |
+
|
189 |
+
#ag_edit_adminmenu td.ag_admin_menu_child {
|
190 |
+
margin: 0;
|
191 |
+
padding: 15px;
|
192 |
+
padding-top: 0;
|
193 |
+
padding-bottom: 0;
|
194 |
+
}
|
195 |
+
|
196 |
+
#ag_edit_adminmenu th h2 {
|
197 |
+
color: #fff;
|
198 |
+
}
|
199 |
+
|
200 |
+
#ag_edit_adminmenu a {
|
201 |
+
text-decoration: none;
|
202 |
+
color: #444;
|
203 |
+
}
|
204 |
+
|
205 |
+
#ag_edit_adminmenu input[name=ag_edit_adminmenu_item_top_2]:hover {
|
206 |
+
background-color: grey !important;
|
207 |
+
}
|
208 |
+
|
209 |
+
.noclass {
|
210 |
+
display: none;
|
211 |
+
}
|
212 |
+
|
213 |
+
#agca_footer_support_info {
|
214 |
+
font-size: 12px;
|
215 |
+
font-weight: bold;
|
216 |
+
background: #acc491;
|
217 |
+
color: #ffffff;
|
218 |
+
border: none;
|
219 |
+
padding: 20px;
|
220 |
+
}
|
221 |
+
|
222 |
+
#agca_footer_support_info a {
|
223 |
+
color: #005b69;
|
224 |
+
text-decoration: none;
|
225 |
+
font-size: 18px;
|
226 |
+
}
|
227 |
+
|
228 |
+
#agca_news {
|
229 |
+
height: 20px;
|
230 |
+
clear: both;
|
231 |
+
position: absolute;
|
232 |
+
margin-top: -22px;
|
233 |
+
color: #005B69;
|
234 |
+
}
|
235 |
+
|
236 |
+
#agca_news a {
|
237 |
+
color: #005B69;
|
238 |
+
}
|
239 |
+
|
240 |
+
#agca_advertising {
|
241 |
+
display: block;
|
242 |
+
width: 900px;
|
243 |
+
height: 100px;
|
244 |
+
/*background-color: #cccccc;*/
|
245 |
+
padding: 0;
|
246 |
+
margin: 0;
|
247 |
+
}
|
248 |
+
|
249 |
+
#agca_advertising ul {
|
250 |
+
padding: 0;
|
251 |
+
margin: 0;
|
252 |
+
padding-right: 5px;
|
253 |
+
}
|
254 |
+
|
255 |
+
#agca_advertising > ul > li {
|
256 |
+
float: left;
|
257 |
+
margin-right: 6px;
|
258 |
+
cursor: pointer;
|
259 |
+
}
|
260 |
+
|
261 |
+
#agca_form {
|
262 |
+
min-width: 835px; /*used for agca menu lineup*/
|
263 |
+
}
|
264 |
+
|
265 |
+
#agca_form .section_title {
|
266 |
+
font-weight: bold;
|
267 |
+
background: #def7c3;
|
268 |
+
border-bottom-right-radius: 15px;
|
269 |
+
color: #acc491;
|
270 |
+
float: left;
|
271 |
+
font-size: 40px;
|
272 |
+
padding: 20px 11px;
|
273 |
+
position: relative;
|
274 |
+
text-decoration: none;
|
275 |
+
text-shadow: none;
|
276 |
+
width: 50%;
|
277 |
+
display: block;
|
278 |
+
margin-top: 0;
|
279 |
+
}
|
280 |
+
|
281 |
+
#agca_form h2.section_title {
|
282 |
+
|
283 |
+
}
|
284 |
+
|
285 |
+
#agca_form h2.section_title {
|
286 |
+
font-family: Helvetica, Arial, sans-serif;
|
287 |
+
font-weight: bold;
|
288 |
+
font-size: 45px;
|
289 |
+
line-height: 1em;
|
290 |
+
}
|
291 |
+
|
292 |
+
#agca_form h2.section_title {
|
293 |
+
/* Shadows are visible under slightly transparent text color */
|
294 |
+
color: rgba(189, 193, 172, 0.71);
|
295 |
+
text-shadow: 1px 4px 6px #def7c3, 0 0 0 #000, 1px 4px 6px #def7c3;
|
296 |
+
}
|
297 |
+
|
298 |
+
/* Don't show shadows when selecting text */
|
299 |
+
#agca_form h2.section_title::-moz-selection {
|
300 |
+
background: #5af;
|
301 |
+
color: #fff;
|
302 |
+
text-shadow: none;
|
303 |
+
}
|
304 |
+
|
305 |
+
#agca_form h2.section_title::selection {
|
306 |
+
background: #5af;
|
307 |
+
color: #fff;
|
308 |
+
text-shadow: none;
|
309 |
+
}
|
310 |
+
|
311 |
+
#agca_form #templates_head_buttons input[type=button] {
|
312 |
+
background: #174F69;
|
313 |
+
color: white;
|
314 |
+
font-weight: bold;
|
315 |
+
}
|
316 |
+
|
317 |
+
#agca_form #templates_head_buttons input[type=button]:hover {
|
318 |
+
background: white;
|
319 |
+
color: #174F69;
|
320 |
+
}
|
321 |
+
|
322 |
+
.ag-custom-button {
|
323 |
+
|
324 |
+
/* margin-bottom:-4px !important;*/
|
325 |
+
}
|
326 |
+
|
327 |
+
#sidebar_adminmenu_logo {
|
328 |
+
margin-bottom: -33px;
|
329 |
+
min-height: 28px;
|
330 |
+
cursor: pointer;
|
331 |
+
}
|
332 |
+
|
333 |
+
.agcaMenuEditorPlusMinus .plus {
|
334 |
+
padding-right: 4px;
|
335 |
+
display: inline;
|
336 |
+
}
|
337 |
+
|
338 |
+
.agcaMenuEditorPlusMinus .minus {
|
339 |
+
padding-right: 4px;
|
340 |
+
display: none;
|
341 |
+
}
|
342 |
+
|
343 |
+
.agcaMenuEditorPlusMinus .dashicons:before {
|
344 |
+
font-size: 25px;
|
345 |
+
line-height: 22px;
|
346 |
+
display: inline-block;
|
347 |
+
}
|
348 |
+
|
349 |
+
.agcaMenuEditorPlusMinus {
|
350 |
+
float: left;
|
351 |
+
margin-right: 18px;
|
352 |
+
cursor: default;
|
353 |
+
width: 10px;
|
354 |
+
}
|
355 |
+
|
356 |
+
/*#agca_form input.agca_button,#agca_form #ag_add_adminmenu button{
|
357 |
+
padding: 3px 10px;
|
358 |
+
background-color:#ffffff;
|
359 |
+
} */
|
360 |
+
#agca_form .agca_button.clear span:before {
|
361 |
+
color: #f08080;
|
362 |
+
cursor: pointer;
|
363 |
+
font-size: 30px;
|
364 |
+
}
|
365 |
+
|
366 |
+
#agca_form .agca_button.clear span:hover:before {
|
367 |
+
color: red;
|
368 |
+
}
|
369 |
+
|
370 |
+
#agca_form input[type=button], button {
|
371 |
+
background-color: #ACC491;
|
372 |
+
border: 1px solid #ACC491;
|
373 |
+
border-radius: 3px;
|
374 |
+
color: #FFFFFF;
|
375 |
+
padding: 5px 10px;
|
376 |
+
}
|
377 |
+
|
378 |
+
#agca_form input[type=button]:hover {
|
379 |
+
background-color: #DEF7C3;
|
380 |
+
border: 1px solid #DEF7C3;
|
381 |
+
color: #444;
|
382 |
+
cursor: pointer;
|
383 |
+
}
|
384 |
+
|
385 |
+
#agca_form input[type=text] {
|
386 |
+
height: 28px;
|
387 |
+
width: 400px;
|
388 |
+
}
|
389 |
+
|
390 |
+
#agca_form input.color_picker {
|
391 |
+
width: 77px;
|
392 |
+
}
|
393 |
+
|
394 |
+
#agca_form input[type=text]:hover {
|
395 |
+
background-color: #efffef;
|
396 |
+
}
|
397 |
+
|
398 |
+
#agca_form textarea {
|
399 |
+
width: 400px;
|
400 |
+
}
|
401 |
+
|
402 |
+
#agca_form textarea.wp-editor-area {
|
403 |
+
width: 100%;
|
404 |
+
}
|
405 |
+
|
406 |
+
#agca_form textarea:hover {
|
407 |
+
background-color: #efffef;
|
408 |
+
}
|
409 |
+
|
410 |
+
#agca_form #ag_edit_adminmenu input[type=text]:hover {
|
411 |
+
background-color: #444444;
|
412 |
+
color: #ffffff;
|
413 |
+
}
|
414 |
+
|
415 |
+
#agca_form #ag_add_adminmenu input[type=text] {
|
416 |
+
width: 300px;
|
417 |
+
}
|
418 |
+
|
419 |
+
#agca_form #ag_add_adminmenu .button_edit span,
|
420 |
+
#agca_form #ag_add_adminmenu .button_remove span {
|
421 |
+
font-size: 25px;
|
422 |
+
color: #7A8A67;
|
423 |
+
}
|
424 |
+
|
425 |
+
#agca_form #ag_add_adminmenu .button_remove span {
|
426 |
+
color: red;
|
427 |
+
}
|
428 |
+
|
429 |
+
#agca_form input#save_plugin_settings {
|
430 |
+
background: none repeat scroll 0 0 #acc491;
|
431 |
+
font-weight: bold;
|
432 |
+
height: 39px;
|
433 |
+
padding: 4px;
|
434 |
+
width: 130px;
|
435 |
+
border: 1px solid #acc491 !important;
|
436 |
+
text-shadow: none !important;
|
437 |
+
box-shadow: none !important;
|
438 |
+
font-size: 16px;
|
439 |
+
}
|
440 |
+
|
441 |
+
#agca_form input#save_plugin_settings:hover {
|
442 |
+
background-color: #DEF7C3 !important;
|
443 |
+
color: #005B69 !important;
|
444 |
+
}
|
445 |
+
|
446 |
+
#agca_form input#save_plugin_settings[type="button"]:hover {
|
447 |
+
background-color: #ffffff;
|
448 |
+
color: #ffffff;
|
449 |
+
}
|
450 |
+
|
451 |
+
/*editor style fix*/
|
452 |
+
#agca_form .agca_editor input[type="button"], button {
|
453 |
+
color: black;
|
454 |
+
}
|
455 |
+
|
456 |
+
#agca_form .agca_editor textarea {
|
457 |
+
width: 100%;
|
458 |
+
}
|
459 |
+
|
460 |
+
.agca_editor {
|
461 |
+
width: 600px;
|
462 |
+
}
|
463 |
+
|
464 |
+
/*templates*/
|
465 |
+
#agca_templates .error {
|
466 |
+
padding: 8px;
|
467 |
+
font-size: 14px;
|
468 |
+
}
|
469 |
+
|
470 |
+
.agca_template {
|
471 |
+
display: block;
|
472 |
+
float: left;
|
473 |
+
border: 3px solid #aaa;
|
474 |
+
margin: 10px;
|
475 |
+
margin-top: 15px;
|
476 |
+
cursor: pointer;
|
477 |
+
}
|
478 |
+
|
479 |
+
.agca_template:hover {
|
480 |
+
border: 3px solid green;
|
481 |
+
}
|
482 |
+
|
483 |
+
.agca_template h3 {
|
484 |
+
text-align: center;
|
485 |
+
color: green;
|
486 |
+
}
|
487 |
+
|
488 |
+
.agca_template h3 span {
|
489 |
+
color: #555;
|
490 |
+
font-size: 16px;
|
491 |
+
}
|
492 |
+
|
493 |
+
.agca_template img {
|
494 |
+
width: 250px;
|
495 |
+
}
|
496 |
+
|
497 |
+
.agca_logout_button {
|
498 |
+
background: none repeat scroll 0 0 #dddddd;
|
499 |
+
float: right;
|
500 |
+
font-size: 15px;
|
501 |
+
font-weight: bold;
|
502 |
+
margin-right: 20px;
|
503 |
+
padding: 10px;
|
504 |
+
text-decoration: none;
|
505 |
+
border-radius: 0 0 3px 3px;
|
506 |
+
border: 1px solid #BBBBBB;
|
507 |
+
border-top: none;
|
508 |
+
margin-left: 6px;
|
509 |
+
margin-right: 20px;
|
510 |
+
padding: 6px 10px;
|
511 |
+
}
|
512 |
+
|
513 |
+
#ag_add_adminmenu button {
|
514 |
+
border: medium none;
|
515 |
+
border-radius: 4px;
|
516 |
+
color: #FFFFFF;
|
517 |
+
padding: 6px 9px;
|
518 |
+
min-width: 150px;
|
519 |
+
}
|
520 |
+
|
521 |
+
.wp-admin.folded #sidebar_adminmenu_logo {
|
522 |
+
display: none;
|
523 |
+
}
|
524 |
+
|
525 |
+
.agca-selectbox {
|
526 |
+
width: 405px;
|
527 |
+
padding: 4px !important;
|
528 |
+
height: 28px !important;
|
529 |
+
}
|
530 |
+
|
531 |
+
.agca-selectbox:hover {
|
532 |
+
background-color: #efffef;
|
533 |
+
}
|
534 |
+
|
535 |
+
#agca_form .agca-checkbox-box {
|
536 |
+
cursor: pointer;
|
537 |
+
display: block;
|
538 |
+
width: 28px;
|
539 |
+
height: 28px;
|
540 |
+
position: relative;
|
541 |
+
float: left;
|
542 |
+
}
|
543 |
+
|
544 |
+
#agca_form .agca-checkbox-box:before {
|
545 |
+
content: "\f159";
|
546 |
+
font-size: 35px;
|
547 |
+
line-height: 35px;
|
548 |
+
color: #ACC491;
|
549 |
+
font-family: Dashicons;
|
550 |
+
}
|
551 |
+
|
552 |
+
#agca_form .agca-checkbox-box.visibility:before {
|
553 |
+
content: "\f177";
|
554 |
+
}
|
555 |
+
|
556 |
+
#agca_form .agca-checkbox-box-checked {
|
557 |
+
cursor: pointer;
|
558 |
+
display: block;
|
559 |
+
width: 28px;
|
560 |
+
height: 28px;
|
561 |
+
position: relative;
|
562 |
+
float: left;
|
563 |
+
}
|
564 |
+
|
565 |
+
#agca_form .agca-checkbox-box-checked:before {
|
566 |
+
content: "\f502";
|
567 |
+
font-size: 35px;
|
568 |
+
line-height: 35px;
|
569 |
+
color: #659957;
|
570 |
+
font-family: Dashicons;
|
571 |
+
}
|
572 |
+
|
573 |
+
#agca_form .agca-checkbox-box-checked.visibility:before {
|
574 |
+
content: "\f530";
|
575 |
+
color: #f08080;
|
576 |
+
}
|
577 |
+
|
578 |
+
#agca_form .agca-checkbox-box-checked:hover:before,
|
579 |
+
#agca_form .agca-checkbox-box:hover:before {
|
580 |
+
color: #999;
|
581 |
+
}
|
582 |
+
|
583 |
+
#agca_form label {
|
584 |
+
font-size: 15px;
|
585 |
+
color: #777777;
|
586 |
+
}
|
587 |
+
|
588 |
+
#agca_form .form-table th {
|
589 |
+
width: 350px;
|
590 |
+
padding-left: 20px;
|
591 |
+
}
|
592 |
+
|
593 |
+
.ag_admin_menu_parent .agca-checkbox-box-checked, .ag_admin_menu_parent .agca-checkbox-box {
|
594 |
+
margin-top: -15px;
|
595 |
+
}
|
596 |
+
|
597 |
+
#agca_form input[type=radio] {
|
598 |
+
display: block;
|
599 |
+
float: left;
|
600 |
+
}
|
601 |
+
|
602 |
+
#agca_form .agca-radiobox {
|
603 |
+
cursor: pointer;
|
604 |
+
display: block;
|
605 |
+
width: 28px;
|
606 |
+
height: 28px;
|
607 |
+
position: relative;
|
608 |
+
float: left;
|
609 |
+
}
|
610 |
+
|
611 |
+
#agca_form .agca-radio-text {
|
612 |
+
display: block;
|
613 |
+
float: left;
|
614 |
+
font-size: 17px;
|
615 |
+
font-weight: bold;
|
616 |
+
margin: 4px 25px 4px 4px;
|
617 |
+
cursor: pointer;
|
618 |
+
}
|
619 |
+
|
620 |
+
#agca_form .agca-radio-text.on {
|
621 |
+
color: #ACC491;
|
622 |
+
}
|
623 |
+
|
624 |
+
#agca_form .agca-radio-text.off {
|
625 |
+
color: #f08080;
|
626 |
+
}
|
627 |
+
|
628 |
+
#agca_form .agca-radiobox:before {
|
629 |
+
font-family: Dashicons;
|
630 |
+
content: "\f159";
|
631 |
+
font-size: 30px;
|
632 |
+
line-height: 30px;
|
633 |
+
}
|
634 |
+
|
635 |
+
#agca_form .agca-radiobox.checked:before {
|
636 |
+
content: "\f502";
|
637 |
+
}
|
638 |
+
|
639 |
+
#agca_form .agca-radiobox.checked[value=off]:before {
|
640 |
+
content: "\f153";
|
641 |
+
}
|
642 |
+
|
643 |
+
#agca_form .agca-radiobox[value=on]:before {
|
644 |
+
color: #ACC491;
|
645 |
+
}
|
646 |
+
|
647 |
+
#agca_form .agca-radiobox[value=off]:before {
|
648 |
+
color: #f08080;
|
649 |
+
}
|
650 |
+
|
651 |
+
#agca_form #section_templates {
|
652 |
+
background: rgba(255, 255, 255, 0.95)
|
653 |
+
}
|
654 |
+
|
655 |
+
#wp-admin-bar-agca-admin-themes a {
|
656 |
+
color: #def7c3 !important;
|
657 |
+
}
|
658 |
+
|
659 |
+
#wp-admin-bar-agca-admin-themes .ab-icon:before {
|
660 |
+
font-family: "dashicons";
|
661 |
+
content: "\f100";
|
662 |
+
margin-top: 2px;
|
663 |
+
display: block;
|
664 |
+
color: #eef9d5 !important;
|
665 |
+
}
|
666 |
+
|
667 |
+
.agca-feedback-and-support a {
|
668 |
+
border: medium none;
|
669 |
+
border-radius: 4px;
|
670 |
+
color: #FFFFFF;
|
671 |
+
padding: 6px 20px;
|
672 |
+
min-width: 240px;
|
673 |
+
background: rgb(216, 234, 216);
|
674 |
+
display: inline-block;
|
675 |
+
text-decoration: none;
|
676 |
+
color: gray;
|
677 |
+
}
|
678 |
+
|
679 |
+
.agca-feedback-and-support .upgrade a{
|
680 |
+
background: #f9f9f9;
|
681 |
+
float: left;
|
682 |
+
padding: 5px 30px 5px 9px;
|
683 |
+
}
|
684 |
+
.agca-feedback-and-support .upgrade span{
|
685 |
+
display: block;
|
686 |
+
float: left;
|
687 |
+
margin-top: 20px;
|
688 |
+
}
|
689 |
+
.agca-feedback-and-support .upgrade img{
|
690 |
+
width: 50px;
|
691 |
+
height: auto;
|
692 |
+
float: left;
|
693 |
+
display: inline-block;
|
694 |
+
margin-left: -5px;
|
695 |
+
}
|
696 |
+
|
697 |
+
.agca-feedback-and-support a:hover {
|
698 |
+
background-color: #ACC491;
|
699 |
+
color: #fff;
|
700 |
+
}
|
701 |
+
.agca-feedback-and-support .upgrade a:hover{
|
702 |
+
background-color: #fff;
|
703 |
+
color: #826c63;
|
704 |
+
box-shadow: 1px 1px 1px #ddd;
|
705 |
+
}
|
706 |
+
#agca-your-feedback {
|
707 |
+
float: right;
|
708 |
+
width: 160px;
|
709 |
+
margin-top: -10px;
|
710 |
+
}
|
711 |
+
|
712 |
+
#agca-your-feedback .dashicons {
|
713 |
+
font-size: 24px;
|
714 |
+
padding: 0 3px;
|
715 |
+
line-height: 18px;
|
716 |
+
}
|
717 |
+
|
718 |
+
#agca-your-feedback a {
|
719 |
+
text-decoration: none;
|
720 |
+
}
|
721 |
+
|
722 |
+
#agca-your-feedback a {
|
723 |
+
text-decoration: none;
|
724 |
+
}
|
725 |
+
|
726 |
+
#agca-your-feedback .feedback.negative {
|
727 |
+
color: #f08080;
|
728 |
+
}
|
729 |
+
|
730 |
+
#agca-your-feedback .feedback.negative:hover {
|
731 |
+
color: red;
|
732 |
+
}
|
733 |
+
|
734 |
+
#agca-your-feedback .feedback.positive {
|
735 |
+
color: #ACC491;
|
736 |
+
}
|
737 |
+
|
738 |
+
#agca-your-feedback .feedback.positive:hover {
|
739 |
+
color: green;
|
740 |
+
}
|
741 |
+
|
742 |
+
#agca_donate_button {
|
743 |
+
margin-left: 5px;
|
744 |
+
margin-top: 3px;
|
745 |
+
display: inline-block;
|
746 |
+
}
|
747 |
+
|
748 |
+
#section_ag_colorizer_settings .color input {
|
749 |
+
border-radius: 5px;
|
750 |
+
}
|
751 |
+
|
752 |
+
#section_ag_colorizer_settings .color .agca_button {
|
753 |
+
cursor: pointer;
|
754 |
+
}
|
755 |
+
|
756 |
+
#section_ag_colorizer_settings .color .agca_button span {
|
757 |
+
font-size: 35px;
|
758 |
+
padding: 0 6px;
|
759 |
+
color: #ACC491;
|
760 |
+
}
|
761 |
+
|
762 |
+
#section_ag_colorizer_settings .color .agca_button span:hover {
|
763 |
+
color: #659957;
|
764 |
+
}
|
765 |
+
|
766 |
+
#section_ag_colorizer_settings .color .agca_button span.clear {
|
767 |
+
color: #f08080;
|
768 |
+
}
|
769 |
+
|
770 |
+
#section_ag_colorizer_settings .color .agca_button span.clear:hover {
|
771 |
+
color: red;
|
772 |
+
}
|
773 |
+
/*Hide dashboard empty box containers*/
|
774 |
+
#dashboard-widgets div.empty-container{
|
775 |
+
display: none;
|
776 |
+
}
|
trunk/style/agca_farbtastic.css
ADDED
@@ -0,0 +1,4 @@
|
|
|
|
|
|
|
|
|
1 |
+
#picker{
|
2 |
+
width:195px;
|
3 |
+
position:absolute;
|
4 |
+
}
|
trunk/style/farbtastic.css
ADDED
@@ -0,0 +1,51 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
/**
|
2 |
+
* Farbtastic Color Picker 1.2
|
3 |
+
* © 2008 Steven Wittens
|
4 |
+
*
|
5 |
+
* This program is free software; you can redistribute it and/or modify
|
6 |
+
* it under the terms of the GNU General Public License as published by
|
7 |
+
* the Free Software Foundation; either version 2 of the License, or
|
8 |
+
* (at your option) any later version.
|
9 |
+
*
|
10 |
+
* This program is distributed in the hope that it will be useful,
|
11 |
+
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
12 |
+
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
13 |
+
* GNU General Public License for more details.
|
14 |
+
*
|
15 |
+
* You should have received a copy of the GNU General Public License
|
16 |
+
* along with this program; if not, write to the Free Software
|
17 |
+
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
18 |
+
*/
|
19 |
+
.farbtastic {
|
20 |
+
position: relative;
|
21 |
+
}
|
22 |
+
.farbtastic * {
|
23 |
+
position: absolute;
|
24 |
+
cursor: crosshair;
|
25 |
+
}
|
26 |
+
.farbtastic, .farbtastic .wheel {
|
27 |
+
width: 195px;
|
28 |
+
height: 195px;
|
29 |
+
}
|
30 |
+
.farbtastic .color, .farbtastic .overlay {
|
31 |
+
top: 47px;
|
32 |
+
left: 47px;
|
33 |
+
width: 101px;
|
34 |
+
height: 101px;
|
35 |
+
}
|
36 |
+
.farbtastic .wheel {
|
37 |
+
background: url(wheel.png) no-repeat;
|
38 |
+
width: 195px;
|
39 |
+
height: 195px;
|
40 |
+
}
|
41 |
+
.farbtastic .overlay {
|
42 |
+
background: url(mask.png) no-repeat;
|
43 |
+
}
|
44 |
+
.farbtastic .marker {
|
45 |
+
width: 17px;
|
46 |
+
height: 17px;
|
47 |
+
margin: -8px 0 0 -8px;
|
48 |
+
overflow: hidden;
|
49 |
+
background: url(marker.png) no-repeat;
|
50 |
+
}
|
51 |
+
|
trunk/style/login.min.css
ADDED
File without changes
|
trunk/style/marker.png
ADDED
Binary file
|
trunk/style/mask.png
ADDED
Binary file
|
trunk/style/wheel.png
ADDED
Binary file
|
trunk/uninstall.php
ADDED
@@ -0,0 +1,90 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
// die if not uninstalling
|
3 |
+
if( !defined( 'WP_UNINSTALL_PLUGIN' ) )
|
4 |
+
exit ();
|
5 |
+
|
6 |
+
delete_option( 'agca_role_allbutadmin' );
|
7 |
+
delete_option( 'agca_screen_options_menu' );
|
8 |
+
delete_option( 'agca_help_menu' );
|
9 |
+
delete_option( 'agca_logout' );
|
10 |
+
delete_option( 'agca_remove_your_profile' );
|
11 |
+
delete_option( 'agca_logout_only' );
|
12 |
+
delete_option( 'agca_options_menu' ); //obsolete from 1.5
|
13 |
+
delete_option( 'agca_howdy' );
|
14 |
+
delete_option( 'agca_header' );
|
15 |
+
delete_option( 'agca_header_show_logout' );
|
16 |
+
delete_option( 'agca_footer' );
|
17 |
+
delete_option( 'agca_privacy_options' );
|
18 |
+
delete_option( 'agca_header_logo' );
|
19 |
+
delete_option( 'agca_header_logo_custom' );
|
20 |
+
delete_option( 'agca_wp_logo_custom' );
|
21 |
+
delete_option( 'agca_wp_logo_custom_link' );
|
22 |
+
delete_option( 'agca_site_heading' );
|
23 |
+
delete_option( 'agca_custom_site_heading' );
|
24 |
+
delete_option( 'agca_update_bar' );
|
25 |
+
|
26 |
+
delete_option( 'agca_footer_left' );
|
27 |
+
delete_option( 'agca_footer_left_hide' );
|
28 |
+
delete_option( 'agca_footer_right' );
|
29 |
+
delete_option( 'agca_footer_right_hide' );
|
30 |
+
|
31 |
+
delete_option( 'agca_login_banner' );
|
32 |
+
delete_option( 'agca_login_banner_text' );
|
33 |
+
delete_option( 'agca_login_photo_remove' );
|
34 |
+
delete_option( 'agca_login_photo_url' );
|
35 |
+
delete_option( 'agca_login_photo_href' );
|
36 |
+
delete_option( 'agca_login_round_box' );
|
37 |
+
delete_option( 'agca_login_round_box_size' );
|
38 |
+
|
39 |
+
delete_option( 'agca_dashboard_icon' );
|
40 |
+
delete_option( 'agca_dashboard_text' );
|
41 |
+
delete_option( 'agca_dashboard_text_paragraph' );
|
42 |
+
delete_option( 'agca_dashboard_widget_welcome' );
|
43 |
+
delete_option( 'agca_dashboard_widget_il' );
|
44 |
+
delete_option( 'agca_dashboard_widget_plugins' );
|
45 |
+
delete_option( 'agca_dashboard_widget_qp' );
|
46 |
+
delete_option( 'agca_dashboard_widget_rn' );
|
47 |
+
delete_option( 'agca_dashboard_widget_rd' );
|
48 |
+
delete_option( 'agca_dashboard_widget_primary' );
|
49 |
+
delete_option( 'agca_dashboard_widget_secondary' );
|
50 |
+
delete_option( 'agca_dashboard_widget_activity' );
|
51 |
+
|
52 |
+
//WP3.3
|
53 |
+
delete_option( 'agca_admin_bar_comments' );
|
54 |
+
delete_option( 'agca_admin_bar_new_content' );
|
55 |
+
delete_option( 'agca_admin_bar_new_content_post' );
|
56 |
+
delete_option( 'agca_admin_bar_new_content_link' );
|
57 |
+
delete_option( 'agca_admin_bar_new_content_page' );
|
58 |
+
delete_option( 'agca_admin_bar_new_content_user' );
|
59 |
+
delete_option( 'agca_admin_bar_new_content_media' );
|
60 |
+
delete_option( 'agca_admin_bar_update_notifications' );
|
61 |
+
delete_option( 'agca_admin_bar_admin_themes' );
|
62 |
+
delete_option( 'agca_remove_top_bar_dropdowns' );
|
63 |
+
|
64 |
+
/*Admin menu*/
|
65 |
+
delete_option( 'agca_admin_menu_turnonoff' );
|
66 |
+
delete_option( 'agca_admin_menu_agca_button_only' );
|
67 |
+
delete_option( 'agca_admin_menu_separator_first' );
|
68 |
+
delete_option( 'agca_admin_menu_separator_second' );
|
69 |
+
delete_option( 'agca_admin_menu_icons' );
|
70 |
+
delete_option( 'agca_admin_menu_arrow' );
|
71 |
+
delete_option( 'agca_admin_menu_submenu_round' );
|
72 |
+
delete_option( 'agca_admin_menu_submenu_round_size' );
|
73 |
+
delete_option( 'agca_admin_menu_brand' );
|
74 |
+
delete_option( 'agca_admin_menu_brand_link' );
|
75 |
+
delete_option( 'agca_admin_menu_autofold' );
|
76 |
+
delete_option( 'ag_edit_adminmenu_json' );
|
77 |
+
delete_option( 'ag_edit_adminmenu_json_new' );
|
78 |
+
delete_option( 'ag_add_adminmenu_json' );
|
79 |
+
delete_option( 'ag_colorizer_json' );
|
80 |
+
delete_option( 'agca_colorizer_turnonoff' );
|
81 |
+
|
82 |
+
delete_option( 'agca_custom_js' );
|
83 |
+
delete_option( 'agca_custom_css' );
|
84 |
+
|
85 |
+
delete_option( 'agca_selected_template' );
|
86 |
+
delete_option( 'agca_templates' );
|
87 |
+
delete_option( 'agca_disablewarning' );
|
88 |
+
delete_option( 'agca_disable_postver' );
|
89 |
+
delete_option( 'agca_menu_remove_client_profile' );
|
90 |
+
?>
|