Version Description
- fix of the backup notices
- fix of the export back up function
- Global modification of plugin structure, new add-ons section
- New backup add-on
- New statistics add-on
Download this release
Release Info
Developer | robosoft |
Plugin | Gallery – Photo Gallery and Images Gallery |
Version | 2.8.0 |
Comparing to | |
See all releases |
Code changes from version 2.7.14 to 2.8.0
- app/app.php +22 -0
- app/class.brand.php +19 -0
- app/class.view.php +53 -0
- app/extensions/manager/class.addons.action.php +21 -0
- app/extensions/manager/class.addons.php +443 -0
- app/extensions/manager/css/index.html +0 -0
- app/extensions/manager/css/style.css +175 -0
- app/extensions/manager/index.html +0 -0
- app/extensions/manager/init.php +17 -0
- app/extensions/manager/js/index.html +0 -0
- app/extensions/manager/js/script.js +408 -0
- app/extensions/manager/templates/addon.tpl.php +106 -0
- app/extensions/manager/templates/addons.tpl.php +34 -0
- includes/extensions/backup/backup.init.php +2 -2
- includes/rbs_gallery_init.php +11 -5
- readme.txt +37 -35
- robogallery.php +12 -2
app/app.php
ADDED
@@ -0,0 +1,22 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
/*
|
4 |
+
* Robo Gallery
|
5 |
+
* Version: 2.7.16 - 94417
|
6 |
+
* By Robosoft
|
7 |
+
*
|
8 |
+
* Contact: https://robosoft.co/robogallery/
|
9 |
+
* Created: 2015
|
10 |
+
* Licensed under the GPLv2 license - http://opensource.org/licenses/gpl-2.0.php
|
11 |
+
|
12 |
+
*/
|
13 |
+
|
14 |
+
|
15 |
+
/* classes */
|
16 |
+
/*include_once ROBO_GALLERY_APP_PATH.'class.helper.php';*/
|
17 |
+
include_once ROBO_GALLERY_APP_PATH.'class.view.php';
|
18 |
+
include_once ROBO_GALLERY_APP_PATH.'class.brand.php';
|
19 |
+
|
20 |
+
/* extensions */
|
21 |
+
define("ROBO_GALLERY_APP_EXTENSIONS_PATH", ROBO_GALLERY_APP_PATH.'extensions/');
|
22 |
+
include_once ROBO_GALLERY_APP_EXTENSIONS_PATH.'manager/init.php';
|
app/class.brand.php
ADDED
@@ -0,0 +1,19 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
/*
|
4 |
+
* Robo Gallery
|
5 |
+
* Version: 2.7.16 - 94417
|
6 |
+
* By Robosoft
|
7 |
+
*
|
8 |
+
* Contact: https://robosoft.co/robogallery/
|
9 |
+
* Created: 2015
|
10 |
+
* Licensed under the GPLv2 license - http://opensource.org/licenses/gpl-2.0.php
|
11 |
+
|
12 |
+
*/
|
13 |
+
|
14 |
+
|
15 |
+
class rbsGalleryBrand{
|
16 |
+
static function getPluginName(){
|
17 |
+
return 'Robo Gallery';
|
18 |
+
}
|
19 |
+
}
|
app/class.view.php
ADDED
@@ -0,0 +1,53 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
/*
|
4 |
+
* Robo Gallery
|
5 |
+
* Version: 2.7.16 - 94417
|
6 |
+
* By Robosoft
|
7 |
+
*
|
8 |
+
* Contact: https://robosoft.co/robogallery/
|
9 |
+
* Created: 2015
|
10 |
+
* Licensed under the GPLv2 license - http://opensource.org/licenses/gpl-2.0.php
|
11 |
+
|
12 |
+
*/
|
13 |
+
|
14 |
+
class rbsGalleryClassView{
|
15 |
+
|
16 |
+
private $templatePath = '';
|
17 |
+
|
18 |
+
public function __construct( $templatePath ){
|
19 |
+
|
20 |
+
if (!file_exists($templatePath)) {
|
21 |
+
throw new Exception( "Could not find template path. Template: {$templatePath}");
|
22 |
+
} else {
|
23 |
+
$this->templatePath =$templatePath;
|
24 |
+
}
|
25 |
+
|
26 |
+
}
|
27 |
+
|
28 |
+
public function render($template, array $vars = array())
|
29 |
+
{
|
30 |
+
$templatePath = $this->templatePath . $template . '.tpl.php';
|
31 |
+
|
32 |
+
if (!file_exists($templatePath)) {
|
33 |
+
throw new Exception( "Could not find template. Template: {$template}");
|
34 |
+
}
|
35 |
+
extract($vars);
|
36 |
+
require $templatePath;
|
37 |
+
}
|
38 |
+
|
39 |
+
/**
|
40 |
+
* @param string $template
|
41 |
+
* @param array $vars
|
42 |
+
* @return string
|
43 |
+
*/
|
44 |
+
public function content($template, array $vars = array())
|
45 |
+
{
|
46 |
+
ob_start();
|
47 |
+
$this->render($template, $vars);
|
48 |
+
$content = ob_get_clean();
|
49 |
+
//ob_clean();
|
50 |
+
|
51 |
+
return $content;
|
52 |
+
}
|
53 |
+
}
|
app/extensions/manager/class.addons.action.php
ADDED
@@ -0,0 +1,21 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/*
|
3 |
+
* Robo Gallery
|
4 |
+
* Version: 2.7.16 - 94417
|
5 |
+
* By Robosoft
|
6 |
+
*
|
7 |
+
* Contact: https://robosoft.co/robogallery/
|
8 |
+
* Created: 2015
|
9 |
+
* Licensed under the GPLv2 license - http://opensource.org/licenses/gpl-2.0.php
|
10 |
+
|
11 |
+
*/
|
12 |
+
|
13 |
+
if ( ! defined( 'ABSPATH' ) ) exit;
|
14 |
+
|
15 |
+
|
16 |
+
class Gallery_RoTeam_AddonAction{
|
17 |
+
|
18 |
+
static function getAddons(){
|
19 |
+
|
20 |
+
}
|
21 |
+
}
|
app/extensions/manager/class.addons.php
ADDED
@@ -0,0 +1,443 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/*
|
3 |
+
* Robo Gallery
|
4 |
+
* Version: 2.7.16 - 94417
|
5 |
+
* By Robosoft
|
6 |
+
*
|
7 |
+
* Contact: https://robosoft.co/robogallery/
|
8 |
+
* Created: 2015
|
9 |
+
* Licensed under the GPLv2 license - http://opensource.org/licenses/gpl-2.0.php
|
10 |
+
|
11 |
+
*/
|
12 |
+
|
13 |
+
if ( ! defined( 'ABSPATH' ) ) exit;
|
14 |
+
|
15 |
+
|
16 |
+
class rbsGalleryAddons{
|
17 |
+
|
18 |
+
protected $postType;
|
19 |
+
|
20 |
+
protected $title;
|
21 |
+
|
22 |
+
protected $assetsUri;
|
23 |
+
|
24 |
+
protected $actionName;
|
25 |
+
|
26 |
+
protected $tag;
|
27 |
+
|
28 |
+
protected $addons;
|
29 |
+
|
30 |
+
protected $menuTag='';
|
31 |
+
|
32 |
+
public $view;
|
33 |
+
|
34 |
+
public function __construct( $postType ){
|
35 |
+
|
36 |
+
if (!$postType) {
|
37 |
+
throw new Exception( "Could not set post type");
|
38 |
+
}
|
39 |
+
|
40 |
+
$this->postType = $postType;
|
41 |
+
|
42 |
+
$this->checkDepends();
|
43 |
+
|
44 |
+
$this->title = rbsGalleryBrand::getPluginName();
|
45 |
+
|
46 |
+
$this->assetsUri = plugin_dir_url(__FILE__);
|
47 |
+
|
48 |
+
$this->path = plugin_dir_path( __FILE__ );
|
49 |
+
|
50 |
+
$this->tag = "{$this->postType}-file";
|
51 |
+
|
52 |
+
$this->view = new rbsGalleryClassView( $this->path.'templates/' );
|
53 |
+
|
54 |
+
$this->addons = $this->getAddons();
|
55 |
+
|
56 |
+
$this->addAjaxHooks();
|
57 |
+
/* check_status */
|
58 |
+
add_action('wp_ajax_rb_check_status', array($this, 'getPluginStatus'));
|
59 |
+
|
60 |
+
/* activate included plugin */
|
61 |
+
add_action('wp_ajax_rb_activate_included_plugin', array($this, 'activateIncludedPlugin') );
|
62 |
+
|
63 |
+
/* deactivate included plugin */
|
64 |
+
add_action('wp_ajax_rb_deactivate_included_plugin', array($this, 'deactivateIncludedPlugin') );
|
65 |
+
|
66 |
+
add_action( 'init', array($this, 'init') );
|
67 |
+
}
|
68 |
+
|
69 |
+
private function addAjaxHooks(){
|
70 |
+
|
71 |
+
}
|
72 |
+
|
73 |
+
private function checkDepends(){
|
74 |
+
if( !function_exists('is_plugin_active') ) include_once( ABSPATH . 'wp-admin/includes/plugin.php' );
|
75 |
+
include_once plugin_dir_path( __FILE__ ).'class.addons.action.php';
|
76 |
+
}
|
77 |
+
|
78 |
+
|
79 |
+
public function showAddons(){
|
80 |
+
$this->enqueueScripts();
|
81 |
+
$this->renderAddons();
|
82 |
+
}
|
83 |
+
|
84 |
+
public function addMenuItem(){
|
85 |
+
$this->menuTag = add_submenu_page( 'edit.php?post_type='.$this->postType, $this->title.' Add-ons', 'Add-ons', 'manage_options', $this->postType.'-addons', array($this, 'showAddons' ) );
|
86 |
+
}
|
87 |
+
|
88 |
+
|
89 |
+
public function init(){
|
90 |
+
add_action('admin_menu', array($this, 'addMenuItem'), 10);
|
91 |
+
}
|
92 |
+
|
93 |
+
public function enqueueScripts(){
|
94 |
+
$screen = get_current_screen();
|
95 |
+
|
96 |
+
if ($this->postType !== $screen->post_type) return;
|
97 |
+
|
98 |
+
wp_enqueue_style(
|
99 |
+
$this->tag.'-style',
|
100 |
+
$this->assetsUri . 'css/style.css',
|
101 |
+
array()
|
102 |
+
);
|
103 |
+
wp_enqueue_style('wp-jquery-ui-dialog');
|
104 |
+
|
105 |
+
wp_enqueue_script('jquery-ui-dialog');
|
106 |
+
|
107 |
+
add_thickbox();
|
108 |
+
wp_enqueue_script('plugin-install');
|
109 |
+
|
110 |
+
wp_enqueue_script(
|
111 |
+
$this->tag.'-js',
|
112 |
+
$this->assetsUri . 'js/script.js',
|
113 |
+
array('jquery'),
|
114 |
+
false,
|
115 |
+
true
|
116 |
+
);
|
117 |
+
|
118 |
+
echo " <style>html body div#wpcontent div.fs-notice, .ngg_admin_notice{display: none !important; }</style> ";
|
119 |
+
|
120 |
+
wp_localize_script(
|
121 |
+
$this->tag.'-js',
|
122 |
+
|
123 |
+
'rbsGalleryAddonAttributes',
|
124 |
+
|
125 |
+
array(
|
126 |
+
'ajaxUrl' => admin_url('admin-ajax.php'),
|
127 |
+
|
128 |
+
'action' => array(
|
129 |
+
'save' => $this->actionName,
|
130 |
+
),
|
131 |
+
|
132 |
+
'labels' => array(
|
133 |
+
'download' => __('Download', 'yo-gallery'),
|
134 |
+
'downloading' => __('Downloading', 'yo-gallery'),
|
135 |
+
|
136 |
+
'activate' => __('Activate', 'yo-gallery'),
|
137 |
+
'activating' => __('Activating', 'yo-gallery'),
|
138 |
+
'activated' => __('Activated', 'yo-gallery'),
|
139 |
+
|
140 |
+
'deactivate' => __('Deactivate', 'yo-gallery'),
|
141 |
+
'deactivating' => __('Deactivating', 'yo-gallery'),
|
142 |
+
'deactivated' => __('Deactivated', 'yo-gallery'),
|
143 |
+
|
144 |
+
|
145 |
+
'information' => __('Information', 'yo-gallery'),
|
146 |
+
|
147 |
+
'installnow' => __('Install Now', 'yo-gallery'),
|
148 |
+
'installing' => __('Installing', 'yo-gallery'),
|
149 |
+
'installed' => __('Installed', 'yo-gallery'),
|
150 |
+
),
|
151 |
+
)
|
152 |
+
);
|
153 |
+
}
|
154 |
+
|
155 |
+
|
156 |
+
|
157 |
+
|
158 |
+
public function renderAddons() {
|
159 |
+
|
160 |
+
/*$this->checkPermission();*/
|
161 |
+
|
162 |
+
$params=array(
|
163 |
+
'addons' => '',
|
164 |
+
'categories' => $this->getCategories(),
|
165 |
+
);
|
166 |
+
|
167 |
+
if(!count($this->addons)) return '';
|
168 |
+
|
169 |
+
foreach ($this->addons as $code => $addon ) {
|
170 |
+
$params['addons'] .= $this->renderAddon( $code, $addon );
|
171 |
+
}
|
172 |
+
|
173 |
+
echo $this->view->content("addons", $params);
|
174 |
+
}
|
175 |
+
|
176 |
+
|
177 |
+
public function getAddonData( $addon, $elem ){
|
178 |
+
return isset($addon[$elem]) ? $addon[$elem] : null;
|
179 |
+
}
|
180 |
+
|
181 |
+
|
182 |
+
public function getDownloadUrl( $slug ){
|
183 |
+
return esc_url(
|
184 |
+
wp_nonce_url(
|
185 |
+
self_admin_url('update.php?action=install-plugin&plugin=' . $slug),
|
186 |
+
'install-plugin_' . $slug)
|
187 |
+
);
|
188 |
+
}
|
189 |
+
|
190 |
+
private function getActivateUrl( $plugin, $action = 'activate' ) {
|
191 |
+
if ( strpos( $plugin, '/' ) ) {
|
192 |
+
$plugin = str_replace( '\/', '%2F', $plugin );
|
193 |
+
}
|
194 |
+
$url = sprintf( admin_url( 'plugins.php?action=' . $action . '&plugin=%s&plugin_status=all&paged=1&s' ), $plugin );
|
195 |
+
$_REQUEST['plugin'] = $plugin;
|
196 |
+
$url = wp_nonce_url( $url, $action . '-plugin_' . $plugin );
|
197 |
+
return $url;
|
198 |
+
}
|
199 |
+
|
200 |
+
private function getManagerUrl( $plugin ) {
|
201 |
+
$url = sprintf( admin_url( 'plugins.php?plugin_status=search&paged=1&s=%s' ), strtolower($plugin) );
|
202 |
+
return $url;
|
203 |
+
}
|
204 |
+
|
205 |
+
public function renderAddon( $code, $addon ){
|
206 |
+
|
207 |
+
$slug = $this->getAddonData($addon, 'slug');
|
208 |
+
|
209 |
+
$fileName = $this->getAddonData($addon, 'file');
|
210 |
+
|
211 |
+
$status = $this->checkPluginStatus($code);
|
212 |
+
|
213 |
+
$templatingFields = array(
|
214 |
+
'title' => $this->getAddonData($addon, 'title'),
|
215 |
+
|
216 |
+
'slug' => $slug,
|
217 |
+
'code' => $code,
|
218 |
+
|
219 |
+
'status' => $status,
|
220 |
+
|
221 |
+
'commercial'=> $this->getAddonData($addon, 'commercial'),
|
222 |
+
'public' => $this->getAddonData($addon, 'public'),
|
223 |
+
'included' => $this->getAddonData($addon, 'included'),
|
224 |
+
|
225 |
+
// 'price' => $this->getAddonData($addon, 'price'),
|
226 |
+
|
227 |
+
'desc' => $this->getAddonData($addon, 'desc'),
|
228 |
+
|
229 |
+
'category' => $this->getAddonData($addon, 'category'),
|
230 |
+
|
231 |
+
'url' => $this->getAddonData($addon, 'url'),
|
232 |
+
);
|
233 |
+
|
234 |
+
$templatingFields['downloadUrl'] = $this->getDownloadUrl( $slug ) ;
|
235 |
+
$templatingFields['activateUrl'] = $this->getActivateUrl( $fileName );
|
236 |
+
|
237 |
+
$templatingFields['deactivateUrl'] = admin_url( 'plugins.php?plugin_status=all&paged=1&s');
|
238 |
+
$templatingFields['informationUrl'] = admin_url('plugin-install.php?tab=plugin-information&plugin='.$slug.'&TB_iframe=true&width=600&height=550');
|
239 |
+
|
240 |
+
$templatingFields['pluginManagerUrl'] = $this->getManagerUrl($slug);
|
241 |
+
|
242 |
+
$nonce = '';
|
243 |
+
|
244 |
+
//print_r($templatingFields);
|
245 |
+
return $this->view->content("addon", $templatingFields);
|
246 |
+
}
|
247 |
+
|
248 |
+
private function putAddon( $addonConfig ){
|
249 |
+
|
250 |
+
$addonDefaultConfig = array(
|
251 |
+
'title' => '',
|
252 |
+
'category' => '',
|
253 |
+
|
254 |
+
'slug' => '',
|
255 |
+
'file' => '',
|
256 |
+
|
257 |
+
/*'price' => 0,*/
|
258 |
+
|
259 |
+
'commercial'=> 0,
|
260 |
+
'included' => 0,
|
261 |
+
'public' => 0,
|
262 |
+
|
263 |
+
'desc' => '',
|
264 |
+
|
265 |
+
);
|
266 |
+
|
267 |
+
if(!is_array($addonConfig)) return $addonDefaultConfigl;
|
268 |
+
|
269 |
+
return array_merge( $addonDefaultConfig, $addonConfig );
|
270 |
+
}
|
271 |
+
|
272 |
+
public function deactivateIncludedPlugin(){
|
273 |
+
$status = array( 'result' => false );
|
274 |
+
$plugin = sanitize_text_field( $_POST['plugin'] );
|
275 |
+
$this->checkPermission();
|
276 |
+
$status['result'] = $this->activatePlugin($plugin,'deactivate');
|
277 |
+
echo json_encode($status);
|
278 |
+
exit;
|
279 |
+
}
|
280 |
+
|
281 |
+
public function activateIncludedPlugin(){
|
282 |
+
$status = array( 'result' => false );
|
283 |
+
$plugin = sanitize_text_field( $_POST['plugin'] );
|
284 |
+
$this->checkPermission();
|
285 |
+
$status['result'] = $this->activatePlugin($plugin);
|
286 |
+
echo json_encode($status);
|
287 |
+
exit;
|
288 |
+
}
|
289 |
+
|
290 |
+
|
291 |
+
public function activatePlugin( $plugin, $action = 'activate' ){
|
292 |
+
if(!$plugin ) return false;
|
293 |
+
$activateCode = $action=='activate' ? 1 : 0;
|
294 |
+
echo ROBO_GALLERY_OPTIONS.'addon_'.$plugin;
|
295 |
+
|
296 |
+
update_option( ROBO_GALLERY_OPTIONS.'addon_'.$plugin, $activateCode );
|
297 |
+
return true;
|
298 |
+
}
|
299 |
+
|
300 |
+
public function getAddons(){
|
301 |
+
|
302 |
+
$addons =array();
|
303 |
+
|
304 |
+
$addons['robogallerypro'] = $this->putAddon(
|
305 |
+
array(
|
306 |
+
'title' => 'Robo Gallery Pro',
|
307 |
+
'category' => 'gallery',
|
308 |
+
'url' => 'https://robosoft.co/robogallery/#pricing',
|
309 |
+
'slug' => 'robogallerykey',
|
310 |
+
'file' => 'robogallerykey/robogallerykey.php',
|
311 |
+
'desc' => 'with PRO version you get more advanced functionality and even more flexibility in settings and gallery design. Get access to more add-ons which extend functionality of the plugin.',
|
312 |
+
'commercial'=> 1,
|
313 |
+
)
|
314 |
+
);
|
315 |
+
|
316 |
+
/*$addons['lightbox'] = $this->putAddon(
|
317 |
+
array(
|
318 |
+
'title' => 'Lightbox Pro',
|
319 |
+
'category' => 'lightbox',
|
320 |
+
'url' => 'https://google.com',
|
321 |
+
'slug' => 'akismet',
|
322 |
+
'file' => 'akismet/akismet.php',
|
323 |
+
'commercial'=> 1,
|
324 |
+
)
|
325 |
+
);*/
|
326 |
+
|
327 |
+
|
328 |
+
/*$addons['breadcrumbs'] = $this->putAddon(
|
329 |
+
array(
|
330 |
+
'title' => 'BreadCrumbs',
|
331 |
+
'price' => 19,
|
332 |
+
'category' => 'navigation',
|
333 |
+
'slug' => 'akismet',
|
334 |
+
'file' => 'akismet/akismet.php',
|
335 |
+
'public'=> 1,
|
336 |
+
)
|
337 |
+
);*/
|
338 |
+
|
339 |
+
$addons['backup'] = $this->putAddon(
|
340 |
+
array(
|
341 |
+
'title' => 'BackUp ',
|
342 |
+
'category' => 'navigation',
|
343 |
+
'slug' => 'backup',
|
344 |
+
'desc' => 'Advanced gallery backup add-on with wide range of backup customization modes. Back up and restore galleries with or without images in few clicks.',
|
345 |
+
'included' => 1
|
346 |
+
)
|
347 |
+
);
|
348 |
+
|
349 |
+
$addons['stats'] = $this->putAddon(
|
350 |
+
array(
|
351 |
+
'title' => 'Statistics',
|
352 |
+
'category' => 'menu',
|
353 |
+
'slug' => 'stats',
|
354 |
+
'desc' => 'Advanced statistics gallery add-on with very simple and effective interface. Just few clicks and you get all information for your gallery users visits. View statistics by gallery / total / all elements.',
|
355 |
+
'included' => 1,
|
356 |
+
)
|
357 |
+
);
|
358 |
+
|
359 |
+
return $addons;
|
360 |
+
}
|
361 |
+
|
362 |
+
public function getCategories(){
|
363 |
+
return Array (
|
364 |
+
'all' => Array ( 'name' => 'All' ),
|
365 |
+
'activated' => Array ( 'name' => 'Active' ),
|
366 |
+
/* 'featured' => Array ( 'name' => 'Featured' ),
|
367 |
+
'free' => Array ( 'name' => 'Free' ),*/
|
368 |
+
'premium' => Array ( 'name' => 'Premium' ),
|
369 |
+
);
|
370 |
+
}
|
371 |
+
|
372 |
+
function checkPluginStatus( $plugin ){
|
373 |
+
|
374 |
+
$status = array(
|
375 |
+
'download' => 0,
|
376 |
+
'active' => 0,
|
377 |
+
'message' => '',
|
378 |
+
'error' => 0,
|
379 |
+
);
|
380 |
+
|
381 |
+
if( !$plugin ){
|
382 |
+
$status['error'] = 1;
|
383 |
+
$status['message'] = 'Error:: input parameters is empty';
|
384 |
+
|
385 |
+
return $status;
|
386 |
+
}
|
387 |
+
|
388 |
+
if( $plugin && isset( $this->addons[$plugin] ) ){
|
389 |
+
|
390 |
+
$item = $this->addons[$plugin];
|
391 |
+
|
392 |
+
if($item['included']){
|
393 |
+
$status['download'] = 1;
|
394 |
+
$status['active'] = get_option( ROBO_GALLERY_OPTIONS.'addon_'.$plugin, 0 ) ? 1 : 0;
|
395 |
+
return $status;
|
396 |
+
}
|
397 |
+
|
398 |
+
/* for not included */
|
399 |
+
if( isset($item['slug']) && isset($item['file']) ){
|
400 |
+
|
401 |
+
$plugin_dir = ABSPATH . 'wp-content/plugins/'.$item['slug'].'/';
|
402 |
+
$plugin_file = ABSPATH . 'wp-content/plugins/'.$item['file'];
|
403 |
+
|
404 |
+
if ( is_dir($plugin_dir) && file_exists($plugin_file) ){
|
405 |
+
|
406 |
+
$status['download'] = 1;
|
407 |
+
|
408 |
+
if( is_plugin_active( $item['file'] ) ) $status['active'] = 1;
|
409 |
+
}
|
410 |
+
|
411 |
+
} else {
|
412 |
+
$status['message'] = 'Error:: plugin file is empty';
|
413 |
+
$status['error'] = 1;
|
414 |
+
}
|
415 |
+
|
416 |
+
} else {
|
417 |
+
$status['message'] = 'Error:: plugin name is empty';
|
418 |
+
$status['error'] = 1;
|
419 |
+
}
|
420 |
+
|
421 |
+
return $status;
|
422 |
+
}
|
423 |
+
|
424 |
+
function getPluginStatus( ){
|
425 |
+
$plugin = sanitize_text_field( $_POST['plugin'] );
|
426 |
+
|
427 |
+
$status = $this->checkPluginStatus($plugin);
|
428 |
+
|
429 |
+
echo json_encode($status);
|
430 |
+
exit;
|
431 |
+
}
|
432 |
+
|
433 |
+
|
434 |
+
protected function checkPermission(){
|
435 |
+
if (!current_user_can('activate_plugins')) {
|
436 |
+
header('HTTP/1.0 403 Forbidden');
|
437 |
+
echo __("You don't have permission for activate plugin");
|
438 |
+
die();
|
439 |
+
}
|
440 |
+
}
|
441 |
+
|
442 |
+
|
443 |
+
}
|
app/extensions/manager/css/index.html
ADDED
File without changes
|
app/extensions/manager/css/style.css
ADDED
@@ -0,0 +1,175 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
.rbs-gallery-addon-wrap {
|
2 |
+
margin-left: 0;
|
3 |
+
width: 98%;
|
4 |
+
max-width: 98%;
|
5 |
+
}
|
6 |
+
|
7 |
+
.rbs-gallery-addon-browser{
|
8 |
+
margin-top: 10px;
|
9 |
+
width: 100%;
|
10 |
+
position: relative;
|
11 |
+
}
|
12 |
+
|
13 |
+
|
14 |
+
|
15 |
+
.spinner {
|
16 |
+
position: absolute;
|
17 |
+
margin-top: 15px;
|
18 |
+
}
|
19 |
+
|
20 |
+
.rbs-gallery-addon-browser * {
|
21 |
+
box-sizing: border-box;
|
22 |
+
}
|
23 |
+
|
24 |
+
.rbs-gallery-nav-tabs a:focus{
|
25 |
+
box-shadow: none;
|
26 |
+
}
|
27 |
+
|
28 |
+
.rbs-gallery-addon-items{
|
29 |
+
padding: 0;
|
30 |
+
margin: 0;
|
31 |
+
}
|
32 |
+
|
33 |
+
.rbs-gallery-addon-items .rbs-gallery-addon-item{
|
34 |
+
/* background-color: #767676; */ /* grey */
|
35 |
+
font-size: 50px;
|
36 |
+
padding: 10px 20px 10px 20px;
|
37 |
+
font-weight: bold;
|
38 |
+
color: white;
|
39 |
+
margin-top: 15px;
|
40 |
+
margin-bottom: 15px;
|
41 |
+
position: relative;
|
42 |
+
line-height: normal;
|
43 |
+
}
|
44 |
+
|
45 |
+
.rbs-gallery-addons-labels{
|
46 |
+
float: left;
|
47 |
+
margin-left: 20px;
|
48 |
+
margin-right: 20px;
|
49 |
+
display: inline-block;
|
50 |
+
vertical-align: middle;
|
51 |
+
/* margin-top: -9px; */
|
52 |
+
}
|
53 |
+
.rbs-gallery-addons-labels .twoj-addon-label{
|
54 |
+
/* background-color: #767676; */ /* grey */
|
55 |
+
font-size: 14px;
|
56 |
+
padding: 0px 6px 2px 6px;
|
57 |
+
font-weight: bold;
|
58 |
+
color: white;
|
59 |
+
margin: 0;
|
60 |
+
cursor: pointer;
|
61 |
+
}
|
62 |
+
|
63 |
+
|
64 |
+
.rbs-gallery-addon-item .addon-desc{
|
65 |
+
font-size: 16px;
|
66 |
+
padding: 0px 0px 5px 0px;
|
67 |
+
text-align: justify;
|
68 |
+
}
|
69 |
+
|
70 |
+
|
71 |
+
.rbs-gallery-addon-item .icon-plugin{
|
72 |
+
font-size: 69px;
|
73 |
+
margin: 0;
|
74 |
+
padding: 0;
|
75 |
+
width: auto;
|
76 |
+
height: auto;
|
77 |
+
}
|
78 |
+
.rbs-gallery-addon-item .icon-loading{
|
79 |
+
margin-bottom: 4px;
|
80 |
+
vertical-align: middle;
|
81 |
+
}
|
82 |
+
|
83 |
+
.icon-loading-hide{
|
84 |
+
display: none;
|
85 |
+
}
|
86 |
+
|
87 |
+
.rbs-gallery-addon-item .icon-loading.spin {
|
88 |
+
animation: icon-loading-spin 1s infinite;
|
89 |
+
animation-timing-function: linear;
|
90 |
+
}
|
91 |
+
|
92 |
+
@keyframes icon-loading-spin {
|
93 |
+
0%{ transform: rotate( 0deg ); }
|
94 |
+
100%{ transform: rotate( 360deg ); }
|
95 |
+
}
|
96 |
+
|
97 |
+
.rbs-gallery-addon-item .addon-title{
|
98 |
+
|
99 |
+
}
|
100 |
+
|
101 |
+
|
102 |
+
|
103 |
+
|
104 |
+
.rbs-gallery-addon-item.addon-activated,
|
105 |
+
.rbs-gallery-addons-labels .addon-activated{
|
106 |
+
background-color: #767676;
|
107 |
+
}
|
108 |
+
|
109 |
+
.rbs-gallery-addon-item a.addon-button {
|
110 |
+
position: absolute;
|
111 |
+
right: 20px;
|
112 |
+
top: 30px;
|
113 |
+
}
|
114 |
+
|
115 |
+
.rbs-gallery-addon-item.uncolored,
|
116 |
+
.twoj-addon-label.uncolored{
|
117 |
+
background-color: #d7dadd;
|
118 |
+
/* opacity: 0.12; */
|
119 |
+
}
|
120 |
+
|
121 |
+
.addon-lightbox{
|
122 |
+
background-color: #21ba45; /* green */
|
123 |
+
}
|
124 |
+
.addon-menu{
|
125 |
+
background-color: #db2828; /* red */
|
126 |
+
}
|
127 |
+
|
128 |
+
.addon-interface{
|
129 |
+
background-color: #a333c8; /* purple */
|
130 |
+
}
|
131 |
+
.addon-navigation{
|
132 |
+
background-color: #e03997; /* pink */
|
133 |
+
}
|
134 |
+
|
135 |
+
.addon-gallery{
|
136 |
+
background-color: #00b5ad; /* teal */
|
137 |
+
}
|
138 |
+
|
139 |
+
|
140 |
+
.rbs-gallery-addon-item.element{
|
141 |
+
background-color: #b5cc18; /* olive */
|
142 |
+
}
|
143 |
+
.rbs-gallery-addon-item.element{
|
144 |
+
background-color: #6435c9; /* violet */
|
145 |
+
}
|
146 |
+
|
147 |
+
.rbs-gallery-addon-item.element{
|
148 |
+
background-color: #a5673f; /* brown */
|
149 |
+
}
|
150 |
+
|
151 |
+
.download-error{
|
152 |
+
border: 1px solid;
|
153 |
+
margin: -15px 0 15px 0;
|
154 |
+
padding: 10px;
|
155 |
+
|
156 |
+
color:#fff!important;
|
157 |
+
background-color:#f44336!important;
|
158 |
+
box-shadow: 0 4px 10px 0 rgba(0,0,0,0.2),0 4px 20px 0 rgba(0,0,0,0.19);
|
159 |
+
}
|
160 |
+
.error-hide{
|
161 |
+
display: none;
|
162 |
+
}
|
163 |
+
|
164 |
+
@media screen and ( max-width: 600px ) {
|
165 |
+
.rbs-gallery-addon-item .icon-plugin{ display: none; }
|
166 |
+
.rbs-gallery-addon-items .rbs-gallery-addon-item{ font-size: 30px; }
|
167 |
+
.rbs-gallery-addon-item a.addon-button { top: 15px;}
|
168 |
+
.rbs-gallery-addon-item .addon-desc{ padding: 0px; font-size: 14px; }
|
169 |
+
}
|
170 |
+
@media screen and ( max-width: 800px ) {
|
171 |
+
.rbs-gallery-addons-labels{ display: none; }
|
172 |
+
.extension-reload{ display: none; }
|
173 |
+
}
|
174 |
+
|
175 |
+
|
app/extensions/manager/index.html
ADDED
File without changes
|
app/extensions/manager/init.php
ADDED
@@ -0,0 +1,17 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/*
|
3 |
+
* Robo Gallery
|
4 |
+
* Version: 2.7.16 - 94417
|
5 |
+
* By Robosoft
|
6 |
+
*
|
7 |
+
* Contact: https://robosoft.co/robogallery/
|
8 |
+
* Created: 2015
|
9 |
+
* Licensed under the GPLv2 license - http://opensource.org/licenses/gpl-2.0.php
|
10 |
+
|
11 |
+
*/
|
12 |
+
|
13 |
+
if ( ! defined( 'ABSPATH' ) ) exit;
|
14 |
+
|
15 |
+
include_once plugin_dir_path( __FILE__ ).'class.addons.php';
|
16 |
+
|
17 |
+
new rbsGalleryAddons( ROBO_GALLERY_TYPE_POST );
|
app/extensions/manager/js/index.html
ADDED
File without changes
|
app/extensions/manager/js/script.js
ADDED
@@ -0,0 +1,408 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
(function(RBPLUGINMANAGER, $, undefined) {
|
2 |
+
|
3 |
+
RBPLUGINMANAGER.showSpinner = function($btn) {
|
4 |
+
var $container = $btn.find('.icon-loading.dashicons-update');
|
5 |
+
$container.removeClass('icon-loading-hide').addClass('spin');
|
6 |
+
};
|
7 |
+
|
8 |
+
RBPLUGINMANAGER.hideSpinner = function($btn) {
|
9 |
+
var $container = $btn.find('.icon-loading.dashicons-update');
|
10 |
+
$container.removeClass('spin').addClass('icon-loading-hide');
|
11 |
+
};
|
12 |
+
|
13 |
+
RBPLUGINMANAGER.showError = function($btn) {
|
14 |
+
$btn.parent().next('.download-error').css('display', 'block');
|
15 |
+
};
|
16 |
+
|
17 |
+
RBPLUGINMANAGER.updateButtonLabel = function($btn, label) {
|
18 |
+
$btn.find('span.text').text(label);
|
19 |
+
};
|
20 |
+
|
21 |
+
RBPLUGINMANAGER.clearClassButton = function( $btn , newClass) {
|
22 |
+
$btn.removeClass('addon-activate addon-download addon-link thickbox open-plugin-details-modal').addClass(newClass);
|
23 |
+
};
|
24 |
+
|
25 |
+
|
26 |
+
RBPLUGINMANAGER.updateButtonActivated = function($btn) {
|
27 |
+
RBPLUGINMANAGER.updateButtonLabel( $btn, rbsGalleryAddonAttributes.labels.installed );
|
28 |
+
RBPLUGINMANAGER.hideSpinner( $btn );
|
29 |
+
if( $btn.attr('data-commercial') == 1 ){
|
30 |
+
RBPLUGINMANAGER.clearClassButton( $btn, 'addon-link');
|
31 |
+
$btn.attr('href', $btn.attr('data-url'));
|
32 |
+
} else {
|
33 |
+
RBPLUGINMANAGER.clearClassButton( $btn, 'addon-link thickbox open-plugin-details-modal');
|
34 |
+
$btn.attr('href', $btn.attr('data-information'));
|
35 |
+
}
|
36 |
+
|
37 |
+
$btn.parent().addClass('addon-activated');
|
38 |
+
$btn.find('.dashicons-yes').removeClass('icon-loading-hide');
|
39 |
+
};
|
40 |
+
|
41 |
+
RBPLUGINMANAGER.updateButtonIncludedActivated = function($btn) {
|
42 |
+
RBPLUGINMANAGER.updateButtonLabel( $btn, rbsGalleryAddonAttributes.labels.activated );
|
43 |
+
$btn.find('.dashicons-yes').removeClass('icon-loading-hide');
|
44 |
+
RBPLUGINMANAGER.clearClassButton( $btn);
|
45 |
+
RBPLUGINMANAGER.hideSpinner( $btn );
|
46 |
+
setTimeout(function() {
|
47 |
+
RBPLUGINMANAGER.updateButtonLabel( $btn, rbsGalleryAddonAttributes.labels.deactivate );
|
48 |
+
RBPLUGINMANAGER.clearClassButton( $btn, 'addon-deactivate');
|
49 |
+
$btn.find('.dashicons-yes').addClass('icon-loading-hide');
|
50 |
+
$btn.parent().addClass('addon-activated');
|
51 |
+
$btn.removeClass('disabled');
|
52 |
+
}, 2000);
|
53 |
+
};
|
54 |
+
|
55 |
+
RBPLUGINMANAGER.updateButtonIncludedDeactivated = function($btn) {
|
56 |
+
RBPLUGINMANAGER.updateButtonLabel( $btn, rbsGalleryAddonAttributes.labels.deactivated );
|
57 |
+
$btn.find('.dashicons-yes').removeClass('icon-loading-hide');
|
58 |
+
RBPLUGINMANAGER.clearClassButton( $btn);
|
59 |
+
RBPLUGINMANAGER.hideSpinner( $btn );
|
60 |
+
setTimeout(function() {
|
61 |
+
RBPLUGINMANAGER.updateButtonLabel( $btn, rbsGalleryAddonAttributes.labels.activate );
|
62 |
+
RBPLUGINMANAGER.clearClassButton( $btn, 'addon-activate');
|
63 |
+
$btn.find('.dashicons-yes').addClass('icon-loading-hide');
|
64 |
+
$btn.parent().removeClass('addon-activated');
|
65 |
+
$btn.removeClass('disabled');
|
66 |
+
}, 2000);
|
67 |
+
};
|
68 |
+
|
69 |
+
|
70 |
+
|
71 |
+
rbsGalleryAddonAttributes
|
72 |
+
|
73 |
+
RBPLUGINMANAGER.bindActionButtons = function() {
|
74 |
+
$('a.addon-button').on('click', function(e) {
|
75 |
+
|
76 |
+
var $btn = $(this);
|
77 |
+
|
78 |
+
|
79 |
+
if ($btn.attr('target') == '_blank' || $btn.hasClass('addon-link') ) {
|
80 |
+
console.log('open link');
|
81 |
+
return true;
|
82 |
+
}
|
83 |
+
|
84 |
+
e.preventDefault();
|
85 |
+
|
86 |
+
if ($btn.is('.disabled')) {
|
87 |
+
console.log('disabled');
|
88 |
+
return false;
|
89 |
+
}
|
90 |
+
|
91 |
+
/*var confirmMsg = $(this).data('confirm');
|
92 |
+
|
93 |
+
if (confirmMsg) {
|
94 |
+
console.log('with confirmation');
|
95 |
+
if (confirm(confirmMsg)) {
|
96 |
+
RBPLUGINMANAGER.showSpinner($btn);
|
97 |
+
$btn.addClass('disabled');
|
98 |
+
} else {
|
99 |
+
return false;
|
100 |
+
}
|
101 |
+
} else {*/
|
102 |
+
|
103 |
+
$btn.addClass('disabled');
|
104 |
+
RBPLUGINMANAGER.showSpinner($btn);
|
105 |
+
|
106 |
+
console.log('without confirmation');
|
107 |
+
|
108 |
+
if( $btn.hasClass('addon-activate') ){
|
109 |
+
|
110 |
+
if( $btn.data('included')==1 ) RBPLUGINMANAGER.activateIncludedPlugin( $btn );
|
111 |
+
else RBPLUGINMANAGER.activatePlugin( $btn );
|
112 |
+
|
113 |
+
}else if($btn.hasClass('addon-deactivate')) {
|
114 |
+
|
115 |
+
if( $btn.data('included')==1 ) RBPLUGINMANAGER.deactivateIncludedPlugin( $btn );
|
116 |
+
|
117 |
+
}else if($btn.hasClass('addon-download')) {
|
118 |
+
|
119 |
+
RBPLUGINMANAGER.downloadPlugin( $btn );
|
120 |
+
|
121 |
+
}
|
122 |
+
|
123 |
+
return false;
|
124 |
+
/*}*/
|
125 |
+
});
|
126 |
+
};
|
127 |
+
|
128 |
+
|
129 |
+
|
130 |
+
RBPLUGINMANAGER.downloadPlugin = function( $btn ) {
|
131 |
+
|
132 |
+
var url = $btn.data('download'),
|
133 |
+
slug = $btn.data('slug'),
|
134 |
+
code = $btn.data('code');
|
135 |
+
|
136 |
+
RBPLUGINMANAGER.updateButtonLabel( $btn, rbsGalleryAddonAttributes.labels.downloading );
|
137 |
+
|
138 |
+
console.log('download slug:'+slug+' code:'+code);
|
139 |
+
console.log('Download ' + url);
|
140 |
+
|
141 |
+
jQuery.ajax({
|
142 |
+
method: "POST",
|
143 |
+
url: url,
|
144 |
+
}).done(function() {
|
145 |
+
|
146 |
+
console.log('Done download');
|
147 |
+
|
148 |
+
jQuery.ajax({ // Check if plugin installed
|
149 |
+
type: 'POST',
|
150 |
+
url: ajaxurl,
|
151 |
+
|
152 |
+
data: {
|
153 |
+
'action': 'rb_check_status',
|
154 |
+
'plugin': code
|
155 |
+
},
|
156 |
+
|
157 |
+
error: function(){
|
158 |
+
console.log('Error: check unsuccessful');
|
159 |
+
RBPLUGINMANAGER.hideSpinner( $btn );
|
160 |
+
RBPLUGINMANAGER.showError( $btn );
|
161 |
+
},
|
162 |
+
success: function(response){
|
163 |
+
var pluginStatus = JSON.parse( response );
|
164 |
+
|
165 |
+
console.log(pluginStatus);
|
166 |
+
|
167 |
+
if( pluginStatus.download == 1) {
|
168 |
+
/* plugin downloaded */
|
169 |
+
if(pluginStatus.active==1){
|
170 |
+
/* plugin activate */
|
171 |
+
RBPLUGINMANAGER.updateButtonActivated( $btn);
|
172 |
+
} else {
|
173 |
+
/* plugin don't activate */
|
174 |
+
RBPLUGINMANAGER.activatePlugin( $btn );
|
175 |
+
}
|
176 |
+
|
177 |
+
} else {
|
178 |
+
console.log('Error: download unsuccessful');
|
179 |
+
RBPLUGINMANAGER.hideSpinner( $btn );
|
180 |
+
RBPLUGINMANAGER.showError( $btn );
|
181 |
+
}
|
182 |
+
}
|
183 |
+
});
|
184 |
+
})
|
185 |
+
.fail(function() {
|
186 |
+
console.log('Error: send request unsuccessful');
|
187 |
+
RBPLUGINMANAGER.hideSpinner( $btn );
|
188 |
+
RBPLUGINMANAGER.showError( $btn );
|
189 |
+
});
|
190 |
+
|
191 |
+
};
|
192 |
+
|
193 |
+
RBPLUGINMANAGER.activateIncludedPlugin = function( $btn ) {
|
194 |
+
|
195 |
+
|
196 |
+
var url = $btn.data('activate'),
|
197 |
+
slug = $btn.data('slug'),
|
198 |
+
code = $btn.data('code');
|
199 |
+
|
200 |
+
console.log('Activate Included slug:'+slug+' code:'+code);
|
201 |
+
console.log('Activate ' + url);
|
202 |
+
|
203 |
+
RBPLUGINMANAGER.updateButtonLabel( $btn, rbsGalleryAddonAttributes.labels.activating )
|
204 |
+
|
205 |
+
jQuery.ajax({
|
206 |
+
method: "POST",
|
207 |
+
url: ajaxurl,
|
208 |
+
|
209 |
+
data: {
|
210 |
+
'action': 'rb_activate_included_plugin',
|
211 |
+
'plugin': code
|
212 |
+
},
|
213 |
+
}).done(function() {
|
214 |
+
console.log('Activated');
|
215 |
+
|
216 |
+
jQuery.ajax({ // Check if plugin installed
|
217 |
+
type: 'POST',
|
218 |
+
url: ajaxurl,
|
219 |
+
data: {
|
220 |
+
'action': 'rb_check_status',
|
221 |
+
'plugin': code
|
222 |
+
},
|
223 |
+
error: function(){
|
224 |
+
RBPLUGINMANAGER.hideSpinner($btn);
|
225 |
+
RBPLUGINMANAGER.showError($btn);
|
226 |
+
},
|
227 |
+
success: function(response){
|
228 |
+
var pluginStatus = JSON.parse(response);
|
229 |
+
|
230 |
+
console.log(pluginStatus);
|
231 |
+
|
232 |
+
if( pluginStatus.download == 1 && pluginStatus.active==1 ) {
|
233 |
+
/* plugin active */
|
234 |
+
RBPLUGINMANAGER.updateButtonIncludedActivated( $btn);
|
235 |
+
} else {
|
236 |
+
RBPLUGINMANAGER.hideSpinner($btn);
|
237 |
+
RBPLUGINMANAGER.showError($btn);
|
238 |
+
}
|
239 |
+
}
|
240 |
+
});
|
241 |
+
})
|
242 |
+
.fail(function() {
|
243 |
+
RBPLUGINMANAGER.hideSpinner($btn);
|
244 |
+
RBPLUGINMANAGER.showError($btn);
|
245 |
+
});
|
246 |
+
|
247 |
+
};
|
248 |
+
|
249 |
+
RBPLUGINMANAGER.deactivateIncludedPlugin = function( $btn ) {
|
250 |
+
|
251 |
+
|
252 |
+
var slug = $btn.data('slug'),
|
253 |
+
code = $btn.data('code');
|
254 |
+
|
255 |
+
console.log('Deactivate Included slug:'+slug+' code:'+code);
|
256 |
+
|
257 |
+
RBPLUGINMANAGER.updateButtonLabel( $btn, rbsGalleryAddonAttributes.labels.deactivating )
|
258 |
+
|
259 |
+
jQuery.ajax({
|
260 |
+
method: "POST",
|
261 |
+
url: ajaxurl,
|
262 |
+
|
263 |
+
data: {
|
264 |
+
'action': 'rb_deactivate_included_plugin',
|
265 |
+
'plugin': code
|
266 |
+
},
|
267 |
+
}).done(function() {
|
268 |
+
console.log('Deactivated');
|
269 |
+
|
270 |
+
jQuery.ajax({ // Check if plugin installed
|
271 |
+
type: 'POST',
|
272 |
+
url: ajaxurl,
|
273 |
+
data: {
|
274 |
+
'action': 'rb_check_status',
|
275 |
+
'plugin': code
|
276 |
+
},
|
277 |
+
error: function(){
|
278 |
+
RBPLUGINMANAGER.hideSpinner($btn);
|
279 |
+
RBPLUGINMANAGER.showError($btn);
|
280 |
+
},
|
281 |
+
success: function(response){
|
282 |
+
var pluginStatus = JSON.parse(response);
|
283 |
+
|
284 |
+
console.log(pluginStatus);
|
285 |
+
|
286 |
+
if( pluginStatus.active==0 ) {
|
287 |
+
/* plugin active */
|
288 |
+
RBPLUGINMANAGER.updateButtonIncludedDeactivated( $btn);
|
289 |
+
} else {
|
290 |
+
RBPLUGINMANAGER.hideSpinner($btn);
|
291 |
+
RBPLUGINMANAGER.showError($btn);
|
292 |
+
}
|
293 |
+
}
|
294 |
+
});
|
295 |
+
})
|
296 |
+
.fail(function() {
|
297 |
+
RBPLUGINMANAGER.hideSpinner($btn);
|
298 |
+
RBPLUGINMANAGER.showError($btn);
|
299 |
+
});
|
300 |
+
|
301 |
+
};
|
302 |
+
|
303 |
+
RBPLUGINMANAGER.activatePlugin = function( $btn ) {
|
304 |
+
|
305 |
+
|
306 |
+
var url = $btn.data('activate'),
|
307 |
+
slug = $btn.data('slug'),
|
308 |
+
code = $btn.data('code');
|
309 |
+
|
310 |
+
console.log('Activate slug:'+slug+' code:'+code);
|
311 |
+
console.log('Activate ' + url);
|
312 |
+
|
313 |
+
RBPLUGINMANAGER.updateButtonLabel( $btn, rbsGalleryAddonAttributes.labels.activating )
|
314 |
+
|
315 |
+
jQuery.ajax({
|
316 |
+
method: "POST",
|
317 |
+
url: url,
|
318 |
+
}).done(function() {
|
319 |
+
console.log('Activated');
|
320 |
+
|
321 |
+
jQuery.ajax({ // Check if plugin installed
|
322 |
+
type: 'POST',
|
323 |
+
url: ajaxurl,
|
324 |
+
data: {
|
325 |
+
'action': 'rb_check_status',
|
326 |
+
'plugin': code
|
327 |
+
},
|
328 |
+
error: function(){
|
329 |
+
RBPLUGINMANAGER.hideSpinner($btn);
|
330 |
+
RBPLUGINMANAGER.showError($btn);
|
331 |
+
},
|
332 |
+
success: function(response){
|
333 |
+
var pluginStatus = JSON.parse(response);
|
334 |
+
|
335 |
+
console.log(pluginStatus);
|
336 |
+
|
337 |
+
if( pluginStatus.download == 1 && pluginStatus.active==1 ) {
|
338 |
+
/* plugin active */
|
339 |
+
RBPLUGINMANAGER.updateButtonActivated( $btn);
|
340 |
+
} else {
|
341 |
+
RBPLUGINMANAGER.hideSpinner($btn);
|
342 |
+
RBPLUGINMANAGER.showError($btn);
|
343 |
+
}
|
344 |
+
}
|
345 |
+
});
|
346 |
+
})
|
347 |
+
.fail(function() {
|
348 |
+
RBPLUGINMANAGER.hideSpinner($btn);
|
349 |
+
RBPLUGINMANAGER.showError($btn);
|
350 |
+
});
|
351 |
+
|
352 |
+
};
|
353 |
+
|
354 |
+
//hook up clicking the tag links above the extensions
|
355 |
+
RBPLUGINMANAGER.bindTagLinks = function() {
|
356 |
+
$('.rbs-gallery-addons-labels span.twoj-addon-label').on('click', function() {
|
357 |
+
var tag = $(this);
|
358 |
+
var filter = tag.data('category');
|
359 |
+
if( tag.hasClass('click') ){
|
360 |
+
$('.rbs-gallery-addon-browser .extensions .rbs-gallery-addon-item').removeClass('uncolored');
|
361 |
+
$('.rbs-gallery-addons-labels .twoj-addon-label').removeClass('uncolored');
|
362 |
+
tag.removeClass('click');
|
363 |
+
} else {
|
364 |
+
$('.rbs-gallery-addon-browser .rbs-gallery-addon-item').addClass('uncolored');
|
365 |
+
$('.rbs-gallery-addons-labels .twoj-addon-label').addClass('uncolored').removeClass('click');
|
366 |
+
$('.rbs-gallery-addon-browser .extensions .addon-' + filter).removeClass('uncolored');
|
367 |
+
$('.rbs-gallery-addon-browser .extensions .addon-' + filter).prependTo('.rbs-gallery-addon-browser .extensions');
|
368 |
+
$('.rbs-gallery-addons-labels .twoj-addon-label.addon-' + filter).removeClass('uncolored').addClass('click');
|
369 |
+
}
|
370 |
+
|
371 |
+
|
372 |
+
});
|
373 |
+
};
|
374 |
+
|
375 |
+
RBPLUGINMANAGER.bindTabs = function() {
|
376 |
+
$(".rbs-gallery-nav-tabs a.nav-tab").click( function(e) {
|
377 |
+
|
378 |
+
e.preventDefault();
|
379 |
+
|
380 |
+
$this = $(this);
|
381 |
+
|
382 |
+
$this.parents(".nav-tab-wrapper:first").find(".nav-tab-active").removeClass("nav-tab-active");
|
383 |
+
$this.addClass("nav-tab-active");
|
384 |
+
|
385 |
+
var filter = $this.attr('href').replace('#', '');
|
386 |
+
$('.rbs-gallery-addon-browser .extensions .rbs-gallery-addon-item').hide();
|
387 |
+
$('.rbs-gallery-addon-browser .extensions .addon-' + filter).show();
|
388 |
+
});
|
389 |
+
|
390 |
+
if (window.location.hash) {
|
391 |
+
$('a.nav-tab[href="' + window.location.hash + '"]').click();
|
392 |
+
} else {
|
393 |
+
$('a.nav-tab-all').click();
|
394 |
+
}
|
395 |
+
|
396 |
+
return false;
|
397 |
+
};
|
398 |
+
|
399 |
+
$(function() { //wait for ready
|
400 |
+
|
401 |
+
RBPLUGINMANAGER.bindTabs();
|
402 |
+
RBPLUGINMANAGER.bindActionButtons();
|
403 |
+
RBPLUGINMANAGER.bindTagLinks();
|
404 |
+
});
|
405 |
+
|
406 |
+
}( window.RBPLUGINMANAGER = window.RBPLUGINMANAGER || {}, jQuery));
|
407 |
+
|
408 |
+
|
app/extensions/manager/templates/addon.tpl.php
ADDED
@@ -0,0 +1,106 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
$class = '';
|
4 |
+
|
5 |
+
if( $status['active'] ) $class=" addon-deactivate ";
|
6 |
+
if( !$status['active'] && $status['download'] ) $class=" addon-activate ";
|
7 |
+
if( !$status['download'] & !$commercial ) $class=" addon-download ";
|
8 |
+
if( $commercial && !$status['download'] ) $class=" addon-link ";
|
9 |
+
|
10 |
+
|
11 |
+
?>
|
12 |
+
<div class="rbs-gallery-addon-item addon-all<?php
|
13 |
+
echo ' addon-'.$category;
|
14 |
+
|
15 |
+
if( $status['active'] ) echo ' addon-activated';
|
16 |
+
if( $commercial ) echo ' addon-premium';
|
17 |
+
|
18 |
+
?>">
|
19 |
+
<span class="dashicons dashicons-admin-plugins icon-plugin"></span>
|
20 |
+
<span class="addon-title"><?php echo $title; ?></span>
|
21 |
+
|
22 |
+
<?php if( $status['active'] && $included ){ ?>
|
23 |
+
<a
|
24 |
+
href="<?php echo admin_url($url); ?>"
|
25 |
+
data-slug="<?php echo $slug;?>"
|
26 |
+
data-code="<?php echo $code;?>"
|
27 |
+
<?php if( $included ) echo ' data-included="1" ';?>
|
28 |
+
class=" button button-primary addon-button addon-deactivate"
|
29 |
+
>
|
30 |
+
<span class="dashicons dashicons-update icon-loading icon-loading-hide"></span>
|
31 |
+
<span class="dashicons dashicons-yes icon-loading icon-loading-hide"></span>
|
32 |
+
|
33 |
+
<span class="text"> <?php _e('Deactivate'); ?></span>
|
34 |
+
</a>
|
35 |
+
<?php } ?>
|
36 |
+
|
37 |
+
<?php if( $status['active'] && !$included ){ ?>
|
38 |
+
<a
|
39 |
+
href="<?php echo $pluginManagerUrl; ?>"
|
40 |
+
data-slug="<?php echo $slug;?>"
|
41 |
+
data-code="<?php echo $code;?>"
|
42 |
+
<?php if( $included ) echo ' data-included="1" ';?>
|
43 |
+
class=" button button-primary addon-button addon-link addon-deactivate"
|
44 |
+
>
|
45 |
+
<span class="dashicons dashicons-update icon-loading icon-loading-hide"></span>
|
46 |
+
<span class="dashicons dashicons-yes icon-loading icon-loading-hide"></span>
|
47 |
+
|
48 |
+
<span class="text"> <?php _e('Deactivate'); ?></span>
|
49 |
+
</a>
|
50 |
+
<?php } ?>
|
51 |
+
|
52 |
+
<?php if( !$status['active'] && $status['download'] ){ ?>
|
53 |
+
<a href="#"
|
54 |
+
data-slug="<?php echo $slug;?>"
|
55 |
+
data-code="<?php echo $code;?>"
|
56 |
+
data-url="<?php echo $url; ?>"
|
57 |
+
|
58 |
+
data-activate="<?php echo $activateUrl; ?>"
|
59 |
+
data-deactivate="<?php echo $deactivateUrl; ?>"
|
60 |
+
data-information="<?php echo $informationUrl; ?>"
|
61 |
+
<?php if( $included ) echo ' data-included="1" ';?>
|
62 |
+
<?php if( $commercial ) echo ' data-commercial="1" ';?>
|
63 |
+
class="button button-primary addon-button addon-activate"
|
64 |
+
>
|
65 |
+
<span class="dashicons dashicons-update icon-loading icon-loading-hide"></span>
|
66 |
+
<span class="dashicons dashicons-yes icon-loading icon-loading-hide"></span>
|
67 |
+
|
68 |
+
<span class="text"> <?php _e('Activate'); ?></span>
|
69 |
+
</a>
|
70 |
+
<?php } ?>
|
71 |
+
|
72 |
+
<?php if( !$status['download'] & !$commercial ){ ?>
|
73 |
+
<a href="#"
|
74 |
+
data-code="<?php echo $code;?>"
|
75 |
+
data-slug="<?php echo $slug;?>"
|
76 |
+
data-download="<?php echo $downloadUrl; ?>"
|
77 |
+
data-activate="<?php echo $activateUrl; ?>"
|
78 |
+
data-deactivate="<?php echo $deactivateUrl; ?>"
|
79 |
+
data-information="<?php echo $informationUrl; ?>"
|
80 |
+
class="button button-primary addon-button addon-download"
|
81 |
+
>
|
82 |
+
<span class="dashicons dashicons-update icon-loading icon-loading-hide"></span>
|
83 |
+
<span class="dashicons dashicons-yes icon-loading icon-loading-hide"></span>
|
84 |
+
|
85 |
+
<span class="text"> <?php _e('Install Now'); ?> </span>
|
86 |
+
</a>
|
87 |
+
<?php } ?>
|
88 |
+
|
89 |
+
<?php if( $commercial && !$status['download'] ){ ?>
|
90 |
+
<a
|
91 |
+
href="<?php echo $url;?>"
|
92 |
+
class="button button-primary addon-button addon-link"
|
93 |
+
>
|
94 |
+
<span class="dashicons dashicons-update icon-loading icon-loading-hide"></span>
|
95 |
+
<span class="dashicons dashicons-yes icon-loading icon-loading-hide"></span>
|
96 |
+
|
97 |
+
<span class="text"> <?php echo __('Purchase'); ?></span>
|
98 |
+
</a>
|
99 |
+
<?php } ?>
|
100 |
+
|
101 |
+
<div class="addon-desc"><?php _e($desc); ?></div>
|
102 |
+
|
103 |
+
</div>
|
104 |
+
<div class="download-error" style="display: none;">
|
105 |
+
<?php echo sprintf( __("Oops ... Something went wrong. Wordpress don't able to download add-on. Please try again later or download it manually from <a class='thickbox open-plugin-details-modal' href='%s'>[here]</a>. In the case if this situation repeat contact our [support team]",'robo-gallery'), $informationUrl ); ?>
|
106 |
+
</div>
|
app/extensions/manager/templates/addons.tpl.php
ADDED
@@ -0,0 +1,34 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<style>
|
2 |
+
|
3 |
+
</style>
|
4 |
+
<div class="wrap rbs-gallery-addon-wrap">
|
5 |
+
<h1>
|
6 |
+
<?php printf( __( '%s Add-ons', 'yo-gallery' ), rbsGalleryBrand::getPluginName() ); ?>
|
7 |
+
<span class="spinner"></span>
|
8 |
+
</h1>
|
9 |
+
|
10 |
+
<div class="rbs-gallery-addon-text">
|
11 |
+
<?php printf( __( "Add-ons for %s it's even more awesome functionality and flexibility for the core gallery plugin.", 'yo-gallery' ), rbsGalleryBrand::getPluginName() ); ?>
|
12 |
+
</div>
|
13 |
+
|
14 |
+
<h2 class="rbs-gallery-nav-tabs nav-tab-wrapper">
|
15 |
+
<?php
|
16 |
+
foreach ( $categories as $category_slug => $category ) {
|
17 |
+
echo "<a href=\"#{$category_slug}\" class=\"nav-tab nav-tab-{$category_slug}\">{$category['name']}</a>";
|
18 |
+
}
|
19 |
+
?>
|
20 |
+
<?php if(2==3){ ?>
|
21 |
+
<div class="rbs-gallery-addons-labels">
|
22 |
+
<span class='twoj-addon-label addon-menu' data-category="menu"> <?php _e( 'Menu', 'yo-gallery' ); ?></span>
|
23 |
+
<span class='twoj-addon-label addon-lightbox' data-category="lightbox"> <?php _e( 'Lightbox', 'yo-gallery' ); ?></span>
|
24 |
+
<span class='twoj-addon-label addon-navigation' data-category="navigation"> <?php _e( 'Navigation', 'yo-gallery' ); ?></span>
|
25 |
+
</div>
|
26 |
+
<?php } ?>
|
27 |
+
</h2>
|
28 |
+
</div>
|
29 |
+
|
30 |
+
<div class="rbs-gallery-addon-browser rbs-gallery-addon-items">
|
31 |
+
<div class="extensions">
|
32 |
+
<?php echo $addons; ?>
|
33 |
+
</div>
|
34 |
+
</div>
|
includes/extensions/backup/backup.init.php
CHANGED
@@ -40,7 +40,7 @@ if(!function_exists('rbs_gallery_full_export')){
|
|
40 |
}
|
41 |
|
42 |
$info = pathinfo($exportFileName);
|
43 |
-
if (!$info["extension"]){
|
44 |
$exportFileName.='.zip';
|
45 |
}
|
46 |
|
@@ -77,7 +77,7 @@ if(!function_exists('rbs_gallery_export')){
|
|
77 |
}
|
78 |
|
79 |
$info = pathinfo($exportFileName);
|
80 |
-
if (!$info["extension"]){
|
81 |
$exportFileName.='.xml';
|
82 |
}
|
83 |
|
40 |
}
|
41 |
|
42 |
$info = pathinfo($exportFileName);
|
43 |
+
if ( !isset($info["extension"]) || !$info["extension"] ){
|
44 |
$exportFileName.='.zip';
|
45 |
}
|
46 |
|
77 |
}
|
78 |
|
79 |
$info = pathinfo($exportFileName);
|
80 |
+
if ( !isset($info["extension"]) || !$info["extension"] ){
|
81 |
$exportFileName.='.xml';
|
82 |
}
|
83 |
|
includes/rbs_gallery_init.php
CHANGED
@@ -15,7 +15,7 @@
|
|
15 |
if ( ! defined( 'ABSPATH' ) ) exit;
|
16 |
|
17 |
define( "ROBO_GALLERY_PREFIX", 'rsg_');
|
18 |
-
|
19 |
|
20 |
define( "ROBO_GALLERY_ICON_PRO", '<button type="button" class="btn btn-danger btn-xs rbs-label-pro">Pro</button>');
|
21 |
define( "ROBO_GALLERY_LABEL_PRO", '<span>'.__( 'Available in', 'robo-gallery' ).'</span> '.ROBO_GALLERY_ICON_PRO);
|
@@ -182,8 +182,11 @@ if(!function_exists('rbs_gallery_main_init')){
|
|
182 |
rbs_gallery_include('rbs_create_post_ajax.php', ROBO_GALLERY_EXTENSIONS_PATH);
|
183 |
|
184 |
/* Init function */
|
185 |
-
|
186 |
-
|
|
|
|
|
|
|
187 |
/* category init */
|
188 |
if(
|
189 |
!get_option(ROBO_GALLERY_PREFIX.'categoryShow', 0) &&
|
@@ -194,8 +197,11 @@ if(!function_exists('rbs_gallery_main_init')){
|
|
194 |
|
195 |
rbs_gallery_include('categoryPage/category.init.php', ROBO_GALLERY_EXTENSIONS_PATH);
|
196 |
|
197 |
-
|
198 |
-
|
|
|
|
|
|
|
199 |
}
|
200 |
}
|
201 |
|
15 |
if ( ! defined( 'ABSPATH' ) ) exit;
|
16 |
|
17 |
define( "ROBO_GALLERY_PREFIX", 'rsg_');
|
18 |
+
|
19 |
|
20 |
define( "ROBO_GALLERY_ICON_PRO", '<button type="button" class="btn btn-danger btn-xs rbs-label-pro">Pro</button>');
|
21 |
define( "ROBO_GALLERY_LABEL_PRO", '<span>'.__( 'Available in', 'robo-gallery' ).'</span> '.ROBO_GALLERY_ICON_PRO);
|
182 |
rbs_gallery_include('rbs_create_post_ajax.php', ROBO_GALLERY_EXTENSIONS_PATH);
|
183 |
|
184 |
/* Init function */
|
185 |
+
|
186 |
+
/* backup init */
|
187 |
+
if( get_option( ROBO_GALLERY_OPTIONS.'addon_backup', 0 ) ){
|
188 |
+
rbs_gallery_include('backup/backup.init.php', ROBO_GALLERY_EXTENSIONS_PATH);
|
189 |
+
}
|
190 |
/* category init */
|
191 |
if(
|
192 |
!get_option(ROBO_GALLERY_PREFIX.'categoryShow', 0) &&
|
197 |
|
198 |
rbs_gallery_include('categoryPage/category.init.php', ROBO_GALLERY_EXTENSIONS_PATH);
|
199 |
|
200 |
+
|
201 |
+
/* stats init */
|
202 |
+
if( get_option( ROBO_GALLERY_OPTIONS.'addon_stats', 0 ) ){
|
203 |
+
rbs_gallery_include('stats/stats.init.php', ROBO_GALLERY_EXTENSIONS_PATH);
|
204 |
+
}
|
205 |
}
|
206 |
}
|
207 |
|
readme.txt
CHANGED
@@ -4,7 +4,7 @@ Donate link: https://robosoft.co/robogallery
|
|
4 |
Tags: gallery, photo gallery, image gallery, wordpress gallery plugin, responsive gallery
|
5 |
Requires at least: 3.3
|
6 |
Tested up to: 4.9
|
7 |
-
Stable tag: 2.
|
8 |
License: GPLv2 or later
|
9 |
License URI: https://www.gnu.org/licenses/gpl-3.0.html
|
10 |
|
@@ -37,22 +37,22 @@ Robo Gallery is advanced responsive photo gallery plugin. Flexible gallery image
|
|
37 |
|
38 |
= Gallery Key Features =
|
39 |
|
40 |
-
* **Fully responsive gallery and Mobile features** - advanced responsive gallery.
|
41 |
* **Fade effects** - one of the gallery hover animation it's classic fade effect.
|
42 |
* **Batch images upload** - gallery have advanced media manager which allow to upload batch of the images by one click. Just drag and drop set of the gallery images and it's upload automatically to the server.
|
43 |
* **Auto-resizing for thumbnails and images** - gallery media manager allow you make additional customization of the gallery images, like: rotation, flip, crop, manual resize.
|
44 |
-
* **Customizable 15 hover effects** - all gallery hover effects working in cooperation with
|
45 |
* **Implemented to avoid AJAX libs conflicts** - all gallery code implemented in native WordPress style as result our gallery don't have any conflicts and work really stable.
|
46 |
-
* **Polaroid gallery** - with our
|
47 |
-
* **Advanced Polaroid Styles** -
|
48 |
-
* **Build in colors selector** - in gallery you can easily change color of any
|
49 |
* **Social sharing** - gallery lightbox support social sharing in twitter, facebook, google plus and pinterest.
|
50 |
* **Build in borders and shadows settings** - gallery borders and shadows have advanced options for configuration design and style of this gallery interface elements.
|
51 |
* **Font settings** - gallery have build in advanced text style editor options. With this options you can fully customize title, caption, description of the every gallery image
|
52 |
* **Different resolutions** - gallery have implemented advanced size control options where you can define layout or fixed size for the gallery elements on different screen resolutions
|
53 |
* **Implemented in native WordPress style using native classes** - gallery fully native for WordPress implemented without any hacks and tricks
|
54 |
-
* **Multi Categories** - gallery implemented with multi categories
|
55 |
-
* **Classic gallery layout** - layout of the gallery could have classic style or grid layout, every
|
56 |
* **Advanced pagination function** - pagination function of the gallery implemented in google load more style
|
57 |
* **Work in IE, Firefox, Safari, Opera, Chrome** - gallery work properly in all latest versions of the popular browsers
|
58 |
* **Lazy loading option** - in gallery implemented advanced lazy loading options, for the case when you have big sets of the gallery images you can define amount of the galleries images for the first load and for the next steps of the load more option
|
@@ -65,34 +65,34 @@ Robo Gallery is advanced responsive photo gallery plugin. Flexible gallery image
|
|
65 |
* **Ability to insert gallery to the WordPress post, page, widget** - every gallery could be insert in to post, page or widget with build in shortcode tag or using wizard button - shortcode generator in post or page editor
|
66 |
* **Gallery lightbox social buttons** - in gallery settings you can turn on/off social buttons
|
67 |
* **Gallery lightbox background color** - in gallery lightbox settings you can change color of the background with comfortable color selector
|
68 |
-
* **
|
69 |
-
* **
|
70 |
-
* **
|
71 |
* **Advanced Compatibility** - in our gallery we implement advanced compatibility options to avoid conflict with libraries of another plugins and theme. You can switch between modes to find properly value for your gallery and your case.
|
72 |
* **Advanced Social Sharing** - advanced social sharing functionality in lightbox. Implemented deep linking functionality for the gallery images social sharing services Facebook, Twitter, Pinterest, Google+, VK
|
73 |
-
* **Click Thumbnails** - advanced click functionality. You can use click on buttons or on the gallery thumbnails to enlarge
|
74 |
* **Gallery Alignment** - alignment of the photo gallery in post or page depend of your needs. You don't need to use HTML tags or some CSS tricks this function gonna help you to align your images gallery the way you need. Possible to select one from implemented alignment modes: left, right, center for images gallery alignment inside post or page content.
|
75 |
* **Gallery Padding** - new padding options. Define custom values in pixels for padding gallery block in post or page content. Is it possible to define padding from left, right, top and bottom side.
|
76 |
-
* **Post Generator** - new function for the automatically post creation with gallery tag inside it. Advanced
|
77 |
-
* **Description Panel** - new gallery image description panel in lightbox, few different themes.
|
78 |
* **Swipe in Lightbox** - gallery lightbox support swipe effect on multiply mobile devices. Swipe properly work in lightbox for all gallery images. Tested for Android and iOS.
|
79 |
* **Advanced Link Button Design** - gallery front end interface have link button. This button provide linking functionality on every gallery image thumbnail.
|
80 |
This interface gallery button have wide range of the front end interface customization options. You can easily change this gallery button color, border and icon.
|
81 |
-
* **Hover Description Template** - every gallery image contain description field. In additional parameters of the
|
82 |
-
* **Gallery Plugin Compatibility Settings** - in gallery settings you can customize general
|
83 |
-
* **Gallery Admin Interface Modes** - in gallery settings you can customize
|
84 |
-
* **Video Gallery Links** - in gallery media manager every image have separate option for video
|
85 |
-
* **Images Custom Ratio** - in gallery settings you can define custom ratio for every
|
86 |
-
* **Thumbnails Fade Effect** - in gallery implemented Fade effect for the hover of the
|
87 |
-
* **Advanced Load more function** - in gallery implemented very attractive navigation mode. Auto pre loading images like endless list of the gallery images.
|
88 |
* **SEO code optimization** - in gallery implemented few front end code output modes. One simplified mode with all core front end gallery code elements another mode with additional not visible elements. This option have additional modes. This SEO output modes give you default output mode, thumbnail, thumnails+links mode.
|
89 |
-
* **Gallery Template** - in our gallery we have advanced templating engine for
|
90 |
* **Gallery Cache** - incredible new super cache option make your gallery load ten time faster. This function use absolutely new model of the images load. When you enable cache for big size gallery it's gonna be much faster and effective to use our plugin. Your visitors will be really surprised by the speed of the page load.
|
91 |
|
92 |
|
93 |
= Gallery Pro Key Features =
|
94 |
|
95 |
-
* **Tags for gallery images** - every gallery image contain description field. In additional parameters of the
|
96 |
* **Grid layout** - in gallery implemented not only classic gallery layout, but also grid layout for the modern style gallery with different size of the gallery thumbnails.
|
97 |
* **Support Videos** - every gallery image have option where possible to define video link for every particular gallery image
|
98 |
* **Smart Links** - in our gallery implemented smart gallery images links and video links parsing algorithm. Implemented auto detection links with turned off link navigation buttons
|
@@ -110,18 +110,6 @@ This interface gallery button have wide range of the front end interface customi
|
|
110 |
|
111 |
> #### Useful Gallery Links
|
112 |
>
|
113 |
-
>[Multi Categories Cars Gallery Demo](https://robosoft.co/demo/gallery/cars-gallery-demo/)
|
114 |
-
>
|
115 |
-
>[Grid Layout Gallery Demo with Fade hover effect](https://robosoft.co/demo/gallery/custom-layout/)
|
116 |
-
>
|
117 |
-
>[Multi Categories Polaroid style Movie Gallery Demo with classic layout](https://robosoft.co/demo/gallery/gallery-demo-movie/)
|
118 |
-
>
|
119 |
-
>[Design Sketch Gallery Demo with grid layout](https://robosoft.co/demo/gallery/gallery-design/)
|
120 |
-
>
|
121 |
-
>[Multi Categories Gallery Demo with custom interface colors and classic layout](https://robosoft.co/demo/gallery/push-effect-demo/)
|
122 |
-
>
|
123 |
-
>[Video Gallery Demo with grid layout](https://robosoft.co/demo/gallery/design-video-gallery)
|
124 |
-
>
|
125 |
>[Technical Support for Robo Gallery](https://robosoft.co/robogallery)
|
126 |
>
|
127 |
>[Find More Details about Robo Gallery](https://robosoft.co/robogallery)
|
@@ -204,6 +192,13 @@ If any problem occurs, please contact us.
|
|
204 |
|
205 |
== Changelog ==
|
206 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
207 |
= 2.7.14 =
|
208 |
* fix of the image manager addditional fields values validation
|
209 |
|
@@ -410,6 +405,13 @@ If any problem occurs, please contact us.
|
|
410 |
|
411 |
== Upgrade Notice ==
|
412 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
413 |
= 2.7.14 =
|
414 |
fix of the image manager addditional fields values validation
|
415 |
|
4 |
Tags: gallery, photo gallery, image gallery, wordpress gallery plugin, responsive gallery
|
5 |
Requires at least: 3.3
|
6 |
Tested up to: 4.9
|
7 |
+
Stable tag: 2.8.0
|
8 |
License: GPLv2 or later
|
9 |
License URI: https://www.gnu.org/licenses/gpl-3.0.html
|
10 |
|
37 |
|
38 |
= Gallery Key Features =
|
39 |
|
40 |
+
* **Fully responsive gallery and Mobile features** - advanced responsive gallery. Plugin implemented with advanced settings for different devices screen size.
|
41 |
* **Fade effects** - one of the gallery hover animation it's classic fade effect.
|
42 |
* **Batch images upload** - gallery have advanced media manager which allow to upload batch of the images by one click. Just drag and drop set of the gallery images and it's upload automatically to the server.
|
43 |
* **Auto-resizing for thumbnails and images** - gallery media manager allow you make additional customization of the gallery images, like: rotation, flip, crop, manual resize.
|
44 |
+
* **Customizable 15 hover effects** - all gallery hover effects working in cooperation with interface configuration options. You can easily change style and colors of the hover animation elements.
|
45 |
* **Implemented to avoid AJAX libs conflicts** - all gallery code implemented in native WordPress style as result our gallery don't have any conflicts and work really stable.
|
46 |
+
* **Polaroid gallery** - with our plugin you can create Polaroid gallery just with few clicks.
|
47 |
+
* **Advanced Polaroid Styles** - Polaroid gallery styles implemented with advanced functionality. Implemented left, right and centre Gallery images titles alignment. Polaroid gallery description panel of the gallery images background color selector. Polaroid gallery description panel text source.
|
48 |
+
* **Build in colors selector** - in gallery you can easily change color of any interface element.
|
49 |
* **Social sharing** - gallery lightbox support social sharing in twitter, facebook, google plus and pinterest.
|
50 |
* **Build in borders and shadows settings** - gallery borders and shadows have advanced options for configuration design and style of this gallery interface elements.
|
51 |
* **Font settings** - gallery have build in advanced text style editor options. With this options you can fully customize title, caption, description of the every gallery image
|
52 |
* **Different resolutions** - gallery have implemented advanced size control options where you can define layout or fixed size for the gallery elements on different screen resolutions
|
53 |
* **Implemented in native WordPress style using native classes** - gallery fully native for WordPress implemented without any hacks and tricks
|
54 |
+
* **Multi Categories** - gallery implemented with multi categories albums support. You can create your own galleries tree, depend of your needs
|
55 |
+
* **Classic gallery layout** - layout of the gallery could have classic style or grid layout, every item on page could have own styles and settings
|
56 |
* **Advanced pagination function** - pagination function of the gallery implemented in google load more style
|
57 |
* **Work in IE, Firefox, Safari, Opera, Chrome** - gallery work properly in all latest versions of the popular browsers
|
58 |
* **Lazy loading option** - in gallery implemented advanced lazy loading options, for the case when you have big sets of the gallery images you can define amount of the galleries images for the first load and for the next steps of the load more option
|
65 |
* **Ability to insert gallery to the WordPress post, page, widget** - every gallery could be insert in to post, page or widget with build in shortcode tag or using wizard button - shortcode generator in post or page editor
|
66 |
* **Gallery lightbox social buttons** - in gallery settings you can turn on/off social buttons
|
67 |
* **Gallery lightbox background color** - in gallery lightbox settings you can change color of the background with comfortable color selector
|
68 |
+
* **Lightbox background transparency** - in lightbox settings you can change transparency of the background with comfortable color selector
|
69 |
+
* **Lightbox font color** - in lightbox settings you can change color of the font with comfortable color selector
|
70 |
+
* **Lightbox font transparency** - in lightbox settings you can change transparency of the font with comfortable color selector
|
71 |
* **Advanced Compatibility** - in our gallery we implement advanced compatibility options to avoid conflict with libraries of another plugins and theme. You can switch between modes to find properly value for your gallery and your case.
|
72 |
* **Advanced Social Sharing** - advanced social sharing functionality in lightbox. Implemented deep linking functionality for the gallery images social sharing services Facebook, Twitter, Pinterest, Google+, VK
|
73 |
+
* **Click Thumbnails** - advanced click functionality. You can use click on buttons or on the gallery thumbnails to enlarge image or open image link. With new functionality you can combine absolutely different features of the gallery clicking functionality.
|
74 |
* **Gallery Alignment** - alignment of the photo gallery in post or page depend of your needs. You don't need to use HTML tags or some CSS tricks this function gonna help you to align your images gallery the way you need. Possible to select one from implemented alignment modes: left, right, center for images gallery alignment inside post or page content.
|
75 |
* **Gallery Padding** - new padding options. Define custom values in pixels for padding gallery block in post or page content. Is it possible to define padding from left, right, top and bottom side.
|
76 |
+
* **Post Generator** - new function for the automatically post creation with gallery tag inside it. Advanced post manager implemented with additional functions for customization and management all your gallery posts in one place.
|
77 |
+
* **Description Panel** - new gallery image description panel in lightbox, few different themes. Settings section make you able to change gallery panel theme styles. In gallery description panel you can define few content source. Image title, image caption or image description.
|
78 |
* **Swipe in Lightbox** - gallery lightbox support swipe effect on multiply mobile devices. Swipe properly work in lightbox for all gallery images. Tested for Android and iOS.
|
79 |
* **Advanced Link Button Design** - gallery front end interface have link button. This button provide linking functionality on every gallery image thumbnail.
|
80 |
This interface gallery button have wide range of the front end interface customization options. You can easily change this gallery button color, border and icon.
|
81 |
+
* **Hover Description Template** - every gallery image contain description field. In additional parameters of the image hover you can define some HTML or tags or build-in tags for customization of the image description.
|
82 |
+
* **Gallery Plugin Compatibility Settings** - in gallery settings you can customize general plugin settings to avoid conflicts with another plugins or wordpress theme.
|
83 |
+
* **Gallery Admin Interface Modes** - in gallery settings you can customize plugin interface settings to avoid conflicts with another plugins.
|
84 |
+
* **Video Gallery Links** - in gallery media manager every image have separate option for video link. Video Gallery links could be specified to to the youtube or vimeo.
|
85 |
+
* **Images Custom Ratio** - in gallery settings you can define custom ratio for every picture. Every gallery could have personal settings for this option.
|
86 |
+
* **Thumbnails Fade Effect** - in gallery implemented Fade effect for the hover of the photo thumbnails. With such effect gallery hover animation become more attractive and eye catching.
|
87 |
+
* **Advanced Load more function** - in gallery implemented very attractive navigation mode. Auto pre loading images like endless list of the gallery images. Load more function have alot of customization options to make it work the way you need.
|
88 |
* **SEO code optimization** - in gallery implemented few front end code output modes. One simplified mode with all core front end gallery code elements another mode with additional not visible elements. This option have additional modes. This SEO output modes give you default output mode, thumbnail, thumnails+links mode.
|
89 |
+
* **Gallery Template** - in our gallery we have advanced templating engine for images description. Every hover text of gallery image could be edit and customized with built-in templating options.
|
90 |
* **Gallery Cache** - incredible new super cache option make your gallery load ten time faster. This function use absolutely new model of the images load. When you enable cache for big size gallery it's gonna be much faster and effective to use our plugin. Your visitors will be really surprised by the speed of the page load.
|
91 |
|
92 |
|
93 |
= Gallery Pro Key Features =
|
94 |
|
95 |
+
* **Tags for gallery images** - every gallery image contain description field. In additional parameters of the image hover you can define some HTML or tags or build-in tags for customization of the image description.
|
96 |
* **Grid layout** - in gallery implemented not only classic gallery layout, but also grid layout for the modern style gallery with different size of the gallery thumbnails.
|
97 |
* **Support Videos** - every gallery image have option where possible to define video link for every particular gallery image
|
98 |
* **Smart Links** - in our gallery implemented smart gallery images links and video links parsing algorithm. Implemented auto detection links with turned off link navigation buttons
|
110 |
|
111 |
> #### Useful Gallery Links
|
112 |
>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
113 |
>[Technical Support for Robo Gallery](https://robosoft.co/robogallery)
|
114 |
>
|
115 |
>[Find More Details about Robo Gallery](https://robosoft.co/robogallery)
|
192 |
|
193 |
== Changelog ==
|
194 |
|
195 |
+
= 2.8.0 =
|
196 |
+
* fix of the backup notices
|
197 |
+
* fix of the export back up function
|
198 |
+
* Global modification of plugin structure, new add-ons section
|
199 |
+
* New backup add-on
|
200 |
+
* New statistics add-on
|
201 |
+
|
202 |
= 2.7.14 =
|
203 |
* fix of the image manager addditional fields values validation
|
204 |
|
405 |
|
406 |
== Upgrade Notice ==
|
407 |
|
408 |
+
= 2.8.0 =
|
409 |
+
Fix of the backup notices
|
410 |
+
Fix of the export back up function
|
411 |
+
Global modification of plugin structure, new add-ons section
|
412 |
+
New backup add-on
|
413 |
+
New statistics add-on
|
414 |
+
|
415 |
= 2.7.14 =
|
416 |
fix of the image manager addditional fields values validation
|
417 |
|
robogallery.php
CHANGED
@@ -3,7 +3,7 @@
|
|
3 |
Plugin Name: Robo Gallery
|
4 |
Plugin URI: https://robosoft.co/wordpress-gallery-plugin
|
5 |
Description: Gallery modes photo gallery, images gallery, video gallery, Polaroid gallery, gallery lighbox, portfolio gallery, responsive gallery
|
6 |
-
Version: 2.
|
7 |
Author: RoboSoft
|
8 |
Author URI: https://robosoft.co/wordpress-gallery-plugin
|
9 |
License: GPLv3 or later
|
@@ -15,7 +15,9 @@ if(!defined('WPINC'))die;
|
|
15 |
if(!defined("ABSPATH"))exit;
|
16 |
|
17 |
define("ROBO_GALLERY", 1);
|
18 |
-
define("ROBO_GALLERY_VERSION", '2.
|
|
|
|
|
19 |
|
20 |
if( !defined("ROBO_GALLERY_PATH") ) define("ROBO_GALLERY_PATH", plugin_dir_path( __FILE__ ));
|
21 |
|
@@ -53,6 +55,7 @@ if( $keyResult=rbs_gallery_pro_check() ){
|
|
53 |
}
|
54 |
|
55 |
define("ROBO_GALLERY_INCLUDES_PATH", ROBO_GALLERY_PATH.'includes/');
|
|
|
56 |
define("ROBO_GALLERY_FRONTEND_PATH", ROBO_GALLERY_INCLUDES_PATH.'frontend/');
|
57 |
define("ROBO_GALLERY_FRONTEND_EXT_PATH",ROBO_GALLERY_FRONTEND_PATH.'extensions/');
|
58 |
|
@@ -64,6 +67,13 @@ define("ROBO_GALLERY_CMB_FILEDS_PATH", ROBO_GALLERY_CMB_PATH.'fields/');
|
|
64 |
|
65 |
define("ROBO_GALLERY_URL", plugin_dir_url( __FILE__ ));
|
66 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
67 |
function activateRoboGallery() {
|
68 |
require_once ROBO_GALLERY_INCLUDES_PATH.'rbs_class_activator.php';
|
69 |
Robo_Gallery_Activator::activate();
|
3 |
Plugin Name: Robo Gallery
|
4 |
Plugin URI: https://robosoft.co/wordpress-gallery-plugin
|
5 |
Description: Gallery modes photo gallery, images gallery, video gallery, Polaroid gallery, gallery lighbox, portfolio gallery, responsive gallery
|
6 |
+
Version: 2.8.0
|
7 |
Author: RoboSoft
|
8 |
Author URI: https://robosoft.co/wordpress-gallery-plugin
|
9 |
License: GPLv3 or later
|
15 |
if(!defined("ABSPATH"))exit;
|
16 |
|
17 |
define("ROBO_GALLERY", 1);
|
18 |
+
define("ROBO_GALLERY_VERSION", '2.8.0');
|
19 |
+
|
20 |
+
define("ROBO_GALLERY_OPTIONS", 'rbs_opt_');
|
21 |
|
22 |
if( !defined("ROBO_GALLERY_PATH") ) define("ROBO_GALLERY_PATH", plugin_dir_path( __FILE__ ));
|
23 |
|
55 |
}
|
56 |
|
57 |
define("ROBO_GALLERY_INCLUDES_PATH", ROBO_GALLERY_PATH.'includes/');
|
58 |
+
|
59 |
define("ROBO_GALLERY_FRONTEND_PATH", ROBO_GALLERY_INCLUDES_PATH.'frontend/');
|
60 |
define("ROBO_GALLERY_FRONTEND_EXT_PATH",ROBO_GALLERY_FRONTEND_PATH.'extensions/');
|
61 |
|
67 |
|
68 |
define("ROBO_GALLERY_URL", plugin_dir_url( __FILE__ ));
|
69 |
|
70 |
+
define( "ROBO_GALLERY_TYPE_POST", 'robo_gallery_table');
|
71 |
+
|
72 |
+
/* version 3 */
|
73 |
+
define("ROBO_GALLERY_APP_PATH", ROBO_GALLERY_PATH.'app/');
|
74 |
+
require_once ROBO_GALLERY_APP_PATH.'app.php';
|
75 |
+
|
76 |
+
|
77 |
function activateRoboGallery() {
|
78 |
require_once ROBO_GALLERY_INCLUDES_PATH.'rbs_class_activator.php';
|
79 |
Robo_Gallery_Activator::activate();
|