Version Description
- Compatible with WP 4.1.1
- Fix link tag close duplicates
- Added some theme compatibilities
- Social Networks removed in the free version. Only Facebook add Twitter remained.
Download this release
Release Info
Developer | cifi |
Plugin | Starbox – the Author Box for Humans |
Version | 3.0.2 |
Comparing to | |
See all releases |
Version 3.0.2
- classes/Action.php +108 -0
- classes/BlockController.php +91 -0
- classes/DisplayController.php +108 -0
- classes/Error.php +94 -0
- classes/FrontController.php +125 -0
- classes/HookController.php +170 -0
- classes/ObjController.php +209 -0
- classes/Tools.php +434 -0
- config/config.php +29 -0
- config/paths.php +29 -0
- controllers/Frontend.php +495 -0
- controllers/Menu.php +101 -0
- core/UserSettings.php +135 -0
- core/config.xml +30 -0
- languages/starbox-de_DE.mo +0 -0
- languages/starbox-de_DE.po +463 -0
- languages/starbox-fr_FR.mo +0 -0
- languages/starbox-fr_FR.po +418 -0
- languages/starbox-ro_RO.mo +0 -0
- languages/starbox-ro_RO.po +400 -0
- models/Frontend.php +340 -0
- models/Menu.php +144 -0
- models/UserSettings.php +192 -0
- readme.txt +189 -0
- screenshot-1.jpg +0 -0
- screenshot-10.jpg +0 -0
- screenshot-11.jpg +0 -0
- screenshot-12.jpg +0 -0
- screenshot-13.jpg +0 -0
- screenshot-14.jpg +0 -0
- screenshot-15.jpg +0 -0
- screenshot-16.jpg +0 -0
- screenshot-2.jpg +0 -0
- screenshot-3.jpg +0 -0
- screenshot-4.jpg +0 -0
- screenshot-5.jpg +0 -0
- screenshot-6.jpg +0 -0
- screenshot-7.jpg +0 -0
- screenshot-8.jpg +0 -0
- screenshot-9.jpg +0 -0
- starbox.php +41 -0
- themes/admin/Menu.php +159 -0
- themes/admin/Notices.php +16 -0
- themes/admin/UserSettings.php +167 -0
- themes/admin/css/hidedefault.css +1 -0
- themes/admin/css/menu.css +1 -0
- themes/admin/img/loading.gif +0 -0
- themes/admin/img/minloading.gif +0 -0
- themes/admin/img/sprite.png +0 -0
- themes/admin/js/menu.js +6 -0
- themes/business/css/frontend.css +1 -0
- themes/business/img/sprite.png +0 -0
- themes/business/js/frontend.js +12 -0
- themes/drop-down/css/frontend.css +1 -0
- themes/drop-down/img/sprite.png +0 -0
- themes/drop-down/js/frontend.js +12 -0
- themes/fancy/css/frontend.css +1 -0
- themes/fancy/img/sprite.png +0 -0
- themes/fancy/js/frontend.js +12 -0
- themes/minimal/css/frontend.css +1 -0
- themes/minimal/img/sprite.png +0 -0
- themes/topstar-round/css/frontend.css +1 -0
- themes/topstar-round/img/sprite.png +0 -0
- themes/topstar-round/js/frontend.js +6 -0
- themes/topstar/css/frontend.css +1 -0
- themes/topstar/img/sprite.png +0 -0
- themes/topstar/js/frontend.js +6 -0
- uninstall.php +14 -0
classes/Action.php
ADDED
@@ -0,0 +1,108 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
/**
|
4 |
+
* Set the ajax action and call for wordpress
|
5 |
+
*/
|
6 |
+
class ABH_Classes_Action extends ABH_Classes_FrontController {
|
7 |
+
|
8 |
+
/** @var array with all form and ajax actions */
|
9 |
+
var $actions = array();
|
10 |
+
|
11 |
+
/** @var array from core config */
|
12 |
+
private static $config;
|
13 |
+
|
14 |
+
/**
|
15 |
+
* The hookAjax is loaded as custom hook in hookController class
|
16 |
+
*
|
17 |
+
* @return void
|
18 |
+
*/
|
19 |
+
function hookInit() {
|
20 |
+
/* Only if ajax */
|
21 |
+
if (isset($_SERVER['PHP_SELF']) && strpos($_SERVER['PHP_SELF'], '/admin-ajax.php') !== false) {
|
22 |
+
$this->actions = array();
|
23 |
+
$this->getActions(((isset($_GET['action']) ? $_GET['action'] : (isset($_POST['action']) ? $_POST['action'] : ''))));
|
24 |
+
}
|
25 |
+
}
|
26 |
+
|
27 |
+
/**
|
28 |
+
* The hookSubmit is loaded when action si posted
|
29 |
+
*
|
30 |
+
* @return void
|
31 |
+
*/
|
32 |
+
function hookMenu() {
|
33 |
+
/* Only if post */
|
34 |
+
if (isset($_SERVER['PHP_SELF']) && strpos($_SERVER['PHP_SELF'], '/admin-ajax.php') !== false) {
|
35 |
+
return;
|
36 |
+
}
|
37 |
+
|
38 |
+
$this->actions = array();
|
39 |
+
$this->getActions(((isset($_GET['action']) ? $_GET['action'] : (isset($_POST['action']) ? $_POST['action'] : ''))));
|
40 |
+
}
|
41 |
+
|
42 |
+
/**
|
43 |
+
* The hookHead is loaded as admin hook in hookController class for script load
|
44 |
+
* Is needed for security check as nonce
|
45 |
+
*
|
46 |
+
* @return void
|
47 |
+
*/
|
48 |
+
function hookHead() {
|
49 |
+
|
50 |
+
echo '<script type="text/javascript">
|
51 |
+
var abh_Query = {
|
52 |
+
"ajaxurl": "' . admin_url('admin-ajax.php') . '",
|
53 |
+
"adminposturl": "' . admin_url('post.php') . '",
|
54 |
+
"adminlisturl": "' . admin_url('edit.php') . '",
|
55 |
+
"nonce": "' . wp_create_nonce(_ABH_NONCE_ID_) . '"
|
56 |
+
}
|
57 |
+
</script>';
|
58 |
+
}
|
59 |
+
|
60 |
+
/**
|
61 |
+
* Get all actions from config.xml in core directory and add them in the WP
|
62 |
+
*
|
63 |
+
* @return void
|
64 |
+
*/
|
65 |
+
public function getActions($cur_action) {
|
66 |
+
|
67 |
+
/* if config allready in cache */
|
68 |
+
if (!isset(self::$config)) {
|
69 |
+
$config_file = _ABH_CORE_DIR_ . 'config.xml';
|
70 |
+
if (!file_exists($config_file))
|
71 |
+
return;
|
72 |
+
|
73 |
+
/* load configuration blocks data from core config files */
|
74 |
+
$data = file_get_contents($config_file);
|
75 |
+
self::$config = json_decode(json_encode((array) simplexml_load_string($data)), 1);
|
76 |
+
}
|
77 |
+
|
78 |
+
if (is_array(self::$config))
|
79 |
+
foreach (self::$config['block'] as $block) {
|
80 |
+
if (isset($block['active']) && $block['active'] == 1) {
|
81 |
+
/* if there is a single action */
|
82 |
+
if (isset($block['actions']['action']))
|
83 |
+
|
84 |
+
/* if there are more actions for the current block */
|
85 |
+
if (!is_array($block['actions']['action'])) {
|
86 |
+
/* add the action in the actions array */
|
87 |
+
if ($block['actions']['action'] == $cur_action)
|
88 |
+
$this->actions[] = array('class' => $block['name']);
|
89 |
+
}else {
|
90 |
+
/* if there are more actions for the current block */
|
91 |
+
foreach ($block['actions']['action'] as $action) {
|
92 |
+
/* add the actions in the actions array */
|
93 |
+
if ($action == $cur_action)
|
94 |
+
$this->actions[] = array('class' => $block['name']);
|
95 |
+
}
|
96 |
+
}
|
97 |
+
}
|
98 |
+
}
|
99 |
+
|
100 |
+
/* add the actions in WP */
|
101 |
+
foreach ($this->actions as $actions) {
|
102 |
+
ABH_Classes_ObjController::getController($actions['class'])->action();
|
103 |
+
}
|
104 |
+
}
|
105 |
+
|
106 |
+
}
|
107 |
+
|
108 |
+
?>
|
classes/BlockController.php
ADDED
@@ -0,0 +1,91 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
/**
|
4 |
+
* The main class for core blocks
|
5 |
+
*
|
6 |
+
*/
|
7 |
+
class ABH_Classes_BlockController {
|
8 |
+
|
9 |
+
/** @var object of the model class */
|
10 |
+
protected $model;
|
11 |
+
|
12 |
+
/** @var boolean */
|
13 |
+
public $flush = true;
|
14 |
+
|
15 |
+
/** @var object of the view class */
|
16 |
+
protected $view;
|
17 |
+
|
18 |
+
/** @var name of the class */
|
19 |
+
private $name;
|
20 |
+
|
21 |
+
public function __construct() {
|
22 |
+
/** check the admin condition */
|
23 |
+
if (!is_admin())
|
24 |
+
return;
|
25 |
+
|
26 |
+
/* get the name of the current class */
|
27 |
+
$this->name = get_class($this);
|
28 |
+
|
29 |
+
/* create the model and view instances */
|
30 |
+
$this->model = ABH_Classes_ObjController::getModel($this->name);
|
31 |
+
}
|
32 |
+
|
33 |
+
/**
|
34 |
+
* load sequence of classes
|
35 |
+
*
|
36 |
+
* @return void
|
37 |
+
*/
|
38 |
+
public function init() {
|
39 |
+
|
40 |
+
$this->view = ABH_Classes_ObjController::getController('ABH_Classes_DisplayController');
|
41 |
+
|
42 |
+
if ($this->flush)
|
43 |
+
$this->hookHead();
|
44 |
+
|
45 |
+
/* check if there is a hook defined in the block class */
|
46 |
+
ABH_Classes_ObjController::getController('ABH_Classes_HookController')
|
47 |
+
->setBlockHooks($this);
|
48 |
+
|
49 |
+
if ($this->flush)
|
50 |
+
$this->output();
|
51 |
+
|
52 |
+
$this->hookHead();
|
53 |
+
}
|
54 |
+
|
55 |
+
protected function output() {
|
56 |
+
/* view is called from theme directory with the class name by default */
|
57 |
+
if ($class = ABH_Classes_ObjController::getClassPath($this->name))
|
58 |
+
$this->view->output($class['name'], $this);
|
59 |
+
}
|
60 |
+
|
61 |
+
/**
|
62 |
+
* This function is called from Ajax class as a wp_ajax_action
|
63 |
+
*
|
64 |
+
*/
|
65 |
+
protected function action() {
|
66 |
+
// check to see if the submitted nonce matches with the
|
67 |
+
// generated nonce we created
|
68 |
+
if (class_exists('wp_verify_nonce'))
|
69 |
+
if (!wp_verify_nonce(ABH_Classes_Tools::getValue(_ABH_NONCE_ID_), _ABH_NONCE_ID_))
|
70 |
+
die('Invalid request!');
|
71 |
+
}
|
72 |
+
|
73 |
+
/**
|
74 |
+
* This function will load the media in the header for each class
|
75 |
+
*
|
76 |
+
* @return void
|
77 |
+
*/
|
78 |
+
protected function hookHead() {
|
79 |
+
if (!is_admin()) //this hook is for admin panel only
|
80 |
+
return;
|
81 |
+
|
82 |
+
if ($class = ABH_Classes_ObjController::getClassPath($this->name)) {
|
83 |
+
ABH_Classes_ObjController::getController('ABH_Classes_DisplayController')
|
84 |
+
->loadMedia($class['name']);
|
85 |
+
}
|
86 |
+
}
|
87 |
+
|
88 |
+
/** @todo _ GASESTE O CALE SA INCARC CSS PENTRU BLOCURI */
|
89 |
+
}
|
90 |
+
|
91 |
+
?>
|
classes/DisplayController.php
ADDED
@@ -0,0 +1,108 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
/**
|
4 |
+
* The class handles the theme part in WP
|
5 |
+
*/
|
6 |
+
class ABH_Classes_DisplayController {
|
7 |
+
|
8 |
+
private static $name;
|
9 |
+
private static $cache;
|
10 |
+
|
11 |
+
/**
|
12 |
+
* echo the css link from theme css directory
|
13 |
+
*
|
14 |
+
* @param string $uri The name of the css file or the entire uri path of the css file
|
15 |
+
* @param string $media
|
16 |
+
*
|
17 |
+
* @return string
|
18 |
+
*/
|
19 |
+
public static function loadMedia($uri = '', $params = array('trigger' => true), $media = 'all') {
|
20 |
+
$css_uri = '';
|
21 |
+
$js_uri = '';
|
22 |
+
|
23 |
+
if (isset($_SERVER['PHP_SELF']) && strpos($_SERVER['PHP_SELF'], '/admin-ajax.php') !== false)
|
24 |
+
return;
|
25 |
+
|
26 |
+
if (isset(self::$cache[$uri]))
|
27 |
+
return;
|
28 |
+
|
29 |
+
self::$cache[$uri] = true;
|
30 |
+
|
31 |
+
/* if is a custom css file */
|
32 |
+
if (strpos($uri, '/') === false) {
|
33 |
+
$name = strtolower($uri);
|
34 |
+
if (file_exists(_ABH_THEME_DIR_ . 'css/' . $name . '.css')) {
|
35 |
+
$css_uri = _ABH_THEME_URL_ . 'css/' . $name . '.css?ver=' . ABH_VERSION_ID;
|
36 |
+
}
|
37 |
+
if (file_exists(_ABH_THEME_DIR_ . 'js/' . $name . '.js')) {
|
38 |
+
$js_uri = _ABH_THEME_URL_ . 'js/' . $name . '.js?ver=' . ABH_VERSION_ID;
|
39 |
+
}
|
40 |
+
} else {
|
41 |
+
$name = strtolower(basename($uri));
|
42 |
+
if (strpos($uri, '.css') !== FALSE)
|
43 |
+
$css_uri = $uri;
|
44 |
+
elseif (strpos($uri, '.js') !== FALSE) {
|
45 |
+
$js_uri = $uri;
|
46 |
+
}
|
47 |
+
}
|
48 |
+
|
49 |
+
if ($css_uri <> '') {
|
50 |
+
|
51 |
+
if (!wp_style_is($name)) {
|
52 |
+
wp_enqueue_style($name, $css_uri, null, ABH_VERSION, $media);
|
53 |
+
}
|
54 |
+
|
55 |
+
if (isset($params['trigger']) && $params['trigger'] === true) {
|
56 |
+
wp_print_styles(array($name));
|
57 |
+
}
|
58 |
+
}
|
59 |
+
|
60 |
+
if ($js_uri <> '') {
|
61 |
+
|
62 |
+
if (!wp_style_is('jquery')) {
|
63 |
+
wp_enqueue_script('jquery', "http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js", null, ABH_VERSION);
|
64 |
+
}
|
65 |
+
|
66 |
+
if (!wp_script_is($name)) {
|
67 |
+
wp_enqueue_script($name, $js_uri, array('jquery'), ABH_VERSION, true);
|
68 |
+
}
|
69 |
+
|
70 |
+
if (isset($params['trigger']) && $params['trigger'] === true) {
|
71 |
+
wp_print_scripts(array($name));
|
72 |
+
}
|
73 |
+
}
|
74 |
+
}
|
75 |
+
|
76 |
+
/**
|
77 |
+
* Called for any class to show the block content
|
78 |
+
*
|
79 |
+
* @param string $block the name of the block file in theme directory (class name by default)
|
80 |
+
*
|
81 |
+
* @return string of the current class view
|
82 |
+
*/
|
83 |
+
public function output($block, $obj) {
|
84 |
+
self::$name = $block;
|
85 |
+
echo $this->echoBlock($obj);
|
86 |
+
}
|
87 |
+
|
88 |
+
/**
|
89 |
+
* echo the block content from theme directory
|
90 |
+
*
|
91 |
+
* @return string
|
92 |
+
*/
|
93 |
+
public static function echoBlock($view) {
|
94 |
+
global $post_ID;
|
95 |
+
if (file_exists(_ABH_THEME_DIR_ . self::$name . '.php')) {
|
96 |
+
ob_start();
|
97 |
+
/* includes the block from theme directory */
|
98 |
+
include(_ABH_THEME_DIR_ . self::$name . '.php');
|
99 |
+
$block_content = ob_get_contents();
|
100 |
+
ob_end_clean();
|
101 |
+
|
102 |
+
return $block_content;
|
103 |
+
}
|
104 |
+
}
|
105 |
+
|
106 |
+
}
|
107 |
+
|
108 |
+
?>
|
classes/Error.php
ADDED
@@ -0,0 +1,94 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
class ABH_Classes_Error extends ABH_Classes_FrontController {
|
4 |
+
|
5 |
+
/** @var array */
|
6 |
+
private static $errors, $switch_off;
|
7 |
+
|
8 |
+
/**
|
9 |
+
* The error controller for StarBox
|
10 |
+
*/
|
11 |
+
function __construct() {
|
12 |
+
parent::__construct();
|
13 |
+
|
14 |
+
/* Verify dependences */
|
15 |
+
if (!function_exists('get_class')) {
|
16 |
+
self::setError(__('Function get_class does not exists! Is required for StarBox to work properly.', _ABH_PLUGIN_NAME_));
|
17 |
+
}
|
18 |
+
if (!function_exists('file_exists')) {
|
19 |
+
self::setError(__('Function file_exists does not exists! Is required for StarBox to work properly.', _ABH_PLUGIN_NAME_));
|
20 |
+
}
|
21 |
+
|
22 |
+
if (!defined('ABSPATH'))
|
23 |
+
self::setError(__('The home directory is not set!', _ABH_PLUGIN_NAME_), 'fatal');
|
24 |
+
|
25 |
+
/* Check the PHP version */
|
26 |
+
if (PHP_VERSION_ID < 5100) {
|
27 |
+
self::setError(__('The PHP version has to be greater then 5.1', _ABH_PLUGIN_NAME_), 'fatal');
|
28 |
+
}
|
29 |
+
}
|
30 |
+
|
31 |
+
/**
|
32 |
+
* Show version error
|
33 |
+
*/
|
34 |
+
public function phpVersionError() {
|
35 |
+
echo '<div class="update-nag"><span style="color:red; font-weight:bold;">' . __('For StarBox to work, the PHP version has to be equal or greater then 5.1', _ABH_PLUGIN_NAME_) . '</span></div>';
|
36 |
+
}
|
37 |
+
|
38 |
+
/**
|
39 |
+
* Show the error in wrodpress
|
40 |
+
*
|
41 |
+
* @param string $error
|
42 |
+
* @param boolean $stop
|
43 |
+
*
|
44 |
+
* @return void;
|
45 |
+
*/
|
46 |
+
public static function setError($error = '', $type = 'notice', $id = '') {
|
47 |
+
self::$errors[] = array('id' => $id,
|
48 |
+
'type' => $type,
|
49 |
+
'text' => $error);
|
50 |
+
}
|
51 |
+
|
52 |
+
/**
|
53 |
+
* This hook will show the error in WP header
|
54 |
+
*/
|
55 |
+
function hookNotices() {
|
56 |
+
if (is_array(self::$errors))
|
57 |
+
foreach (self::$errors as $error) {
|
58 |
+
|
59 |
+
switch ($error['type']) {
|
60 |
+
case 'fatal':
|
61 |
+
self::showError(ucfirst(_ABH_PLUGIN_NAME_ . " " . $error['type']) . ': ' . $error['text'], $error['id']);
|
62 |
+
die();
|
63 |
+
break;
|
64 |
+
case 'settings':
|
65 |
+
/* switch off option for notifications */
|
66 |
+
self::$switch_off = "<a href=\"javascript:void(0);\" onclick=\"jQuery.post( ajaxurl, {action: 'abh_warnings_off', nonce: '" . wp_create_nonce('abh_none') . "'}, function(data) { if (data) { jQuery('#abh_ignore_warn').attr('checked', true); jQuery('.abh_message').hide(); jQuery('#toplevel_page_abh .awaiting-mod').fadeOut('slow'); } });\" >" . __("Turn off warnings!", _ABH_PLUGIN_NAME_) . "</a>";
|
67 |
+
self::showError(ucfirst(_ABH_PLUGIN_NAME_) . " " . __('Notice: ', _ABH_PLUGIN_NAME_) . $error['text'] . " " . self::$switch_off, $error['id']);
|
68 |
+
break;
|
69 |
+
default:
|
70 |
+
|
71 |
+
self::showError(ucfirst(_ABH_PLUGIN_NAME_) . " " . __('Note: ', _ABH_PLUGIN_NAME_) . $error['text'], $error['id']);
|
72 |
+
}
|
73 |
+
}
|
74 |
+
self::$errors = array();
|
75 |
+
}
|
76 |
+
|
77 |
+
/**
|
78 |
+
* Show the notices to WP
|
79 |
+
*
|
80 |
+
* @return void
|
81 |
+
*/
|
82 |
+
public static function showError($message, $id = '') {
|
83 |
+
$type = 'abh_error';
|
84 |
+
|
85 |
+
if (file_exists(_ABH_THEME_DIR_ . 'Notices.php')) {
|
86 |
+
include (_ABH_THEME_DIR_ . 'Notices.php');
|
87 |
+
} else {
|
88 |
+
echo $message;
|
89 |
+
}
|
90 |
+
}
|
91 |
+
|
92 |
+
}
|
93 |
+
|
94 |
+
?>
|
classes/FrontController.php
ADDED
@@ -0,0 +1,125 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
/**
|
4 |
+
* The main class for controllers
|
5 |
+
*
|
6 |
+
*/
|
7 |
+
class ABH_Classes_FrontController {
|
8 |
+
|
9 |
+
/** @var object of the model class */
|
10 |
+
public $model;
|
11 |
+
|
12 |
+
/** @var boolean */
|
13 |
+
public $flush = true;
|
14 |
+
|
15 |
+
/** @var object of the view class */
|
16 |
+
public $view;
|
17 |
+
|
18 |
+
/** @var name of the class */
|
19 |
+
private $name;
|
20 |
+
|
21 |
+
public function __construct() {
|
22 |
+
|
23 |
+
/* Load error class */
|
24 |
+
ABH_Classes_ObjController::getController('ABH_Classes_Error');
|
25 |
+
|
26 |
+
/* Load Tools */
|
27 |
+
ABH_Classes_ObjController::getController('ABH_Classes_Tools');
|
28 |
+
|
29 |
+
/* get the name of the current class */
|
30 |
+
$this->name = get_class($this);
|
31 |
+
|
32 |
+
/* load the model and hooks here for wordpress actions to take efect */
|
33 |
+
/* create the model and view instances */
|
34 |
+
$this->model = ABH_Classes_ObjController::getModel($this->name);
|
35 |
+
//IMPORTANT TO LOAD HOOKS HERE
|
36 |
+
/* check if there is a hook defined in the controller clients class */
|
37 |
+
|
38 |
+
ABH_Classes_ObjController::getController('ABH_Classes_HookController')->setHooks($this);
|
39 |
+
ABH_Classes_ObjController::getController('ABH_Classes_HookController')->getShortcodes($this);
|
40 |
+
}
|
41 |
+
|
42 |
+
/**
|
43 |
+
* load sequence of classes
|
44 |
+
* Function called usualy when the controller is loaded in WP
|
45 |
+
*
|
46 |
+
* @return void
|
47 |
+
*/
|
48 |
+
public function init() {
|
49 |
+
|
50 |
+
$this->view = ABH_Classes_ObjController::getController('ABH_Classes_DisplayController');
|
51 |
+
|
52 |
+
if ($this->flush)
|
53 |
+
$this->output();
|
54 |
+
|
55 |
+
|
56 |
+
/* load the blocks for this controller */
|
57 |
+
ABH_Classes_ObjController::getController('ABH_Classes_ObjController')->getBlocks($this->name);
|
58 |
+
}
|
59 |
+
|
60 |
+
protected function output() {
|
61 |
+
/* view is called from theme directory with the class name by defauls */
|
62 |
+
if ($class = ABH_Classes_ObjController::getClassPath($this->name))
|
63 |
+
$this->view->output($class['name'], $this);
|
64 |
+
}
|
65 |
+
|
66 |
+
/**
|
67 |
+
* initialize settings
|
68 |
+
* Called from index
|
69 |
+
*
|
70 |
+
* @return void
|
71 |
+
*/
|
72 |
+
public function run() {
|
73 |
+
|
74 |
+
/** check the admin condition */
|
75 |
+
if (!is_admin())
|
76 |
+
return;
|
77 |
+
/* Load the Submit Actions Handler */
|
78 |
+
ABH_Classes_ObjController::getController('ABH_Classes_Action');
|
79 |
+
ABH_Classes_ObjController::getController('ABH_Classes_DisplayController');
|
80 |
+
|
81 |
+
/* show the admin menu and post actions */
|
82 |
+
$this->loadMenu();
|
83 |
+
}
|
84 |
+
|
85 |
+
/**
|
86 |
+
* initialize menu
|
87 |
+
*
|
88 |
+
* @return void
|
89 |
+
*/
|
90 |
+
private function loadMenu() {
|
91 |
+
/* get the menu from controller */
|
92 |
+
ABH_Classes_ObjController::getController('ABH_Controllers_Menu');
|
93 |
+
}
|
94 |
+
|
95 |
+
/**
|
96 |
+
* first function call for any class
|
97 |
+
*
|
98 |
+
*/
|
99 |
+
protected function action() {
|
100 |
+
// check to see if the submitted nonce matches with the
|
101 |
+
// generated nonce we created
|
102 |
+
if (class_exists('wp_verify_nonce'))
|
103 |
+
if (!wp_verify_nonce(ABH_Classes_Tools::getValue(_ABH_NONCE_ID_), _ABH_NONCE_ID_))
|
104 |
+
die('Invalid request!');
|
105 |
+
}
|
106 |
+
|
107 |
+
/**
|
108 |
+
* This function will load the media in the header for each class
|
109 |
+
*
|
110 |
+
* @return void
|
111 |
+
*/
|
112 |
+
public function hookHead() {
|
113 |
+
if (!is_admin()) //this hook is for admin panel only
|
114 |
+
return;
|
115 |
+
|
116 |
+
//execute this only if admin
|
117 |
+
if ($class = ABH_Classes_ObjController::getClassPath($this->name)) {
|
118 |
+
ABH_Classes_ObjController::getController('ABH_Classes_DisplayController')
|
119 |
+
->loadMedia($class['name']);
|
120 |
+
}
|
121 |
+
}
|
122 |
+
|
123 |
+
}
|
124 |
+
|
125 |
+
?>
|
classes/HookController.php
ADDED
@@ -0,0 +1,170 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
/**
|
4 |
+
* The class handles the actions in WP
|
5 |
+
*/
|
6 |
+
class ABH_Classes_HookController {
|
7 |
+
|
8 |
+
/** @var array the WP actions list from admin */
|
9 |
+
private $admin_hooks = array();
|
10 |
+
private $custom_hooks = array();
|
11 |
+
private $block_hooks = array();
|
12 |
+
private static $shortCodesSet = false;
|
13 |
+
|
14 |
+
public function __construct() {
|
15 |
+
$this->admin_hooks = array(
|
16 |
+
'init' => 'admin_init',
|
17 |
+
'head' => 'admin_head',
|
18 |
+
'footer' => 'admin_footer',
|
19 |
+
// --
|
20 |
+
'wmenu' => '_admin_menu',
|
21 |
+
'menu' => 'admin_menu',
|
22 |
+
'submenu' => 'add_submenu_page',
|
23 |
+
'loaded' => 'plugins_loaded',
|
24 |
+
'scripts' => 'admin_enqueue_scripts',
|
25 |
+
'notices' => 'admin_notices',
|
26 |
+
);
|
27 |
+
$this->front_hooks = array(
|
28 |
+
// --
|
29 |
+
'frontinit' => 'init',
|
30 |
+
'fronthead' => 'wp_head',
|
31 |
+
'frontcontent' => 'the_content',
|
32 |
+
'frontwidget' => 'widget_text',
|
33 |
+
'frontfooter' => 'wp_footer',
|
34 |
+
);
|
35 |
+
$this->block_hooks = array('getContent' => 'getContent');
|
36 |
+
}
|
37 |
+
|
38 |
+
/**
|
39 |
+
* Calls the specified action in WP
|
40 |
+
* @param oject $instance The parent class instance
|
41 |
+
*
|
42 |
+
* @return void
|
43 |
+
*/
|
44 |
+
public function setHooks($instance) {
|
45 |
+
if (is_admin()) {
|
46 |
+
$this->setAdminHooks($instance);
|
47 |
+
} else {
|
48 |
+
$this->setFrontHooks($instance);
|
49 |
+
}
|
50 |
+
}
|
51 |
+
|
52 |
+
/**
|
53 |
+
* Calls the specified action in WP
|
54 |
+
* @param oject $instance The parent class instance
|
55 |
+
*
|
56 |
+
* @return void
|
57 |
+
*/
|
58 |
+
public function setAdminHooks($instance) {
|
59 |
+
if (!is_admin())
|
60 |
+
return;
|
61 |
+
/* for each admin action check if is defined in class and call it */
|
62 |
+
foreach ($this->admin_hooks as $hook => $value) {
|
63 |
+
|
64 |
+
if (is_callable(array($instance, 'hook' . ucfirst($hook)))) {
|
65 |
+
//call the WP add_action function
|
66 |
+
add_action($value, array($instance, 'hook' . ucfirst($hook)));
|
67 |
+
}
|
68 |
+
}
|
69 |
+
}
|
70 |
+
|
71 |
+
/**
|
72 |
+
* Calls the specified action in WP
|
73 |
+
* @param oject $instance The parent class instance
|
74 |
+
*
|
75 |
+
* @return void
|
76 |
+
*/
|
77 |
+
public function setFrontHooks($instance) {
|
78 |
+
|
79 |
+
/* for each admin action check if is defined in class and call it */
|
80 |
+
foreach ($this->front_hooks as $hook => $value) {
|
81 |
+
|
82 |
+
if (is_callable(array($instance, 'hook' . ucfirst($hook)))) {
|
83 |
+
//call the WP add_action function
|
84 |
+
add_action($value, array($instance, 'hook' . ucfirst($hook)));
|
85 |
+
}
|
86 |
+
}
|
87 |
+
}
|
88 |
+
|
89 |
+
/**
|
90 |
+
* Calls the specified action in WP
|
91 |
+
* @param string $action
|
92 |
+
* @param array $callback Contains the class name or object and the callback function
|
93 |
+
*
|
94 |
+
* @return void
|
95 |
+
*/
|
96 |
+
public function setAction($action, $obj, $callback) {
|
97 |
+
|
98 |
+
/* calls the custom action function from WP */
|
99 |
+
add_action($action, array($obj, $callback), 10);
|
100 |
+
}
|
101 |
+
|
102 |
+
/**
|
103 |
+
* Calls the specified action in WP
|
104 |
+
* @param oject $instance The parent class instance
|
105 |
+
*
|
106 |
+
* @return void
|
107 |
+
*/
|
108 |
+
public function setBlockHooks($instance) {
|
109 |
+
$param_arr = array();
|
110 |
+
|
111 |
+
/* for each admin action check if is defined in class and call it */
|
112 |
+
foreach ($this->block_hooks as $hook => $value)
|
113 |
+
if (is_callable(array($instance, 'hook' . ucfirst($hook))))
|
114 |
+
call_user_func_array(array($instance, 'hook' . ucfirst($hook)), $param_arr);
|
115 |
+
}
|
116 |
+
|
117 |
+
/**
|
118 |
+
* Get all core classes from config.xml in core directory
|
119 |
+
*
|
120 |
+
*/
|
121 |
+
public function getShortcodes() {
|
122 |
+
if (self::$shortCodesSet == true)
|
123 |
+
return;
|
124 |
+
|
125 |
+
//If the user doesn't use shortcodes
|
126 |
+
|
127 |
+
if (ABH_Classes_Tools::getOption('abh_shortcode') == 0)
|
128 |
+
return;
|
129 |
+
|
130 |
+
self::$shortCodesSet = true;
|
131 |
+
/* if config allready in cache */
|
132 |
+
if (!isset(ABH_Classes_ObjController::$config)) {
|
133 |
+
$config_file = _ABH_CORE_DIR_ . 'config.xml';
|
134 |
+
if (!file_exists($config_file))
|
135 |
+
return;
|
136 |
+
|
137 |
+
/* load configuration blocks data from core config files */
|
138 |
+
$data = file_get_contents($config_file);
|
139 |
+
ABH_Classes_ObjController::$config = json_decode(json_encode((array) simplexml_load_string($data)), 1);
|
140 |
+
}
|
141 |
+
// echo '<pre>' . print_r(ABH_Classes_ObjController::$config['block'], true) . '</br>';
|
142 |
+
//print_r(ABH_Classes_ObjController::$config);
|
143 |
+
if (is_array(ABH_Classes_ObjController::$config))
|
144 |
+
foreach (ABH_Classes_ObjController::$config['block'] as $block) {
|
145 |
+
if (isset($block['name'])) {
|
146 |
+
if (isset($block['active']) && $block['active'] == 1)
|
147 |
+
if (isset($block['shortcodes']['shortcode'])) {
|
148 |
+
$instance = ABH_Classes_ObjController::getController($block['name']);
|
149 |
+
if (!is_array($block['shortcodes']['shortcode'])) {
|
150 |
+
|
151 |
+
if (is_callable(array($instance, 'hookShortWidget' . ucfirst($block['shortcodes']['shortcode'])))) {
|
152 |
+
add_action('widget_text', array($instance, 'hookShortWidget' . ucfirst($block['shortcodes']['shortcode'])), 10, 1);
|
153 |
+
}
|
154 |
+
add_shortcode($block['shortcodes']['shortcode'], array($instance, 'hookShort' . ucfirst($block['shortcodes']['shortcode'])));
|
155 |
+
} else {
|
156 |
+
foreach ($block['shortcodes']['shortcode'] as $shortcode) {
|
157 |
+
if (is_callable(array($instance, 'hookShortWidget' . ucfirst($shortcode)))) {
|
158 |
+
add_action('widget_text', array($instance, 'hookShortWidget' . ucfirst($shortcode)), 10, 1);
|
159 |
+
}
|
160 |
+
add_shortcode($shortcode, array($instance, 'hookShort' . ucfirst($shortcode)));
|
161 |
+
}
|
162 |
+
}
|
163 |
+
}
|
164 |
+
}
|
165 |
+
}
|
166 |
+
}
|
167 |
+
|
168 |
+
}
|
169 |
+
|
170 |
+
?>
|
classes/ObjController.php
ADDED
@@ -0,0 +1,209 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
/**
|
4 |
+
* The class creates object for plugin classes
|
5 |
+
*/
|
6 |
+
class ABH_Classes_ObjController {
|
7 |
+
|
8 |
+
/** @var array of instances */
|
9 |
+
public static $instances;
|
10 |
+
|
11 |
+
/** @var array from core config */
|
12 |
+
public static $config;
|
13 |
+
|
14 |
+
/**
|
15 |
+
* Get the instance of the specified class
|
16 |
+
*
|
17 |
+
* @param string $className
|
18 |
+
* @param bool $core TRUE is the class is a core class or FALSE if it is from classes directory
|
19 |
+
*
|
20 |
+
* @return object of the class|false
|
21 |
+
*/
|
22 |
+
public static function getController($className) {
|
23 |
+
if ($class = self::getClassPath($className)) {
|
24 |
+
if (!isset(self::$instances[$className])) {
|
25 |
+
/* check if class is already defined */
|
26 |
+
if (!class_exists($className) || $className == get_class()) {
|
27 |
+
self::includeController($class['dir'], $class['name']);
|
28 |
+
self::$instances[$className] = new $className;
|
29 |
+
return self::$instances[$className];
|
30 |
+
}
|
31 |
+
}
|
32 |
+
else
|
33 |
+
return self::$instances[$className];
|
34 |
+
}
|
35 |
+
return false;
|
36 |
+
}
|
37 |
+
|
38 |
+
private static function includeController($classDir, $className) {
|
39 |
+
|
40 |
+
if (file_exists($classDir . $className . '.php'))
|
41 |
+
try {
|
42 |
+
include_once($classDir . $className . '.php');
|
43 |
+
} catch (Exception $e) {
|
44 |
+
echo 'Controller Error: ' . $e->getMessage();
|
45 |
+
}
|
46 |
+
}
|
47 |
+
|
48 |
+
/**
|
49 |
+
* Get the instance of the specified model class
|
50 |
+
*
|
51 |
+
* @param string $className
|
52 |
+
*
|
53 |
+
* @return object of the class
|
54 |
+
*/
|
55 |
+
public static function getModel($className) {
|
56 |
+
if ($class = self::getClassPath($className)) {
|
57 |
+
//set the model name for this class
|
58 |
+
$className = _ABH_NAMESPACE_ . '_Models_' . $class['name'];
|
59 |
+
|
60 |
+
if (!isset(self::$instances[$className])) {
|
61 |
+
/* if $core == true then call the class from core directory */
|
62 |
+
self::includeModel(_ABH_MODEL_DIR_, $class['name']);
|
63 |
+
|
64 |
+
//echo $className . '<br />';
|
65 |
+
if (class_exists($className)) {
|
66 |
+
self::$instances[$className] = new $className;
|
67 |
+
return self::$instances[$className];
|
68 |
+
}
|
69 |
+
}
|
70 |
+
else
|
71 |
+
return self::$instances[$className];
|
72 |
+
}
|
73 |
+
return;
|
74 |
+
}
|
75 |
+
|
76 |
+
private static function includeModel($classDir, $className) {
|
77 |
+
|
78 |
+
/* check if class is already defined */
|
79 |
+
if (file_exists($classDir . $className . '.php'))
|
80 |
+
try {
|
81 |
+
include_once($classDir . $className . '.php');
|
82 |
+
} catch (Exception $e) {
|
83 |
+
echo 'Model Error: ' . $e->getMessage();
|
84 |
+
}
|
85 |
+
}
|
86 |
+
|
87 |
+
/**
|
88 |
+
* Get the instance of the specified block from core directory
|
89 |
+
*
|
90 |
+
* @param string $className
|
91 |
+
*
|
92 |
+
* @return object of the class
|
93 |
+
*/
|
94 |
+
public static function getBlock($className) {
|
95 |
+
if ($class = self::getClassPath($className)) {
|
96 |
+
$className = _ABH_NAMESPACE_ . '_Core_' . $class['name'];
|
97 |
+
|
98 |
+
//set the model name for this class
|
99 |
+
if (!isset(self::$instances[$className])) {
|
100 |
+
|
101 |
+
/* if $core == true then call the class from core directory */
|
102 |
+
self::includeBlock(_ABH_CORE_DIR_, $class['name']);
|
103 |
+
|
104 |
+
if (class_exists($className)) {
|
105 |
+
self::$instances[$className] = new $className;
|
106 |
+
return self::$instances[$className];
|
107 |
+
}
|
108 |
+
else
|
109 |
+
exit("Block error: Can't call $className class");
|
110 |
+
}
|
111 |
+
else
|
112 |
+
return self::$instances[$className];
|
113 |
+
}
|
114 |
+
return;
|
115 |
+
}
|
116 |
+
|
117 |
+
private static function includeBlock($classDir, $className) {
|
118 |
+
|
119 |
+
if (file_exists($classDir . $className . '.php'))
|
120 |
+
try {
|
121 |
+
require_once($classDir . $className . '.php');
|
122 |
+
} catch (Exception $e) {
|
123 |
+
echo 'Model Error: ' . $e->getMessage();
|
124 |
+
}
|
125 |
+
}
|
126 |
+
|
127 |
+
/**
|
128 |
+
* Get all core classes from config.xml in core directory
|
129 |
+
*
|
130 |
+
* @param string $for
|
131 |
+
*/
|
132 |
+
public function getBlocks($for) {
|
133 |
+
/* if config allready in cache */
|
134 |
+
if (!isset(self::$config)) {
|
135 |
+
$config_file = _ABH_CORE_DIR_ . 'config.xml';
|
136 |
+
if (!file_exists($config_file))
|
137 |
+
return;
|
138 |
+
|
139 |
+
/* load configuration blocks data from core config files */
|
140 |
+
$data = file_get_contents($config_file);
|
141 |
+
self::$config = json_decode(json_encode((array) simplexml_load_string($data)), 1);
|
142 |
+
;
|
143 |
+
}
|
144 |
+
//print_r(self::$config);
|
145 |
+
if (is_array(self::$config))
|
146 |
+
foreach (self::$config['block'] as $block) {
|
147 |
+
if (isset($block['active']) && $block['active'] == 1)
|
148 |
+
if (isset($block['controllers']['controller']))
|
149 |
+
if (!is_array($block['controllers']['controller'])) {
|
150 |
+
/* if the block should load for the current controller */
|
151 |
+
if ($for == $block['controllers']['controller']) {
|
152 |
+
ABH_Classes_ObjController::getBlock($block['name'])->init();
|
153 |
+
}
|
154 |
+
} else {
|
155 |
+
foreach ($block['controllers']['controller'] as $controller) {
|
156 |
+
/* if the block should load for the current controller */
|
157 |
+
if ($for == $controller) {
|
158 |
+
ABH_Classes_ObjController::getBlock($block['name'])->init();
|
159 |
+
}
|
160 |
+
}
|
161 |
+
}
|
162 |
+
}
|
163 |
+
}
|
164 |
+
|
165 |
+
/**
|
166 |
+
* Check if the class is correctly set
|
167 |
+
*
|
168 |
+
* @param string $className
|
169 |
+
* @return boolean
|
170 |
+
*/
|
171 |
+
private static function checkClassPath($className) {
|
172 |
+
$path = preg_split('/[_]+/', $className);
|
173 |
+
if (is_array($path) && count($path) > 1) {
|
174 |
+
if (in_array(_ABH_NAMESPACE_, $path)) {
|
175 |
+
return true;
|
176 |
+
}
|
177 |
+
}
|
178 |
+
|
179 |
+
return false;
|
180 |
+
}
|
181 |
+
|
182 |
+
/**
|
183 |
+
* Get the path of the class and name of the class
|
184 |
+
*
|
185 |
+
* @param string $className
|
186 |
+
* @return array | boolean
|
187 |
+
* array(
|
188 |
+
* dir - absolute path of the class
|
189 |
+
* name - the name of the file
|
190 |
+
* }
|
191 |
+
*/
|
192 |
+
public static function getClassPath($className) {
|
193 |
+
$path = array();
|
194 |
+
$dir = '';
|
195 |
+
|
196 |
+
if (self::checkClassPath($className)) {
|
197 |
+
$path = preg_split('/[_]+/', $className);
|
198 |
+
for ($i = 1; $i < sizeof($path) - 1; $i++)
|
199 |
+
$dir .= strtolower($path[$i]) . '/';
|
200 |
+
|
201 |
+
return array('dir' => _ABH_ROOT_DIR_ . '/' . $dir,
|
202 |
+
'name' => $path[sizeof($path) - 1]);
|
203 |
+
}
|
204 |
+
return false;
|
205 |
+
}
|
206 |
+
|
207 |
+
}
|
208 |
+
|
209 |
+
?>
|
classes/Tools.php
ADDED
@@ -0,0 +1,434 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
/**
|
4 |
+
* Handles the parameters and url
|
5 |
+
*
|
6 |
+
* @author StarBox
|
7 |
+
*/
|
8 |
+
class ABH_Classes_Tools extends ABH_Classes_FrontController {
|
9 |
+
|
10 |
+
/** @var array Saved options in database */
|
11 |
+
public static $options = array();
|
12 |
+
|
13 |
+
/** @var integer Count the errors in site */
|
14 |
+
static $errors_count = 0;
|
15 |
+
|
16 |
+
/** @var array */
|
17 |
+
private static $debug;
|
18 |
+
|
19 |
+
function __construct() {
|
20 |
+
parent::__construct();
|
21 |
+
|
22 |
+
self::$options = $this->getOptions();
|
23 |
+
|
24 |
+
$this->checkDebug(); //Check for debug
|
25 |
+
}
|
26 |
+
|
27 |
+
public static function getUserID() {
|
28 |
+
global $current_user;
|
29 |
+
return $current_user->ID;
|
30 |
+
}
|
31 |
+
|
32 |
+
/**
|
33 |
+
* This hook will save the current version in database
|
34 |
+
*
|
35 |
+
* @return void
|
36 |
+
*/
|
37 |
+
function hookInit() {
|
38 |
+
|
39 |
+
//TinyMCE editor required
|
40 |
+
//set_user_setting('editor', 'tinymce');
|
41 |
+
|
42 |
+
$this->loadMultilanguage();
|
43 |
+
|
44 |
+
//add setting link in plugin
|
45 |
+
add_filter('plugin_action_links', array($this, 'hookActionlink'), 5, 2);
|
46 |
+
}
|
47 |
+
|
48 |
+
/**
|
49 |
+
* Hook the frontent event to load the translations
|
50 |
+
*/
|
51 |
+
function hookFrontinit() {
|
52 |
+
$this->loadMultilanguage();
|
53 |
+
}
|
54 |
+
|
55 |
+
/**
|
56 |
+
* Add a link to settings in the plugin list
|
57 |
+
*
|
58 |
+
* @param array $links
|
59 |
+
* @param type $file
|
60 |
+
* @return array
|
61 |
+
*/
|
62 |
+
public function hookActionlink($links, $file) {
|
63 |
+
|
64 |
+
if ($file == strtolower(_ABH_PLUGIN_NAME_) . '/' . strtolower(_ABH_PLUGIN_NAME_) . '.php') {
|
65 |
+
$link = '<a href="' . admin_url('admin.php?page=abh_settings') . '">' . __('Settings', _ABH_PLUGIN_NAME_) . '</a>';
|
66 |
+
array_unshift($links, $link);
|
67 |
+
}
|
68 |
+
return $links;
|
69 |
+
}
|
70 |
+
|
71 |
+
/**
|
72 |
+
* Load the Options from user option table in DB
|
73 |
+
*
|
74 |
+
* @return void
|
75 |
+
*/
|
76 |
+
public static function getOptions() {
|
77 |
+
$default = array(
|
78 |
+
'abh_version' => ABH_VERSION,
|
79 |
+
'abh_use' => 1,
|
80 |
+
'abh_subscribe' => 0,
|
81 |
+
'abh_inposts' => 1,
|
82 |
+
'abh_strictposts' => 0,
|
83 |
+
'abh_inpages' => 0,
|
84 |
+
'abh_ineachpost' => 0,
|
85 |
+
'abh_showopengraph' => 1,
|
86 |
+
'abh_shortcode' => 1,
|
87 |
+
'abh_powered_by' => 1,
|
88 |
+
// --
|
89 |
+
'abh_position' => 'down',
|
90 |
+
'anh_crt_posts' => 3,
|
91 |
+
'abh_author' => array(),
|
92 |
+
'abh_theme' => 'business',
|
93 |
+
'abh_achposttheme' => 'drop-down',
|
94 |
+
'abh_titlefontsize' => 'default',
|
95 |
+
'abh_descfontsize' => 'default',
|
96 |
+
);
|
97 |
+
$options = json_decode(get_option(ABH_OPTION), true);
|
98 |
+
|
99 |
+
if (is_array($options)) {
|
100 |
+
$options = @array_merge($default, $options);
|
101 |
+
} else {
|
102 |
+
$options = $default;
|
103 |
+
}
|
104 |
+
|
105 |
+
$options['abh_themes'] = array('business', 'fancy', 'minimal', 'drop-down', 'topstar', 'topstar-round');
|
106 |
+
$options['abh_achpostthemes'] = array('drop-down', 'topstar', 'topstar-round');
|
107 |
+
$options['abh_titlefontsizes'] = array('default', '10px', '12px', '14px', '16px', '18px', '20px', '24px', '26px', '30px');
|
108 |
+
$options['abh_descfontsizes'] = array('default', '10px', '12px', '14px', '16px', '18px', '20px', '24px', '26px', '30px');
|
109 |
+
|
110 |
+
return $options;
|
111 |
+
}
|
112 |
+
|
113 |
+
public static function setOption($value, $new) {
|
114 |
+
self::$options[$value] = $new;
|
115 |
+
return self::$options[$value];
|
116 |
+
}
|
117 |
+
|
118 |
+
public static function getOption($value) {
|
119 |
+
if (isset(self::$options[$value]))
|
120 |
+
return self::$options[$value];
|
121 |
+
else
|
122 |
+
return false;
|
123 |
+
}
|
124 |
+
|
125 |
+
/**
|
126 |
+
* Save the Options in user option table in DB
|
127 |
+
*
|
128 |
+
* @return void
|
129 |
+
*/
|
130 |
+
public static function saveOptions($key, $value) {
|
131 |
+
self::$options[$key] = $value;
|
132 |
+
update_option(ABH_OPTION, json_encode(self::$options));
|
133 |
+
}
|
134 |
+
|
135 |
+
/**
|
136 |
+
* Set the header type
|
137 |
+
* @param type $type
|
138 |
+
*/
|
139 |
+
public static function setHeader($type) {
|
140 |
+
if (ABH_Classes_Tools::getValue('abh_debug') == 'on')
|
141 |
+
return;
|
142 |
+
|
143 |
+
switch ($type) {
|
144 |
+
case 'json':
|
145 |
+
header('Content-Type: application/json');
|
146 |
+
}
|
147 |
+
}
|
148 |
+
|
149 |
+
/**
|
150 |
+
* Get a value from $_POST / $_GET
|
151 |
+
* if unavailable, take a default value
|
152 |
+
*
|
153 |
+
* @param string $key Value key
|
154 |
+
* @param mixed $defaultValue (optional)
|
155 |
+
* @return mixed Value
|
156 |
+
*/
|
157 |
+
public static function getValue($key, $defaultValue = false) {
|
158 |
+
if (!isset($key) OR empty($key) OR ! is_string($key))
|
159 |
+
return false;
|
160 |
+
$ret = (isset($_POST[$key]) ? $_POST[$key] : (isset($_GET[$key]) ? $_GET[$key] : $defaultValue));
|
161 |
+
|
162 |
+
if (is_string($ret) === true)
|
163 |
+
$ret = urldecode(preg_replace('/((\%5C0+)|(\%00+))/i', '', urlencode($ret)));
|
164 |
+
return !is_string($ret) ? $ret : stripslashes($ret);
|
165 |
+
}
|
166 |
+
|
167 |
+
/**
|
168 |
+
* Check if the parameter is set
|
169 |
+
*
|
170 |
+
* @param string $key
|
171 |
+
* @return boolean
|
172 |
+
*/
|
173 |
+
public static function getIsset($key) {
|
174 |
+
if (!isset($key) OR empty($key) OR ! is_string($key))
|
175 |
+
return false;
|
176 |
+
return isset($_POST[$key]) ? true : (isset($_GET[$key]) ? true : false);
|
177 |
+
}
|
178 |
+
|
179 |
+
/**
|
180 |
+
* Show the notices to WP
|
181 |
+
*
|
182 |
+
* @return void
|
183 |
+
*/
|
184 |
+
public static function showNotices($message, $type = 'abh_notices') {
|
185 |
+
if (file_exists(_ABH_THEME_DIR_ . 'Notices.php')) {
|
186 |
+
ob_start();
|
187 |
+
include (_ABH_THEME_DIR_ . 'Notices.php');
|
188 |
+
$message = ob_get_contents();
|
189 |
+
ob_end_clean();
|
190 |
+
}
|
191 |
+
|
192 |
+
return $message;
|
193 |
+
}
|
194 |
+
|
195 |
+
/**
|
196 |
+
* Load the multilanguage support from .mo
|
197 |
+
*/
|
198 |
+
private function loadMultilanguage() {
|
199 |
+
if (!defined('WP_PLUGIN_DIR')) {
|
200 |
+
load_plugin_textdomain(_ABH_PLUGIN_NAME_, _ABH_PLUGIN_NAME_ . '/languages/');
|
201 |
+
} else {
|
202 |
+
load_plugin_textdomain(_ABH_PLUGIN_NAME_, null, _ABH_PLUGIN_NAME_ . '/languages/');
|
203 |
+
}
|
204 |
+
}
|
205 |
+
|
206 |
+
/**
|
207 |
+
* Connect remote with CURL if exists
|
208 |
+
*/
|
209 |
+
public static function abh_remote_get($url, $param = array()) {
|
210 |
+
|
211 |
+
$url_domain = parse_url($url);
|
212 |
+
$url_domain = $url_domain['host'];
|
213 |
+
|
214 |
+
if (isset($param['timeout']))
|
215 |
+
$timeout = $param['timeout'];
|
216 |
+
else
|
217 |
+
$timeout = 30;
|
218 |
+
|
219 |
+
if (function_exists('curl_init')) {
|
220 |
+
return self::abh_curl($url, array('timeout' => $timeout,));
|
221 |
+
} else {
|
222 |
+
return self::abh_wpcall($url, array('timeout' => $timeout));
|
223 |
+
}
|
224 |
+
}
|
225 |
+
|
226 |
+
/**
|
227 |
+
* Call remote UR with CURL
|
228 |
+
* @param string $url
|
229 |
+
* @param array $param
|
230 |
+
* @return string
|
231 |
+
*/
|
232 |
+
private static function abh_curl($url, $param = array()) {
|
233 |
+
$ch = curl_init($url);
|
234 |
+
curl_setopt($ch, CURLOPT_URL, $url);
|
235 |
+
curl_setopt($ch, CURLOPT_HEADER, false);
|
236 |
+
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
|
237 |
+
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
|
238 |
+
curl_setopt($ch, CURLOPT_TIMEOUT, $param['timeout']);
|
239 |
+
|
240 |
+
$response = curl_exec($ch);
|
241 |
+
$response = self::cleanResponce($response);
|
242 |
+
|
243 |
+
if (curl_errno($ch) == 1) { //if protocol not supported
|
244 |
+
self::dump(curl_getinfo($ch), curl_errno($ch), curl_error($ch));
|
245 |
+
$response = self::abh_wpcall($url, $param); //use the wordpress call
|
246 |
+
}
|
247 |
+
self::dump('CURL', $url, $param, $response); //output debug
|
248 |
+
|
249 |
+
curl_close($ch);
|
250 |
+
return $response;
|
251 |
+
}
|
252 |
+
|
253 |
+
/**
|
254 |
+
* Use the WP remote call
|
255 |
+
* @param string $url
|
256 |
+
* @param array $param
|
257 |
+
* @return string
|
258 |
+
*/
|
259 |
+
private static function abh_wpcall($url, $param = array()) {
|
260 |
+
$response = wp_remote_get($url, $param);
|
261 |
+
$response = self::cleanResponce(wp_remote_retrieve_body($response)); //clear and get the body
|
262 |
+
return $response;
|
263 |
+
}
|
264 |
+
|
265 |
+
/**
|
266 |
+
* Connect remote with CURL if exists
|
267 |
+
*/
|
268 |
+
public static function abh_remote_head($url) {
|
269 |
+
$response = array();
|
270 |
+
|
271 |
+
if (isset($param['timeout']))
|
272 |
+
$timeout = $param['timeout'];
|
273 |
+
else
|
274 |
+
$timeout = 30;
|
275 |
+
|
276 |
+
if (function_exists('curl_exec')) {
|
277 |
+
$ch = curl_init($url);
|
278 |
+
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
|
279 |
+
curl_setopt($ch, CURLOPT_TIMEOUT, $timeout);
|
280 |
+
curl_exec($ch);
|
281 |
+
|
282 |
+
$response['headers']['content-type'] = curl_getinfo($ch, CURLINFO_CONTENT_TYPE);
|
283 |
+
$response['response']['code'] = curl_getinfo($ch, CURLINFO_HTTP_CODE);
|
284 |
+
curl_close($ch);
|
285 |
+
|
286 |
+
return $response;
|
287 |
+
} else {
|
288 |
+
return wp_remote_head($url, array('timeout' => $timeout));
|
289 |
+
}
|
290 |
+
|
291 |
+
return false;
|
292 |
+
}
|
293 |
+
|
294 |
+
/**
|
295 |
+
* Get the Json from responce if any
|
296 |
+
* @param string $response
|
297 |
+
* @return string
|
298 |
+
*/
|
299 |
+
private static function cleanResponce($response) {
|
300 |
+
|
301 |
+
if (function_exists('substr_count'))
|
302 |
+
if (substr_count($response, '(') > 1)
|
303 |
+
return $response;
|
304 |
+
|
305 |
+
if (strpos($response, '(') !== false && strpos($response, ')') !== false)
|
306 |
+
$response = substr($response, (strpos($response, '(') + 1), (strpos($response, ')') - 1));
|
307 |
+
|
308 |
+
return $response;
|
309 |
+
}
|
310 |
+
|
311 |
+
/**
|
312 |
+
* Check for SEO blog bad settings
|
313 |
+
*/
|
314 |
+
public static function checkErrorSettings($count_only = false) {
|
315 |
+
|
316 |
+
|
317 |
+
if (function_exists('is_network_admin') && is_network_admin())
|
318 |
+
return;
|
319 |
+
|
320 |
+
if (false) {
|
321 |
+
if ($count_only)
|
322 |
+
self::$errors_count++;
|
323 |
+
else
|
324 |
+
ABH_Classes_Error::setError(__('Notice', _ABH_PLUGIN_NAME_) . " <br /> ", 'settings');
|
325 |
+
}
|
326 |
+
}
|
327 |
+
|
328 |
+
/**
|
329 |
+
* Support for i18n with wpml, polyglot or qtrans
|
330 |
+
*
|
331 |
+
* @param string $in
|
332 |
+
* @return string $in localized
|
333 |
+
*/
|
334 |
+
public static function i18n($in) {
|
335 |
+
if (function_exists('langswitch_filter_langs_with_message')) {
|
336 |
+
$in = langswitch_filter_langs_with_message($in);
|
337 |
+
}
|
338 |
+
if (function_exists('polyglot_filter')) {
|
339 |
+
$in = polyglot_filter($in);
|
340 |
+
}
|
341 |
+
if (function_exists('qtrans_useCurrentLanguageIfNotFoundUseDefaultLanguage')) {
|
342 |
+
$in = qtrans_useCurrentLanguageIfNotFoundUseDefaultLanguage($in);
|
343 |
+
}
|
344 |
+
$in = apply_filters('localization', $in);
|
345 |
+
return $in;
|
346 |
+
}
|
347 |
+
|
348 |
+
/**
|
349 |
+
* Convert integer on the locale format.
|
350 |
+
*
|
351 |
+
* @param int $number The number to convert based on locale.
|
352 |
+
* @param int $decimals Precision of the number of decimal places.
|
353 |
+
* @return string Converted number in string format.
|
354 |
+
*/
|
355 |
+
public static function i18n_number_format($number, $decimals = 0) {
|
356 |
+
global $wp_locale;
|
357 |
+
$formatted = number_format($number, absint($decimals), $wp_locale->number_format['decimal_point'], $wp_locale->number_format['thousands_sep']);
|
358 |
+
return apply_filters('number_format_i18n', $formatted);
|
359 |
+
}
|
360 |
+
|
361 |
+
/**
|
362 |
+
* Check if debug is called
|
363 |
+
*/
|
364 |
+
private function checkDebug() {
|
365 |
+
//if debug is called
|
366 |
+
if (self::getIsset('abh_debug')) {
|
367 |
+
if (self::getValue('abh_debug') === 'on') {
|
368 |
+
if (function_exists('register_shutdown_function'))
|
369 |
+
register_shutdown_function(array($this, 'showDebug'));
|
370 |
+
}
|
371 |
+
}
|
372 |
+
}
|
373 |
+
|
374 |
+
/**
|
375 |
+
* Store the debug for a later view
|
376 |
+
*/
|
377 |
+
public static function dump() {
|
378 |
+
$output = '';
|
379 |
+
$callee = array('file' => '', 'line' => '');
|
380 |
+
if (function_exists('func_get_args')) {
|
381 |
+
$arguments = func_get_args();
|
382 |
+
$total_arguments = count($arguments);
|
383 |
+
} else
|
384 |
+
$arguments = array();
|
385 |
+
|
386 |
+
|
387 |
+
|
388 |
+
if (function_exists('debug_backtrace'))
|
389 |
+
list( $callee ) = debug_backtrace();
|
390 |
+
|
391 |
+
$output .= '<fieldset style="background: #FFFFFF; border: 1px #CCCCCC solid; padding: 5px; font-size: 9pt; margin: 0;">';
|
392 |
+
$output .= '<legend style="background: #EEEEEE; padding: 2px; font-size: 8pt;">' . $callee['file'] . ' @ line: ' . $callee['line']
|
393 |
+
. '</legend><pre style="margin: 0; font-size: 8pt; text-align: left;">';
|
394 |
+
|
395 |
+
$i = 0;
|
396 |
+
foreach ($arguments as $argument) {
|
397 |
+
if (count($arguments) > 1)
|
398 |
+
$output .= "\n" . '<strong>#' . ( ++$i ) . ' of ' . $total_arguments . '</strong>: ';
|
399 |
+
|
400 |
+
// if argument is boolean, false value does not display, so ...
|
401 |
+
if (is_bool($argument))
|
402 |
+
$argument = ( $argument ) ? 'TRUE' : 'FALSE';
|
403 |
+
else
|
404 |
+
if (is_object($argument) && function_exists('array_reverse') && function_exists('class_parents'))
|
405 |
+
$output .= implode("\n" . '|' . "\n", array_reverse(class_parents($argument))) . "\n" . '|' . "\n";
|
406 |
+
|
407 |
+
$output .= htmlspecialchars(print_r($argument, TRUE))
|
408 |
+
. ( ( is_object($argument) && function_exists('spl_object_hash') ) ? spl_object_hash($argument) : '' );
|
409 |
+
}
|
410 |
+
$output .= "</pre>";
|
411 |
+
$output .= "</fieldset>";
|
412 |
+
|
413 |
+
self::$debug[] = $output;
|
414 |
+
}
|
415 |
+
|
416 |
+
/**
|
417 |
+
* Show the debug dump
|
418 |
+
*/
|
419 |
+
public static function showDebug() {
|
420 |
+
echo "Debug result: <br />" . @implode('<br />', self::$debug);
|
421 |
+
}
|
422 |
+
|
423 |
+
public static function emptyCache() {
|
424 |
+
if (function_exists('w3tc_pgcache_flush')) {
|
425 |
+
w3tc_pgcache_flush();
|
426 |
+
}
|
427 |
+
if (function_exists('wp_cache_clear_cache')) {
|
428 |
+
wp_cache_clear_cache();
|
429 |
+
}
|
430 |
+
}
|
431 |
+
|
432 |
+
}
|
433 |
+
|
434 |
+
?>
|
config/config.php
ADDED
@@ -0,0 +1,29 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
/**
|
4 |
+
* The configuration file
|
5 |
+
*/
|
6 |
+
define('_ABH_NONCE_ID_', 'abh_nonce');
|
7 |
+
|
8 |
+
if (!defined('PHP_VERSION_ID')) {
|
9 |
+
$version = explode('.', PHP_VERSION);
|
10 |
+
define('PHP_VERSION_ID', ((int) @$version[0] * 1000 + (int) @$version[1] * 100 + ((isset($version[2])) ? ((int) $version[2] * 10) : 0)));
|
11 |
+
}
|
12 |
+
if (!defined('WP_VERSION_ID') && isset($wp_version)) {
|
13 |
+
$version = explode('.', $wp_version);
|
14 |
+
define('WP_VERSION_ID', ((int) @$version[0] * 1000 + (int) @$version[1] * 100 + ((isset($version[2])) ? ((int) $version[2] * 10) : 0)));
|
15 |
+
}
|
16 |
+
if (!defined('WP_VERSION_ID'))
|
17 |
+
define('WP_VERSION_ID', '3000');
|
18 |
+
|
19 |
+
if (!defined('ABH_VERSION_ID')) {
|
20 |
+
$version = explode('.', ABH_VERSION);
|
21 |
+
define('ABH_VERSION_ID', ((int) @$version[0] * 1000 + (int) @$version[1] * 100 + ((isset($version[2])) ? ((int) $version[2] * 10) : 0)));
|
22 |
+
}
|
23 |
+
|
24 |
+
/* No path file? error ... */
|
25 |
+
require_once(dirname(__FILE__) . '/paths.php');
|
26 |
+
|
27 |
+
/* Define the record name in the Option and UserMeta tables */
|
28 |
+
define('ABH_OPTION', 'abh_options');
|
29 |
+
?>
|
config/paths.php
ADDED
@@ -0,0 +1,29 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
define('_ABH_NAMESPACE_', 'ABH'); //THIS LINE WILL BE CHANGED WITH THE USER SETTINGS
|
4 |
+
define('_ABH_PLUGIN_NAME_', 'starbox'); //THIS LINE WILL BE CHANGED WITH THE USER SETTINGS
|
5 |
+
define('_ABH_THEME_NAME_', 'admin'); //THIS LINE WILL BE CHANGED WITH THE USER SETTINGS
|
6 |
+
|
7 |
+
/* Directories */
|
8 |
+
define('_ABH_ROOT_DIR_', plugin_dir_path(dirname(__FILE__)));
|
9 |
+
|
10 |
+
$upload_dir = wp_upload_dir();
|
11 |
+
define('_ABH_GRAVATAR_DIR_', (is_dir($upload_dir['basedir']) ? $upload_dir['basedir'] . '/gravatar/' : _ABH_ROOT_DIR_ . '/gravatar/'));
|
12 |
+
if (!is_dir(_ABH_GRAVATAR_DIR_))
|
13 |
+
if (!wp_mkdir_p(_ABH_GRAVATAR_DIR_)) {
|
14 |
+
echo sprintf(__('Unable to create directory %s. Is its parent directory writable by the server?'), _ABH_GRAVATAR_DIR_);
|
15 |
+
}
|
16 |
+
define('_ABH_CLASSES_DIR_', _ABH_ROOT_DIR_ . '/classes/');
|
17 |
+
define('_ABH_CONTROLLER_DIR_', _ABH_ROOT_DIR_ . '/controllers/');
|
18 |
+
define('_ABH_MODEL_DIR_', _ABH_ROOT_DIR_ . '/models/');
|
19 |
+
define('_ABH_TRANSLATIONS_DIR_', _ABH_ROOT_DIR_ . '/translations/');
|
20 |
+
define('_ABH_CORE_DIR_', _ABH_ROOT_DIR_ . '/core/');
|
21 |
+
define('_ABH_ALL_THEMES_DIR_', _ABH_ROOT_DIR_ . '/themes/');
|
22 |
+
define('_ABH_THEME_DIR_', _ABH_ROOT_DIR_ . '/themes/' . _ABH_THEME_NAME_ . '/');
|
23 |
+
|
24 |
+
/* URLS */
|
25 |
+
define('_ABH_URL_', plugins_url('/', dirname(__FILE__)));
|
26 |
+
define('_ABH_GRAVATAR_URL_', (is_dir($upload_dir['basedir'] . '/gravatar') ? $upload_dir['baseurl'] . '/gravatar/' : _ABH_URL_ . '/gravatar/'));
|
27 |
+
define('_ABH_ALL_THEMES_URL_', _ABH_URL_ . '/themes/');
|
28 |
+
define('_ABH_THEME_URL_', _ABH_URL_ . '/themes/' . _ABH_THEME_NAME_ . '/');
|
29 |
+
?>
|
controllers/Frontend.php
ADDED
@@ -0,0 +1,495 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
class ABH_Controllers_Frontend extends ABH_Classes_FrontController {
|
4 |
+
|
5 |
+
public static $options;
|
6 |
+
private $box = '';
|
7 |
+
private $show = false;
|
8 |
+
public $custom = array();
|
9 |
+
private $shortcode = '';
|
10 |
+
|
11 |
+
function __construct() {
|
12 |
+
parent::__construct();
|
13 |
+
$this->shortcode = '/\[starbox([\s+][^\]]+)*\]/i';
|
14 |
+
}
|
15 |
+
|
16 |
+
/**
|
17 |
+
* Get the author box
|
18 |
+
* Dependency: hookFronthead();
|
19 |
+
* @return string|false if the author is not found
|
20 |
+
*/
|
21 |
+
public function getBox() {
|
22 |
+
$this->model->single = true;
|
23 |
+
return $this->model->getAuthorBox();
|
24 |
+
}
|
25 |
+
|
26 |
+
/**
|
27 |
+
* Called on shortcode+
|
28 |
+
* @param string $content
|
29 |
+
* @return string
|
30 |
+
*/
|
31 |
+
public function hookShortStarboximg($param) {
|
32 |
+
global $post;
|
33 |
+
$id = 0;
|
34 |
+
|
35 |
+
if (isset($post->ID))
|
36 |
+
$this->custom[$post->ID] = true;
|
37 |
+
|
38 |
+
extract(shortcode_atts(array('id' => 0), $param));
|
39 |
+
|
40 |
+
if ((int) $id > 0) {
|
41 |
+
$this->model->author = get_userdata((int) $id);
|
42 |
+
//get the author details settings
|
43 |
+
$this->model->details = ABH_Classes_Tools::getOption('abh_author' . $this->model->author->ID);
|
44 |
+
}
|
45 |
+
|
46 |
+
if ($id === 'all') {
|
47 |
+
$args = array(
|
48 |
+
'orderyby' => 'post_count',
|
49 |
+
'order' => 'DESC'
|
50 |
+
);
|
51 |
+
|
52 |
+
$theme = ABH_Classes_Tools::getOption('abh_theme');
|
53 |
+
ABH_Classes_Tools::setOption('abh_powered_by', 0); //down show powered by for too many
|
54 |
+
|
55 |
+
$users = get_users($args);
|
56 |
+
foreach ($users as $user) {
|
57 |
+
$details = ABH_Classes_Tools::getOption('abh_author' . $user->ID);
|
58 |
+
if (!isset($details['abh_use']) || $details['abh_use'])
|
59 |
+
$str .= ABH_Classes_ObjController::getController('ABH_Controllers_Frontend')->showStarboximg($user->ID);
|
60 |
+
if (!$force && (!is_single() && !is_singular()))
|
61 |
+
break; //don't show multiple authors in post list
|
62 |
+
}
|
63 |
+
} elseif (!is_numeric($id)) {
|
64 |
+
if (strpos($id, ',') !== false) {
|
65 |
+
$show_list = @preg_split("/,/", $id);
|
66 |
+
ABH_Classes_Tools::setOption('abh_powered_by', 0); //down show powered by for too many
|
67 |
+
} else {
|
68 |
+
$show_list = array($id);
|
69 |
+
$this->model->author = get_userdatabylogin($id);
|
70 |
+
|
71 |
+
//get the author details settings
|
72 |
+
$this->model->details = ABH_Classes_Tools::getOption('abh_author' . $this->model->author->ID);
|
73 |
+
}
|
74 |
+
|
75 |
+
$args = array(
|
76 |
+
'orderyby' => 'post_count',
|
77 |
+
'order' => 'DESC',
|
78 |
+
);
|
79 |
+
|
80 |
+
$users = get_users($args);
|
81 |
+
foreach ($users as $user) {
|
82 |
+
// show mutiple authors in one shortcode
|
83 |
+
if (in_array($user->user_login, $show_list) || in_array($user->ID, $show_list)) {
|
84 |
+
|
85 |
+
$details = ABH_Classes_Tools::getOption('abh_author' . $user->ID);
|
86 |
+
if (!isset($details['abh_use']) || $details['abh_use'])
|
87 |
+
$str .= ABH_Classes_ObjController::getController('ABH_Controllers_Frontend')->showStarboximg($user->ID);
|
88 |
+
if (!$force && (!is_single() && !is_singular()))
|
89 |
+
break; //don't show multiple authors in post list
|
90 |
+
}
|
91 |
+
}
|
92 |
+
$str;
|
93 |
+
}
|
94 |
+
else {
|
95 |
+
$str = ABH_Classes_ObjController::getController('ABH_Controllers_Frontend')->showStarboximg((int) $id);
|
96 |
+
}
|
97 |
+
|
98 |
+
return $str;
|
99 |
+
}
|
100 |
+
|
101 |
+
/**
|
102 |
+
* Called on shortcode+
|
103 |
+
* @param string $content
|
104 |
+
* @return string
|
105 |
+
*/
|
106 |
+
public function hookShortStarbox($param, $force = false) {
|
107 |
+
global $post;
|
108 |
+
$id = 0;
|
109 |
+
$str = '';
|
110 |
+
$desc = '';
|
111 |
+
$lpc = null; //latest posts category
|
112 |
+
$theme = '';
|
113 |
+
|
114 |
+
if (isset($post->ID))
|
115 |
+
$this->custom[$post->ID] = true;
|
116 |
+
|
117 |
+
extract(shortcode_atts(array('id' => 0, 'desc' => '', 'lpc' => '', 'theme' => ''), $param));
|
118 |
+
if ($theme <> '') {
|
119 |
+
if (!in_array($theme, ABH_Classes_Tools::getOption('abh_themes')))
|
120 |
+
$theme = '';
|
121 |
+
}
|
122 |
+
if (isset($lpc)) {
|
123 |
+
$this->model->category = $lpc;
|
124 |
+
}
|
125 |
+
|
126 |
+
if ((int) $id > 0) {
|
127 |
+
$this->model->author = get_userdata((int) $id);
|
128 |
+
|
129 |
+
//get the author details settings
|
130 |
+
$this->model->details = ABH_Classes_Tools::getOption('abh_author' . $this->model->author->ID);
|
131 |
+
$theme = ($theme == '' || $this->model->details['abh_theme'] <> 'default') ? $this->model->details['abh_theme'] : $theme;
|
132 |
+
}
|
133 |
+
|
134 |
+
$theme = ($theme == '' || $theme == 'default' ) ? ABH_Classes_Tools::getOption('abh_theme') : $theme;
|
135 |
+
|
136 |
+
|
137 |
+
//remove the multiple new lines from custom description
|
138 |
+
if ($desc <> '') {
|
139 |
+
$desc = ABH_Classes_Tools::i18n($desc);
|
140 |
+
$desc = preg_replace('/(<br[^>]*>)+/i', "", $desc);
|
141 |
+
}
|
142 |
+
|
143 |
+
//
|
144 |
+
//show all the authors in the content
|
145 |
+
|
146 |
+
if ($id === 'all') {
|
147 |
+
$args = array(
|
148 |
+
'orderyby' => 'post_count',
|
149 |
+
'order' => 'DESC'
|
150 |
+
);
|
151 |
+
|
152 |
+
$theme = ABH_Classes_Tools::getOption('abh_theme');
|
153 |
+
ABH_Classes_Tools::setOption('abh_powered_by', 0); //down show powered by for too many
|
154 |
+
|
155 |
+
$users = get_users($args);
|
156 |
+
foreach ($users as $user) {
|
157 |
+
$details = ABH_Classes_Tools::getOption('abh_author' . $user->ID);
|
158 |
+
if (!isset($details['abh_use']) || $details['abh_use'])
|
159 |
+
$str .= ABH_Classes_ObjController::getController('ABH_Controllers_Frontend')->showBox($user->ID, $desc);
|
160 |
+
if (!$force && (!is_single() && !is_singular()))
|
161 |
+
break; //don't show multiple authors in post list
|
162 |
+
}
|
163 |
+
} elseif (!is_numeric($id)) {
|
164 |
+
if (strpos($id, ',') !== false) {
|
165 |
+
$show_list = @preg_split("/,/", $id);
|
166 |
+
$theme = ABH_Classes_Tools::getOption('abh_theme');
|
167 |
+
ABH_Classes_Tools::setOption('abh_powered_by', 0); //down show powered by for too many
|
168 |
+
} else {
|
169 |
+
$show_list = array($id);
|
170 |
+
$this->model->author = get_userdatabylogin($id);
|
171 |
+
|
172 |
+
//get the author details settings
|
173 |
+
$this->model->details = ABH_Classes_Tools::getOption('abh_author' . $this->model->author->ID);
|
174 |
+
$theme = ($theme == '' || $this->model->details['abh_theme'] <> 'default') ? $this->model->details['abh_theme'] : $theme;
|
175 |
+
}
|
176 |
+
|
177 |
+
$args = array(
|
178 |
+
'orderyby' => 'post_count',
|
179 |
+
'order' => 'DESC',
|
180 |
+
);
|
181 |
+
|
182 |
+
$users = get_users($args);
|
183 |
+
foreach ($users as $user) {
|
184 |
+
// show mutiple authors in one shortcode
|
185 |
+
if (in_array($user->user_login, $show_list) || in_array($user->ID, $show_list)) {
|
186 |
+
|
187 |
+
$details = ABH_Classes_Tools::getOption('abh_author' . $user->ID);
|
188 |
+
if (!isset($details['abh_use']) || $details['abh_use'])
|
189 |
+
$str .= ABH_Classes_ObjController::getController('ABH_Controllers_Frontend')->showBox($user->ID, $desc);
|
190 |
+
if (!$force && (!is_single() && !is_singular()))
|
191 |
+
break; //don't show multiple authors in post list
|
192 |
+
}
|
193 |
+
}
|
194 |
+
$str;
|
195 |
+
}
|
196 |
+
else {
|
197 |
+
$str = ABH_Classes_ObjController::getController('ABH_Controllers_Frontend')->showBox((int) $id, $desc);
|
198 |
+
}
|
199 |
+
|
200 |
+
if ($theme <> '') {
|
201 |
+
if (file_exists(_ABH_ALL_THEMES_DIR_ . $theme . '/css/frontend.css'))
|
202 |
+
ABH_Classes_ObjController::getController('ABH_Classes_DisplayController')
|
203 |
+
->loadMedia(_ABH_ALL_THEMES_URL_ . $theme . '/css/frontend.css'); //load the css and js for frontend
|
204 |
+
if (file_exists(_ABH_ALL_THEMES_DIR_ . $theme . '/js/frontend.js'))
|
205 |
+
ABH_Classes_ObjController::getController('ABH_Classes_DisplayController')
|
206 |
+
->loadMedia(_ABH_ALL_THEMES_URL_ . $theme . '/js/frontend.js'); //load the css and js for frontend
|
207 |
+
}
|
208 |
+
|
209 |
+
return $str;
|
210 |
+
}
|
211 |
+
|
212 |
+
public function hookShortWidgetStarbox($content) {
|
213 |
+
$id = 0;
|
214 |
+
$desc = '';
|
215 |
+
$lpc = null; //latest posts category
|
216 |
+
$theme = '';
|
217 |
+
|
218 |
+
if (@preg_match($this->shortcode, $content, $out)) {
|
219 |
+
if (!empty($out) && isset($out[1])) {
|
220 |
+
if (trim($out[1]) <> '') {
|
221 |
+
$out[1] = str_replace(array('" ', '"'), array('"&', ''), $out[1]);
|
222 |
+
parse_str(trim($out[1]));
|
223 |
+
}
|
224 |
+
}
|
225 |
+
|
226 |
+
|
227 |
+
return str_replace($out[0], $this->hookShortStarbox(array('id' => $id, 'desc' => $desc, 'lpc' => $lpc, 'theme' => $theme), true), $content);
|
228 |
+
}
|
229 |
+
return $content;
|
230 |
+
}
|
231 |
+
|
232 |
+
/**
|
233 |
+
* Show the author box to the correct position
|
234 |
+
* @param string $content
|
235 |
+
* @return string
|
236 |
+
*/
|
237 |
+
public function showAuthorBox($content = '') {
|
238 |
+
if (!isset($this->model->details['abh_google']) || $this->model->details['abh_google']) {
|
239 |
+
$content = preg_replace('/rel=[\"|\']([^\"\']*author[^\"\']*)[\"|\']/i', '', $content);
|
240 |
+
}
|
241 |
+
|
242 |
+
if (!isset($this->model->details['abh_use']) || $this->model->details['abh_use']) {
|
243 |
+
if ((is_single() && ABH_Classes_Tools::getOption('abh_inposts') == 1) ||
|
244 |
+
(is_page() && ABH_Classes_Tools::getOption('abh_inpages') == 1)) {
|
245 |
+
$this->model->single = true;
|
246 |
+
$this->box = $this->getBox();
|
247 |
+
}
|
248 |
+
|
249 |
+
switch ($this->model->position) {
|
250 |
+
case 'up':
|
251 |
+
$content = $this->box . $content;
|
252 |
+
break;
|
253 |
+
case 'down':
|
254 |
+
default:
|
255 |
+
$content .= $this->box;
|
256 |
+
break;
|
257 |
+
}
|
258 |
+
}
|
259 |
+
return $content;
|
260 |
+
}
|
261 |
+
|
262 |
+
/**
|
263 |
+
* If called it will return the box and will not show the author box in article
|
264 |
+
* @param int $author_id (optional) The author ID
|
265 |
+
* @param string $custom_desc (optional) The custom description for the author
|
266 |
+
* @return string
|
267 |
+
*/
|
268 |
+
public function showBox($author_id = 0, $description = '') {
|
269 |
+
if ($author_id == 0) {
|
270 |
+
global $wp_query;
|
271 |
+
if (!empty($wp_query->posts))
|
272 |
+
foreach ($wp_query->posts as $post) {
|
273 |
+
if ($post->ID && get_post_status($post->ID) == 'publish') {
|
274 |
+
// Get the author data
|
275 |
+
$post = get_post($post->ID);
|
276 |
+
break;
|
277 |
+
}
|
278 |
+
}
|
279 |
+
// cancel on errors
|
280 |
+
if (!isset($post) || !isset($post->post_author))
|
281 |
+
return;
|
282 |
+
|
283 |
+
// get the author data
|
284 |
+
if (is_author())
|
285 |
+
$this->model->author = get_queried_object();
|
286 |
+
else
|
287 |
+
$this->model->author = get_userdata($post->post_author);
|
288 |
+
}else {
|
289 |
+
$this->model->author = get_userdata($author_id);
|
290 |
+
}
|
291 |
+
|
292 |
+
|
293 |
+
|
294 |
+
//get the author details settings
|
295 |
+
$this->model->details = ABH_Classes_Tools::getOption('abh_author' . $this->model->author->ID);
|
296 |
+
|
297 |
+
|
298 |
+
if ($description <> '')
|
299 |
+
$this->model->details['abh_extra_description'] = $description;
|
300 |
+
|
301 |
+
$this->model->position = 'custom';
|
302 |
+
return $this->getBox();
|
303 |
+
}
|
304 |
+
|
305 |
+
/**
|
306 |
+
* If called it will return the author image or the gravatar img
|
307 |
+
* @param int $author_id (optional) The author ID
|
308 |
+
* @return string
|
309 |
+
*/
|
310 |
+
public function showStarboximg($author_id = 0) {
|
311 |
+
if ($author_id == 0) {
|
312 |
+
global $wp_query;
|
313 |
+
if (!empty($wp_query->posts))
|
314 |
+
foreach ($wp_query->posts as $post) {
|
315 |
+
if ($post->ID && get_post_status($post->ID) == 'publish') {
|
316 |
+
// Get the author data
|
317 |
+
$post = get_post($post->ID);
|
318 |
+
break;
|
319 |
+
}
|
320 |
+
}
|
321 |
+
// cancel on errors
|
322 |
+
if (!isset($post) || !isset($post->post_author))
|
323 |
+
return;
|
324 |
+
|
325 |
+
// get the author data
|
326 |
+
if (is_author())
|
327 |
+
$this->model->author = get_queried_object();
|
328 |
+
else
|
329 |
+
$this->model->author = get_userdata($post->post_author);
|
330 |
+
}else {
|
331 |
+
$this->model->author = get_userdata($author_id);
|
332 |
+
}
|
333 |
+
|
334 |
+
//get the author details settings
|
335 |
+
$this->model->details = ABH_Classes_Tools::getOption('abh_author' . $this->model->author->ID);
|
336 |
+
|
337 |
+
return $this->model->getProfileImage();
|
338 |
+
}
|
339 |
+
|
340 |
+
/**
|
341 |
+
* Hook the Init in Frontend
|
342 |
+
*/
|
343 |
+
public function hookFrontinit() {
|
344 |
+
if (isset($this->model->details) && $this->model->details['abh_google'] <> '') {
|
345 |
+
remove_action('wp_head', 'author_rel_link');
|
346 |
+
}
|
347 |
+
}
|
348 |
+
|
349 |
+
/**
|
350 |
+
* Hook the Frontend Header load
|
351 |
+
*/
|
352 |
+
public function hookFronthead() {
|
353 |
+
global $wp_query;
|
354 |
+
$post = null;
|
355 |
+
//echo '<pre>' . print_r($wp_query, true) . '</pre>';
|
356 |
+
|
357 |
+
if ((is_single() && (ABH_Classes_Tools::getOption('abh_strictposts') == 0 || (ABH_Classes_Tools::getOption('abh_strictposts') == 1 && get_post_type() == 'post')) && ABH_Classes_Tools::getOption('abh_inposts') == 1) ||
|
358 |
+
(is_singular() && get_post_type() == 'page' && ABH_Classes_Tools::getOption('abh_inpages') == 1) ||
|
359 |
+
(ABH_Classes_Tools::getOption('abh_ineachpost') == 1) && (is_category() || is_tag() || (!is_singular() && get_post_type() == 'page') || (ABH_Classes_Tools::getOption('abh_strictposts') == 0 && is_archive()) || (ABH_Classes_Tools::getOption('abh_strictposts') == 0 && is_search()))) {
|
360 |
+
|
361 |
+
$theme = ABH_Classes_Tools::getOption('abh_theme');
|
362 |
+
|
363 |
+
if (!empty($wp_query->posts))
|
364 |
+
foreach ($wp_query->posts as $post) {
|
365 |
+
if ($post->ID && get_post_status($post->ID) == 'publish') {
|
366 |
+
// Get the author data
|
367 |
+
$post = get_post($post->ID);
|
368 |
+
break;
|
369 |
+
}
|
370 |
+
}
|
371 |
+
// cancel on errors
|
372 |
+
if (!isset($post) || !isset($post->post_author))
|
373 |
+
return;
|
374 |
+
|
375 |
+
// get the author data
|
376 |
+
if (is_author())
|
377 |
+
$this->model->author = get_queried_object();
|
378 |
+
else
|
379 |
+
$this->model->author = get_userdata($post->post_author);
|
380 |
+
|
381 |
+
//get the author details settings
|
382 |
+
$this->model->details = ABH_Classes_Tools::getOption('abh_author' . $this->model->author->ID);
|
383 |
+
|
384 |
+
if (isset($this->model->details['abh_lpc'])) //if the latest post category is set
|
385 |
+
$this->model->category = $this->model->details['abh_lpc'];
|
386 |
+
|
387 |
+
//Se the author box position
|
388 |
+
if (isset($this->model->details['abh_position']) && $this->model->details['abh_position'] <> 'default')
|
389 |
+
$this->model->position = $this->model->details['abh_position'];
|
390 |
+
else
|
391 |
+
$this->model->position = ABH_Classes_Tools::getOption('abh_position');
|
392 |
+
|
393 |
+
// For some themes the position is important to be on top
|
394 |
+
if (strpos($this->model->details['abh_theme'], 'topstar') !== false || ($this->model->details['abh_theme'] == 'default' && strpos(ABH_Classes_Tools::getOption('abh_theme'), 'topstar') !== false))
|
395 |
+
$this->model->position = 'up'; //force position for this theme
|
396 |
+
|
397 |
+
if (isset($this->model->details) && !empty($this->model->details) && $this->model->details['abh_theme'] <> '' && $this->model->details['abh_theme'] <> 'default')
|
398 |
+
$theme = $this->model->details['abh_theme'];
|
399 |
+
|
400 |
+
// set theme for author box shown for each article
|
401 |
+
if (is_author()) {
|
402 |
+
//Add the header meta authors for single post
|
403 |
+
echo $this->model->showMeta();
|
404 |
+
} else {
|
405 |
+
if ((ABH_Classes_Tools::getOption('abh_ineachpost') == 1 && count($wp_query->posts) > 1)) {
|
406 |
+
$theme = ABH_Classes_Tools::getOption('abh_achposttheme');
|
407 |
+
$this->show = true;
|
408 |
+
//echo '<pre>' . print_R($wp_query, true) . '</pre>';
|
409 |
+
} elseif (!isset($this->model->details['abh_use']) || $this->model->details['abh_use']) {
|
410 |
+
$this->show = true;
|
411 |
+
|
412 |
+
//Add the header meta authors for single post
|
413 |
+
echo $this->model->showMeta();
|
414 |
+
}
|
415 |
+
}
|
416 |
+
|
417 |
+
if ($this->show) {
|
418 |
+
// load the theme css and js in header
|
419 |
+
if (file_exists(_ABH_ALL_THEMES_DIR_ . $theme . '/css/frontend.css'))
|
420 |
+
ABH_Classes_ObjController::getController('ABH_Classes_DisplayController')
|
421 |
+
->loadMedia(_ABH_ALL_THEMES_URL_ . $theme . '/css/frontend.css'); //load the css and js for frontend
|
422 |
+
if (file_exists(_ABH_ALL_THEMES_DIR_ . $theme . '/js/frontend.js'))
|
423 |
+
ABH_Classes_ObjController::getController('ABH_Classes_DisplayController')
|
424 |
+
->loadMedia(_ABH_ALL_THEMES_URL_ . $theme . '/js/frontend.js'); //load the css and js for frontend
|
425 |
+
|
426 |
+
if (!is_author())
|
427 |
+
ABH_Classes_ObjController::getController('ABH_Classes_DisplayController')
|
428 |
+
->loadMedia(_ABH_ALL_THEMES_URL_ . 'admin/css/hidedefault.css'); //load the css and js for frontend
|
429 |
+
}
|
430 |
+
}
|
431 |
+
}
|
432 |
+
|
433 |
+
/**
|
434 |
+
* Hook the Article/Page Content
|
435 |
+
* @global object $post
|
436 |
+
* @param string $content
|
437 |
+
* @return string
|
438 |
+
*/
|
439 |
+
public function hookFrontcontent($content) {
|
440 |
+
global $post;
|
441 |
+
if (!$this->show || (isset($this->custom[$post->ID]) && $this->custom[$post->ID] == true))
|
442 |
+
return $content;
|
443 |
+
|
444 |
+
if (ABH_Classes_Tools::getOption('abh_shortcode') == 1)
|
445 |
+
if (preg_match($this->shortcode, $content)) {
|
446 |
+
$this->custom[$post->ID] = true;
|
447 |
+
return $content;
|
448 |
+
}
|
449 |
+
|
450 |
+
|
451 |
+
$content = $this->showAuthorBox($content);
|
452 |
+
|
453 |
+
if (ABH_Classes_Tools::getOption('abh_ineachpost') == 1 && $this->box == '') {
|
454 |
+
$post = get_post($post->ID);
|
455 |
+
if (!isset($post->post_author))
|
456 |
+
return;
|
457 |
+
|
458 |
+
// get the author data
|
459 |
+
$this->model->author = get_userdata($post->post_author);
|
460 |
+
//get the author details settings
|
461 |
+
$this->model->details = ABH_Classes_Tools::getOption('abh_author' . $this->model->author->ID);
|
462 |
+
|
463 |
+
if (!isset($this->model->details['abh_use']) || $this->model->details['abh_use'] == 1) {
|
464 |
+
$this->model->single = false;
|
465 |
+
echo $this->model->getAuthorBox();
|
466 |
+
}
|
467 |
+
}
|
468 |
+
|
469 |
+
return $content;
|
470 |
+
}
|
471 |
+
|
472 |
+
/**
|
473 |
+
* Hook the Frontend Widgets Content
|
474 |
+
*/
|
475 |
+
public function hookFrontwidget($content) {
|
476 |
+
if (!$this->show)
|
477 |
+
return $content;
|
478 |
+
|
479 |
+
|
480 |
+
if (!isset($this->model->details['abh_google']) || $this->model->details['abh_google']) {
|
481 |
+
$content = preg_replace('/rel=[\"|\']([^\"\']*author[^\"\']*)[\"|\']/i', '', $content);
|
482 |
+
}
|
483 |
+
return $content;
|
484 |
+
}
|
485 |
+
|
486 |
+
/**
|
487 |
+
* Hook the Frontend Footer
|
488 |
+
*/
|
489 |
+
public function hookFrontfooter() {
|
490 |
+
|
491 |
+
}
|
492 |
+
|
493 |
+
}
|
494 |
+
|
495 |
+
?>
|
controllers/Menu.php
ADDED
@@ -0,0 +1,101 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
class ABH_Controllers_Menu extends ABH_Classes_FrontController {
|
4 |
+
/** @var array themes */
|
5 |
+
|
6 |
+
/** @var array snippet */
|
7 |
+
var $options = array();
|
8 |
+
|
9 |
+
//
|
10 |
+
function init() {
|
11 |
+
|
12 |
+
}
|
13 |
+
|
14 |
+
function upgradeRedirect() {
|
15 |
+
// Bail if no activation redirect
|
16 |
+
if (!get_transient('abh_upgrade'))
|
17 |
+
return;
|
18 |
+
|
19 |
+
// Delete the redirect transient
|
20 |
+
delete_transient('abh_upgrade');
|
21 |
+
ABH_Classes_Tools::emptyCache();
|
22 |
+
|
23 |
+
wp_safe_redirect(admin_url('admin.php?page=abh_settings'));
|
24 |
+
exit();
|
25 |
+
}
|
26 |
+
|
27 |
+
/*
|
28 |
+
* Creates the Setting menu in Wordpress
|
29 |
+
*/
|
30 |
+
|
31 |
+
public function hookMenu() {
|
32 |
+
|
33 |
+
$this->upgradeRedirect();
|
34 |
+
ABH_Classes_Tools::checkErrorSettings(true);
|
35 |
+
|
36 |
+
/* add the plugin menu in admin */
|
37 |
+
if (current_user_can('administrator')) {
|
38 |
+
$this->model->addSubmenu(array('options-general.php',
|
39 |
+
__('StarBox Settings', _ABH_PLUGIN_NAME_),
|
40 |
+
__('StarBox', _ABH_PLUGIN_NAME_) . ABH_Classes_Tools::showNotices(ABH_Classes_Tools::$errors_count, 'errors_count'),
|
41 |
+
'edit_posts',
|
42 |
+
'abh_settings',
|
43 |
+
array($this, 'showMenu')
|
44 |
+
));
|
45 |
+
}
|
46 |
+
add_action('edit_user_profile', array(ABH_Classes_ObjController::getBlock('ABH_Core_UserSettings'), 'init'));
|
47 |
+
add_action('show_user_profile', array(ABH_Classes_ObjController::getBlock('ABH_Core_UserSettings'), 'init'));
|
48 |
+
|
49 |
+
add_action('personal_options_update', array(ABH_Classes_ObjController::getBlock('ABH_Core_UserSettings'), 'action'));
|
50 |
+
add_action('edit_user_profile_update', array(ABH_Classes_ObjController::getBlock('ABH_Core_UserSettings'), 'action'));
|
51 |
+
}
|
52 |
+
|
53 |
+
public function showMenu() {
|
54 |
+
ABH_Classes_Tools::checkErrorSettings();
|
55 |
+
/* Force call of error display */
|
56 |
+
ABH_Classes_ObjController::getController('ABH_Classes_Error')->hookNotices();
|
57 |
+
|
58 |
+
parent::init();
|
59 |
+
}
|
60 |
+
|
61 |
+
/**
|
62 |
+
* Called when Post action is triggered
|
63 |
+
*
|
64 |
+
* @return void
|
65 |
+
*/
|
66 |
+
public function action() {
|
67 |
+
|
68 |
+
parent::action();
|
69 |
+
switch (ABH_Classes_Tools::getValue('action')) {
|
70 |
+
|
71 |
+
case 'abh_settings_update':
|
72 |
+
|
73 |
+
if (ABH_Classes_Tools::getValue('data') <> '') {
|
74 |
+
parse_str(ABH_Classes_Tools::getValue('data'), $params);
|
75 |
+
$this->saveValues($params);
|
76 |
+
exit();
|
77 |
+
} else {
|
78 |
+
$this->saveValues($_POST);
|
79 |
+
}
|
80 |
+
|
81 |
+
ABH_Classes_Tools::emptyCache();
|
82 |
+
break;
|
83 |
+
case 'abh_settings_subscribe':
|
84 |
+
ABH_Classes_Tools::saveOptions('abh_subscribe', 1);
|
85 |
+
break;
|
86 |
+
case 'abh_powered_by':
|
87 |
+
ABH_Classes_Tools::saveOptions('abh_powered_by', ABH_Classes_Tools::getValue('abh_powered_by'));
|
88 |
+
break;
|
89 |
+
}
|
90 |
+
}
|
91 |
+
|
92 |
+
private function saveValues($params) {
|
93 |
+
if (!empty($params))
|
94 |
+
foreach ($params as $key => $value)
|
95 |
+
if ($key <> 'action' && $key <> 'nonce')
|
96 |
+
ABH_Classes_Tools::saveOptions($key, $value);
|
97 |
+
}
|
98 |
+
|
99 |
+
}
|
100 |
+
|
101 |
+
?>
|
core/UserSettings.php
ADDED
@@ -0,0 +1,135 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
/**
|
4 |
+
* Affiliate settings
|
5 |
+
*/
|
6 |
+
class ABH_Core_UserSettings extends ABH_Classes_BlockController {
|
7 |
+
|
8 |
+
public $user;
|
9 |
+
public $author = array();
|
10 |
+
public $themes = array();
|
11 |
+
|
12 |
+
public function init($user = null) {
|
13 |
+
$this->user = $user;
|
14 |
+
|
15 |
+
if (isset($this->user->ID))
|
16 |
+
$this->author = ABH_Classes_Tools::getOption('abh_author' . $this->user->ID);
|
17 |
+
|
18 |
+
$default = array(
|
19 |
+
'abh_use' => 1,
|
20 |
+
'abh_nofollow_social' => 1,
|
21 |
+
// --
|
22 |
+
'abh_title' => "",
|
23 |
+
'abh_company' => "",
|
24 |
+
'abh_company_url' => "",
|
25 |
+
'abh_extra_description' => "",
|
26 |
+
// --
|
27 |
+
'abh_socialtext' => "",
|
28 |
+
'abh_twitter' => "",
|
29 |
+
'abh_facebook' => "",
|
30 |
+
'abh_google' => "",
|
31 |
+
'abh_linkedin' => "",
|
32 |
+
'abh_instagram' => "",
|
33 |
+
'abh_flickr' => "",
|
34 |
+
'abh_pinterest' => "",
|
35 |
+
'abh_tumblr' => "",
|
36 |
+
'abh_youtube' => "",
|
37 |
+
'abh_vimeo' => "",
|
38 |
+
'abh_klout' => "",
|
39 |
+
'abh_gravatar' => "",
|
40 |
+
'abh_theme' => "default",
|
41 |
+
'abh_position' => "default",
|
42 |
+
);
|
43 |
+
|
44 |
+
if (!isset($this->author) || empty($this->author))
|
45 |
+
$this->author = $default;
|
46 |
+
|
47 |
+
$this->themes = @array_merge(array('default'), ABH_Classes_Tools::getOption('abh_themes'));
|
48 |
+
|
49 |
+
parent::init();
|
50 |
+
}
|
51 |
+
|
52 |
+
public function action() {
|
53 |
+
switch (ABH_CLasses_Tools::getValue('action')) {
|
54 |
+
//login action
|
55 |
+
case 'update':
|
56 |
+
case 'createuser':
|
57 |
+
$user_id = ABH_CLasses_Tools::getValue('user_id');
|
58 |
+
|
59 |
+
//Get the default settings
|
60 |
+
$settings = ABH_Classes_Tools::getOption('abh_author' . $user_id);
|
61 |
+
|
62 |
+
$settings['abh_use'] = (bool) ABH_CLasses_Tools::getValue('abh_use');
|
63 |
+
$settings['abh_nofollow_social'] = (int) ABH_CLasses_Tools::getValue('abh_nofollow_social');
|
64 |
+
|
65 |
+
$settings['abh_title'] = ABH_CLasses_Tools::getValue('abh_title');
|
66 |
+
$settings['abh_company'] = ABH_CLasses_Tools::getValue('abh_company');
|
67 |
+
$settings['abh_company_url'] = ABH_CLasses_Tools::getValue('abh_company_url');
|
68 |
+
$settings['abh_extra_description'] = ABH_CLasses_Tools::getValue('abh_extra_description');
|
69 |
+
|
70 |
+
// --
|
71 |
+
|
72 |
+
$settings['abh_socialtext'] = ABH_CLasses_Tools::getValue('abh_socialtext');
|
73 |
+
$settings['abh_twitter'] = ABH_CLasses_Tools::getValue('abh_twitter');
|
74 |
+
$settings['abh_facebook'] = ABH_CLasses_Tools::getValue('abh_facebook');
|
75 |
+
$settings['abh_google'] = ABH_CLasses_Tools::getValue('abh_google');
|
76 |
+
$settings['abh_linkedin'] = ABH_CLasses_Tools::getValue('abh_linkedin');
|
77 |
+
$settings['abh_klout'] = ABH_CLasses_Tools::getValue('abh_klout');
|
78 |
+
$settings['abh_instagram'] = ABH_CLasses_Tools::getValue('abh_instagram');
|
79 |
+
$settings['abh_flickr'] = ABH_CLasses_Tools::getValue('abh_flickr');
|
80 |
+
$settings['abh_pinterest'] = ABH_CLasses_Tools::getValue('abh_pinterest');
|
81 |
+
$settings['abh_tumblr'] = ABH_CLasses_Tools::getValue('abh_tumblr');
|
82 |
+
$settings['abh_youtube'] = ABH_CLasses_Tools::getValue('abh_youtube');
|
83 |
+
$settings['abh_vimeo'] = ABH_CLasses_Tools::getValue('abh_vimeo');
|
84 |
+
|
85 |
+
// --
|
86 |
+
$settings['abh_theme'] = ABH_CLasses_Tools::getValue('abh_theme');
|
87 |
+
$settings['abh_position'] = ABH_CLasses_Tools::getValue('abh_position');
|
88 |
+
/* if there is an icon to upload */
|
89 |
+
if (isset($_FILES['abh_gravatar']) && !empty($_FILES['abh_gravatar'])) {
|
90 |
+
|
91 |
+
$return = $this->model->addImage($_FILES['abh_gravatar']);
|
92 |
+
if ($return['name'] <> '')
|
93 |
+
$settings['abh_gravatar'] = $return['name'];
|
94 |
+
if ($return['message'] <> '')
|
95 |
+
define('ABH_MESSAGE_FAVICON', $return['message']);
|
96 |
+
}
|
97 |
+
|
98 |
+
if (ABH_CLasses_Tools::getValue('abh_resetgravatar') == 1)
|
99 |
+
$settings['abh_gravatar'] = '';
|
100 |
+
|
101 |
+
ABH_Classes_Tools::saveOptions('abh_author' . $user_id, $settings);
|
102 |
+
|
103 |
+
ABH_Classes_Tools::emptyCache();
|
104 |
+
|
105 |
+
ABH_Classes_Tools::checkErrorSettings();
|
106 |
+
/* Force call of error display */
|
107 |
+
ABH_Classes_ObjController::getController('ABH_Classes_Error')->hookNotices();
|
108 |
+
|
109 |
+
break;
|
110 |
+
|
111 |
+
case 'abh_get_box':
|
112 |
+
$user_id = ABH_CLasses_Tools::getValue('user_id');
|
113 |
+
$theme = ABH_CLasses_Tools::getValue('abh_theme');
|
114 |
+
|
115 |
+
|
116 |
+
ABH_CLasses_Tools::setOption('abh_titlefontsize', ABH_CLasses_Tools::getValue('abh_titlefontsize', 'default'));
|
117 |
+
ABH_CLasses_Tools::setOption('abh_descfontsize', ABH_CLasses_Tools::getValue('abh_descfontsize', 'default'));
|
118 |
+
|
119 |
+
if ($theme == 'default')
|
120 |
+
$theme = ABH_Classes_Tools::getOption('abh_theme');
|
121 |
+
|
122 |
+
$str = '';
|
123 |
+
$str .= '<script type="text/javascript" src="' . _ABH_ALL_THEMES_URL_ . $theme . '/js/frontend.js?ver=' . ABH_VERSION . '"></script>';
|
124 |
+
$str .= '<link rel="stylesheet" href="' . _ABH_ALL_THEMES_URL_ . $theme . '/css/frontend.css?ver=' . ABH_VERSION . '" type="text/css" media="all" />';
|
125 |
+
$str .= ABH_Classes_ObjController::getController('ABH_Controllers_Frontend')->showBox($user_id);
|
126 |
+
ABH_Classes_Tools::setHeader('json');
|
127 |
+
echo json_encode(array('box' => $str));
|
128 |
+
exit();
|
129 |
+
break;
|
130 |
+
}
|
131 |
+
}
|
132 |
+
|
133 |
+
}
|
134 |
+
|
135 |
+
?>
|
core/config.xml
ADDED
@@ -0,0 +1,30 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?xml version="1.0" encoding="UTF-8"?>
|
2 |
+
<blocks>
|
3 |
+
<block>
|
4 |
+
<name>ABH_Controllers_Menu</name>
|
5 |
+
<actions>
|
6 |
+
<action>abh_settings_update</action>
|
7 |
+
<action>abh_settings_subscribe</action>
|
8 |
+
<action>abh_powered_by</action>
|
9 |
+
</actions>
|
10 |
+
<active>1</active>
|
11 |
+
</block>
|
12 |
+
|
13 |
+
<block>
|
14 |
+
<name>ABH_Core_UserSettings</name>
|
15 |
+
<actions>
|
16 |
+
<action>abh_get_box</action>
|
17 |
+
</actions>
|
18 |
+
<active>1</active>
|
19 |
+
</block>
|
20 |
+
|
21 |
+
<block>
|
22 |
+
<name>ABH_Controllers_Frontend</name>
|
23 |
+
<shortcodes>
|
24 |
+
<shortcode>starbox</shortcode>
|
25 |
+
<shortcode>starboximg</shortcode>
|
26 |
+
</shortcodes>
|
27 |
+
<active>1</active>
|
28 |
+
</block>
|
29 |
+
|
30 |
+
</blocks>
|
languages/starbox-de_DE.mo
ADDED
Binary file
|
languages/starbox-de_DE.po
ADDED
@@ -0,0 +1,463 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
msgid ""
|
2 |
+
msgstr ""
|
3 |
+
"Project-Id-Version: StarBox v1.0.4\n"
|
4 |
+
"Report-Msgid-Bugs-To: \n"
|
5 |
+
"POT-Creation-Date: \n"
|
6 |
+
"PO-Revision-Date: 2013-10-08 07:44:51+0000\n"
|
7 |
+
"Last-Translator: Joerg Gebauer <gebauer@newshore.de>\n"
|
8 |
+
"Language-Team: \n"
|
9 |
+
"MIME-Version: 1.0\n"
|
10 |
+
"Content-Type: text/plain; charset=UTF-8\n"
|
11 |
+
"Content-Transfer-Encoding: 8bit\n"
|
12 |
+
"Plural-Forms: nplurals=2; plural=n != 1;\n"
|
13 |
+
"X-Generator: CSL v1.x\n"
|
14 |
+
"X-Poedit-Language: German\n"
|
15 |
+
"X-Poedit-Country: GERMANY\n"
|
16 |
+
"X-Poedit-SourceCharset: utf-8\n"
|
17 |
+
"X-Poedit-KeywordsList: __;_e;__ngettext:1,2;_n:1,2;__ngettext_noop:1,2;_n_noop:1,2;_c,_nc:4c,1,2;_x:1,2c;_ex:1,2c;_nx:4c,1,2;_nx_noop:4c,1,2;\n"
|
18 |
+
"X-Poedit-Basepath: \n"
|
19 |
+
"X-Poedit-Bookmarks: \n"
|
20 |
+
"X-Poedit-SearchPath-0: .\n"
|
21 |
+
"X-Textdomain-Support: yes"
|
22 |
+
|
23 |
+
#: classes/Error.php:16
|
24 |
+
#@ starbox
|
25 |
+
msgid "Function get_class does not exists! Is required for StarBox to work properly."
|
26 |
+
msgstr "Die Funktion get_class exisitiert nicht, ist aber erforderlich, damit StarBox korrekt funktioniert."
|
27 |
+
|
28 |
+
#: classes/Error.php:19
|
29 |
+
#@ starbox
|
30 |
+
msgid "Function file_exists does not exists! Is required for StarBox to work properly."
|
31 |
+
msgstr "Die Funktion file_exists existiert nicht, ist aber erforderlich, damit StarBox korrekt funktioniert."
|
32 |
+
|
33 |
+
#: classes/Error.php:23
|
34 |
+
#@ starbox
|
35 |
+
msgid "The home directory is not set!"
|
36 |
+
msgstr "Das Stammverzeichnis ist nicht konfiguriert!"
|
37 |
+
|
38 |
+
#: classes/Error.php:27
|
39 |
+
#@ starbox
|
40 |
+
msgid "The PHP version has to be greater then 4.0"
|
41 |
+
msgstr "PHP in Versionen größer als 4.0 ist erforderlich."
|
42 |
+
|
43 |
+
#: classes/Error.php:35
|
44 |
+
#@ starbox
|
45 |
+
msgid "For StarBox to work, the PHP version has to be equal or greater then 5.1"
|
46 |
+
msgstr "Damit StarBox funktioniert, ist eine PHP Version ab 5.1 erforderlich."
|
47 |
+
|
48 |
+
#: classes/Error.php:69
|
49 |
+
#@ starbox
|
50 |
+
msgid "Turn off warnings!"
|
51 |
+
msgstr "Warnungen abschalten!"
|
52 |
+
|
53 |
+
#: classes/Error.php:70
|
54 |
+
#@ starbox
|
55 |
+
msgid "Notice: "
|
56 |
+
msgstr "Hinweis:"
|
57 |
+
|
58 |
+
#: classes/Error.php:74
|
59 |
+
#@ starbox
|
60 |
+
msgid "Note: "
|
61 |
+
msgstr "Anmerkung:"
|
62 |
+
|
63 |
+
#: classes/Tools.php:58
|
64 |
+
#@ starbox
|
65 |
+
msgid "Settings"
|
66 |
+
msgstr "Einstellungen"
|
67 |
+
|
68 |
+
#: classes/Tools.php:308
|
69 |
+
#@ starbox
|
70 |
+
msgid "Notice"
|
71 |
+
msgstr "Hinweis"
|
72 |
+
|
73 |
+
#: config/paths.php:14
|
74 |
+
#, php-format
|
75 |
+
#@ default
|
76 |
+
msgid "Unable to create directory %s. Is its parent directory writable by the server?"
|
77 |
+
msgstr ""
|
78 |
+
|
79 |
+
#: controllers/Menu.php:39
|
80 |
+
#@ starbox
|
81 |
+
msgid "StarBox Settings"
|
82 |
+
msgstr "StarBox Einstellungen"
|
83 |
+
|
84 |
+
#: controllers/Menu.php:40
|
85 |
+
#@ starbox
|
86 |
+
msgid "StarBox"
|
87 |
+
msgstr "StarBox"
|
88 |
+
|
89 |
+
#: models/Frontend.php:28
|
90 |
+
#@ starbox
|
91 |
+
msgid "About"
|
92 |
+
msgstr "Über"
|
93 |
+
|
94 |
+
#: models/Frontend.php:29
|
95 |
+
#@ starbox
|
96 |
+
msgid "Latest Posts"
|
97 |
+
msgstr "Letzte Artikel"
|
98 |
+
|
99 |
+
#: models/Frontend.php:59
|
100 |
+
#@ starbox
|
101 |
+
msgid "at"
|
102 |
+
msgstr "bei"
|
103 |
+
|
104 |
+
#: models/Frontend.php:74
|
105 |
+
#, php-format
|
106 |
+
#@ starbox
|
107 |
+
msgid "Latest posts by %s"
|
108 |
+
msgstr "Letzte Artikel von %s"
|
109 |
+
|
110 |
+
#: models/Frontend.php:74
|
111 |
+
#@ starbox
|
112 |
+
msgid "see all"
|
113 |
+
msgstr "Alle anzeigen"
|
114 |
+
|
115 |
+
#: models/Frontend.php:86
|
116 |
+
#@ starbox
|
117 |
+
msgid "Facebook"
|
118 |
+
msgstr "Facebook"
|
119 |
+
|
120 |
+
#: models/Frontend.php:90
|
121 |
+
#@ starbox
|
122 |
+
msgid "Twitter"
|
123 |
+
msgstr "Twitter"
|
124 |
+
|
125 |
+
#: models/Frontend.php:95
|
126 |
+
#: models/Frontend.php:97
|
127 |
+
#@ starbox
|
128 |
+
msgid "Google Plus"
|
129 |
+
msgstr "Google Plus"
|
130 |
+
|
131 |
+
#: models/Frontend.php:101
|
132 |
+
#@ starbox
|
133 |
+
msgid "LinkedIn"
|
134 |
+
msgstr "LinkedIn"
|
135 |
+
|
136 |
+
#: models/Frontend.php:105
|
137 |
+
#@ starbox
|
138 |
+
msgid "Instagram"
|
139 |
+
msgstr "Instagram"
|
140 |
+
|
141 |
+
#: models/Frontend.php:109
|
142 |
+
#@ starbox
|
143 |
+
msgid "Flickr"
|
144 |
+
msgstr "Flickr"
|
145 |
+
|
146 |
+
#: models/Frontend.php:113
|
147 |
+
#@ starbox
|
148 |
+
msgid "Pinterest"
|
149 |
+
msgstr "Pinterest"
|
150 |
+
|
151 |
+
#: models/Frontend.php:117
|
152 |
+
#@ starbox
|
153 |
+
msgid "Tumblr"
|
154 |
+
msgstr "Tumblr"
|
155 |
+
|
156 |
+
#: models/Frontend.php:121
|
157 |
+
#@ starbox
|
158 |
+
msgid "YouTube"
|
159 |
+
msgstr "YouTube"
|
160 |
+
|
161 |
+
#: models/Frontend.php:125
|
162 |
+
#@ starbox
|
163 |
+
msgid "Vimeo"
|
164 |
+
msgstr "Vimeo"
|
165 |
+
|
166 |
+
#: models/Frontend.php:131
|
167 |
+
#: models/Frontend.php:133
|
168 |
+
#@ starbox
|
169 |
+
msgid "Klout"
|
170 |
+
msgstr "Klout"
|
171 |
+
|
172 |
+
#: models/UserSettings.php:34
|
173 |
+
#@ starbox
|
174 |
+
msgid "File type error: Only JPEG, JPG, GIF or PNG files are allowed."
|
175 |
+
msgstr "Falscher Dateityp: nur JPEG, JPG, GIF oder PNG Dateien sind erlaubt."
|
176 |
+
|
177 |
+
#: models/UserSettings.php:47
|
178 |
+
#@ starbox
|
179 |
+
msgid "GD error: The GD library must be installed on your server."
|
180 |
+
msgstr "GD Fehler: die GD Library muss auf dem Server installiert sein."
|
181 |
+
|
182 |
+
#: models/UserSettings.php:54
|
183 |
+
#@ starbox
|
184 |
+
msgid "Delete error: Could not delete the old gravatar."
|
185 |
+
msgstr "Fehler beim Löschen: der bestehende Gravatar konnte nicht gelöscht werden."
|
186 |
+
|
187 |
+
#: models/UserSettings.php:61
|
188 |
+
#@ starbox
|
189 |
+
msgid "Upload error: Could not upload the gravatar."
|
190 |
+
msgstr "Upload Fehler: Der Gravatar konnte nicht hochgeladen werden."
|
191 |
+
|
192 |
+
#: models/UserSettings.php:67
|
193 |
+
#@ starbox
|
194 |
+
msgid "Permission error: Could not change the gravatar permissions."
|
195 |
+
msgstr "Berechtigungsfehler: die Gravatar-Berechtigungen konnten nicht geändert werden."
|
196 |
+
|
197 |
+
#: models/UserSettings.php:78
|
198 |
+
#@ starbox
|
199 |
+
msgid "The gravatar has been updated."
|
200 |
+
msgstr "Der Gravatar wurde aktualisiert."
|
201 |
+
|
202 |
+
#: themes/admin/Menu.php:3
|
203 |
+
#@ starbox
|
204 |
+
msgid "StartBox Settings"
|
205 |
+
msgstr "StartBox Einstellungen"
|
206 |
+
|
207 |
+
#: themes/admin/Menu.php:3
|
208 |
+
#: themes/admin/UserSettings.php:3
|
209 |
+
#@ starbox
|
210 |
+
msgid "Please support us on Wordpress"
|
211 |
+
msgstr "Bitte unterstütze uns auf WordPress"
|
212 |
+
|
213 |
+
#: themes/admin/Menu.php:12
|
214 |
+
#: themes/admin/Menu.php:25
|
215 |
+
#: themes/admin/Menu.php:36
|
216 |
+
#: themes/admin/Menu.php:47
|
217 |
+
#: themes/admin/UserSettings.php:10
|
218 |
+
#@ starbox
|
219 |
+
msgid "Yes"
|
220 |
+
msgstr "Ja"
|
221 |
+
|
222 |
+
#: themes/admin/Menu.php:14
|
223 |
+
#: themes/admin/Menu.php:27
|
224 |
+
#: themes/admin/Menu.php:38
|
225 |
+
#: themes/admin/Menu.php:49
|
226 |
+
#: themes/admin/UserSettings.php:12
|
227 |
+
#@ starbox
|
228 |
+
msgid "No"
|
229 |
+
msgstr "Nein"
|
230 |
+
|
231 |
+
#: themes/admin/Menu.php:17
|
232 |
+
#@ starbox
|
233 |
+
msgid "Visible in <strong>posts</strong>"
|
234 |
+
msgstr "Sichtbar in <strong>Artikeln</strong>"
|
235 |
+
|
236 |
+
#: themes/admin/Menu.php:18
|
237 |
+
#@ starbox
|
238 |
+
msgid "Hide Author Box from custom posts types"
|
239 |
+
msgstr "Author Box nicht in Custom Post Types anzeigen"
|
240 |
+
|
241 |
+
#: themes/admin/Menu.php:30
|
242 |
+
#@ starbox
|
243 |
+
msgid "Visible in <strong>pages</strong>"
|
244 |
+
msgstr "Sichtbar in <strong>Seiten</strong>"
|
245 |
+
|
246 |
+
#: themes/admin/Menu.php:41
|
247 |
+
#@ starbox
|
248 |
+
msgid "Show the Starbox with Top Star theme <strong>in the global feed of your blog</strong> (eg. \"/blog\" page) under each title of every post"
|
249 |
+
msgstr "Zeige die StarBox mit dem Top Star Theme <strong>im globalen Feed Deines Blogs</strong> (z.B. \"/blog\" Seite) unterhalb jedes einzelnen Artikeltitels"
|
250 |
+
|
251 |
+
#: themes/admin/Menu.php:52
|
252 |
+
#, php-format
|
253 |
+
#@ starbox
|
254 |
+
msgid "Show the <strong>Open Graph</strong> Profile in meta for each author %sdetails%s (useful for rich snippets)"
|
255 |
+
msgstr "Zeige das <strong>Open Graph</strong> Profil in den Metadaten für jeden Author %sdetails%s (hilfreich bei rich snippets)"
|
256 |
+
|
257 |
+
#: themes/admin/Menu.php:56
|
258 |
+
#@ starbox
|
259 |
+
msgid "Theme setting:"
|
260 |
+
msgstr "Theme Einstellungen:"
|
261 |
+
|
262 |
+
#: themes/admin/Menu.php:65
|
263 |
+
#@ starbox
|
264 |
+
msgid "The Author Box <strong>position</strong> (Topstar and Topstar-round are always on shown on top)"
|
265 |
+
msgstr "Die <strong>Position</strong> der Author Box (Topstar und Topstar-round werden immer oben angezeigt)"
|
266 |
+
|
267 |
+
#: themes/admin/Menu.php:80
|
268 |
+
#@ starbox
|
269 |
+
msgid "Choose the default theme to be displayed <strong>inside each blog article</strong>"
|
270 |
+
msgstr "Wähle das Default Theme für die Anzeige <strong>innerhalb jedes Blogartikels</strong>"
|
271 |
+
|
272 |
+
#: themes/admin/Menu.php:84
|
273 |
+
#@ starbox
|
274 |
+
msgid "Preview mode for the default theme"
|
275 |
+
msgstr "Vorschau Modus für das Default Theme"
|
276 |
+
|
277 |
+
#: themes/admin/Menu.php:104
|
278 |
+
#@ starbox
|
279 |
+
msgid "Choose the theme to be displayed in your <strong>global list of posts</strong> (eg. /blog)"
|
280 |
+
msgstr "Wähle das Theme für die Anzeige in Deiner <strong>globalen Auflistung der Artikel</strong> (z.B. /blog)"
|
281 |
+
|
282 |
+
#: themes/admin/Menu.php:109
|
283 |
+
#, php-format
|
284 |
+
#@ starbox
|
285 |
+
msgid "Use the Google Tool to check rich snippets %sclick here%s"
|
286 |
+
msgstr "Benutze das Google Tool zur Überprüfung von rich snippets %sclick here%s"
|
287 |
+
|
288 |
+
#: themes/admin/Menu.php:116
|
289 |
+
#@ starbox
|
290 |
+
msgid "Click \"go to user settings\" to setup the author box for each author you have ( including per author Google Authorship)"
|
291 |
+
msgstr "Klicke auf \"Gehe zu Benutzer-Einstellungen\", um die Author Box für jeden Deiner Autoren einzustellen (inkl. per Autor Google Authorship)"
|
292 |
+
|
293 |
+
#: themes/admin/Menu.php:119
|
294 |
+
#@ starbox
|
295 |
+
msgid "Save settings"
|
296 |
+
msgstr "Einstellungen speichern"
|
297 |
+
|
298 |
+
#: themes/admin/Menu.php:120
|
299 |
+
#@ starbox
|
300 |
+
msgid "Go to user settings"
|
301 |
+
msgstr "Gehe zu Benutzer-Einstellungen"
|
302 |
+
|
303 |
+
#: themes/admin/UserSettings.php:3
|
304 |
+
#@ starbox
|
305 |
+
msgid "Starbox Settings for this Author"
|
306 |
+
msgstr "StarBox Einstellungen für diesen Autor"
|
307 |
+
|
308 |
+
#: themes/admin/UserSettings.php:15
|
309 |
+
#@ starbox
|
310 |
+
msgid "Show the StarBox for this author"
|
311 |
+
msgstr "Zeige die StarBox für diesen Autoren an"
|
312 |
+
|
313 |
+
#: themes/admin/UserSettings.php:20
|
314 |
+
#@ starbox
|
315 |
+
msgid "Change the Profile Image"
|
316 |
+
msgstr "Profilbild ändern"
|
317 |
+
|
318 |
+
#: themes/admin/UserSettings.php:23
|
319 |
+
#@ starbox
|
320 |
+
msgid "File types: JPG, JPEG, GIF and PNG. Ideal image size is: 80x80"
|
321 |
+
msgstr "Dateitypen: JPG, JPEG, GIF und PNG. Optimale Bildgröße: 80x80"
|
322 |
+
|
323 |
+
#: themes/admin/UserSettings.php:37
|
324 |
+
#@ starbox
|
325 |
+
msgid "Upload"
|
326 |
+
msgstr "Upload"
|
327 |
+
|
328 |
+
#: themes/admin/UserSettings.php:38
|
329 |
+
#@ starbox
|
330 |
+
msgid "Reset the uploaded image"
|
331 |
+
msgstr "Hochgeladenen Bild zurücksetzen"
|
332 |
+
|
333 |
+
#: themes/admin/UserSettings.php:39
|
334 |
+
#, php-format
|
335 |
+
#@ starbox
|
336 |
+
msgid "You can also set your image on %shttps://en.gravatar.com/%s for your email address"
|
337 |
+
msgstr "Du kannst auch Dein Profilbild von %shttps://en.gravatar.com/%s für Deine E-Mail-Adresse einstellen"
|
338 |
+
|
339 |
+
#: themes/admin/UserSettings.php:46
|
340 |
+
#@ starbox
|
341 |
+
msgid "Theme settings:"
|
342 |
+
msgstr "Theme-Einstellungen:"
|
343 |
+
|
344 |
+
#: themes/admin/UserSettings.php:56
|
345 |
+
#@ starbox
|
346 |
+
msgid "Default"
|
347 |
+
msgstr "Default"
|
348 |
+
|
349 |
+
#: themes/admin/UserSettings.php:57
|
350 |
+
#@ starbox
|
351 |
+
msgid "Up"
|
352 |
+
msgstr "Nach oben"
|
353 |
+
|
354 |
+
#: themes/admin/UserSettings.php:58
|
355 |
+
#@ starbox
|
356 |
+
msgid "Down"
|
357 |
+
msgstr "Nach unten"
|
358 |
+
|
359 |
+
#: themes/admin/UserSettings.php:61
|
360 |
+
#@ starbox
|
361 |
+
msgid "The Author Box position"
|
362 |
+
msgstr "Die Position der Author Box"
|
363 |
+
|
364 |
+
#: themes/admin/UserSettings.php:80
|
365 |
+
#@ starbox
|
366 |
+
msgid "This Author's theme"
|
367 |
+
msgstr "Das Theme dieses Autors"
|
368 |
+
|
369 |
+
#: themes/admin/UserSettings.php:83
|
370 |
+
#@ starbox
|
371 |
+
msgid "Preview mode (change the theme)"
|
372 |
+
msgstr "Vorschau Modus (Theme wechseln)"
|
373 |
+
|
374 |
+
#: themes/admin/UserSettings.php:94
|
375 |
+
#@ starbox
|
376 |
+
msgid "Job settings:"
|
377 |
+
msgstr "Einstellungen Beruf:"
|
378 |
+
|
379 |
+
#: themes/admin/UserSettings.php:96
|
380 |
+
#@ starbox
|
381 |
+
msgid "Job Title:"
|
382 |
+
msgstr "Titel Beruf:"
|
383 |
+
|
384 |
+
#: themes/admin/UserSettings.php:97
|
385 |
+
#@ starbox
|
386 |
+
msgid "Company:"
|
387 |
+
msgstr "Unternehmen:"
|
388 |
+
|
389 |
+
#: themes/admin/UserSettings.php:98
|
390 |
+
#@ starbox
|
391 |
+
msgid "Company URL:"
|
392 |
+
msgstr "Unternehmen URL:"
|
393 |
+
|
394 |
+
#: themes/admin/UserSettings.php:103
|
395 |
+
#@ starbox
|
396 |
+
msgid "Social settings:"
|
397 |
+
msgstr "Social Einstellungen:"
|
398 |
+
|
399 |
+
#: themes/admin/UserSettings.php:105
|
400 |
+
#@ starbox
|
401 |
+
msgid "To unlock social fields please enter your email:"
|
402 |
+
msgstr "Zur Freischaltung der Social Felder bitte Deine E-Mail-Adresse eingeben:"
|
403 |
+
|
404 |
+
#: themes/admin/UserSettings.php:123
|
405 |
+
#@ starbox
|
406 |
+
msgid "You will only subscribe to StarBox News (No spam). <br />We do not connect your site to our server in any way. The plugin is stand-alone."
|
407 |
+
msgstr "Du trägst Dich nur für StarBox News ein (Kein Spam). <br />Wir verbinden Deine Seite in keinster Weise mit unserem Server. Das Plugin ist Stand-alone."
|
408 |
+
|
409 |
+
#: themes/admin/UserSettings.php:127
|
410 |
+
#@ starbox
|
411 |
+
msgid "Twitter:"
|
412 |
+
msgstr "Twitter:"
|
413 |
+
|
414 |
+
#: themes/admin/UserSettings.php:128
|
415 |
+
#@ starbox
|
416 |
+
msgid "Facebook:"
|
417 |
+
msgstr "Facebook:"
|
418 |
+
|
419 |
+
#: themes/admin/UserSettings.php:129
|
420 |
+
#@ starbox
|
421 |
+
msgid "Google +:"
|
422 |
+
msgstr "Google +:"
|
423 |
+
|
424 |
+
#: themes/admin/UserSettings.php:130
|
425 |
+
#@ starbox
|
426 |
+
msgid "LinkedIn:"
|
427 |
+
msgstr "LinkedIn:"
|
428 |
+
|
429 |
+
#: themes/admin/UserSettings.php:131
|
430 |
+
#@ starbox
|
431 |
+
msgid "Klout:"
|
432 |
+
msgstr "Klout:"
|
433 |
+
|
434 |
+
#: themes/admin/UserSettings.php:132
|
435 |
+
#@ starbox
|
436 |
+
msgid "Instagram:"
|
437 |
+
msgstr "Instagram:"
|
438 |
+
|
439 |
+
#: themes/admin/UserSettings.php:133
|
440 |
+
#@ starbox
|
441 |
+
msgid "Flickr:"
|
442 |
+
msgstr "Flickr:"
|
443 |
+
|
444 |
+
#: themes/admin/UserSettings.php:134
|
445 |
+
#@ starbox
|
446 |
+
msgid "Pinterest:"
|
447 |
+
msgstr "Pinterest:"
|
448 |
+
|
449 |
+
#: themes/admin/UserSettings.php:135
|
450 |
+
#@ starbox
|
451 |
+
msgid "Tumblr:"
|
452 |
+
msgstr "Tumblr:"
|
453 |
+
|
454 |
+
#: themes/admin/UserSettings.php:136
|
455 |
+
#@ starbox
|
456 |
+
msgid "YouTube:"
|
457 |
+
msgstr "YouTube:"
|
458 |
+
|
459 |
+
#: themes/admin/UserSettings.php:137
|
460 |
+
#@ starbox
|
461 |
+
msgid "Vimeo:"
|
462 |
+
msgstr "Vimeo:"
|
463 |
+
|
languages/starbox-fr_FR.mo
ADDED
Binary file
|
languages/starbox-fr_FR.po
ADDED
@@ -0,0 +1,418 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
msgid ""
|
2 |
+
msgstr ""
|
3 |
+
"Project-Id-Version: Starbox\n"
|
4 |
+
"POT-Creation-Date: 2013-10-08 13:06+0200\n"
|
5 |
+
"PO-Revision-Date: 2014-01-17 12:27+0100\n"
|
6 |
+
"Last-Translator: \n"
|
7 |
+
"Language-Team: Squirrly UK\n"
|
8 |
+
"Language: en\n"
|
9 |
+
"MIME-Version: 1.0\n"
|
10 |
+
"Content-Type: text/plain; charset=UTF-8\n"
|
11 |
+
"Content-Transfer-Encoding: 8bit\n"
|
12 |
+
"X-Generator: Poedit 1.6.3\n"
|
13 |
+
"X-Poedit-KeywordsList: __;_e\n"
|
14 |
+
"X-Poedit-SourceCharset: UTF-8\n"
|
15 |
+
"X-Poedit-SearchPath-0: .\n"
|
16 |
+
|
17 |
+
#: classes/Error.php:16
|
18 |
+
msgid ""
|
19 |
+
"Function get_class does not exists! Is required for StarBox to work properly."
|
20 |
+
msgstr ""
|
21 |
+
"La fonction get_class n'existe pas ! StarBox ne peut fonctionner "
|
22 |
+
"correctement."
|
23 |
+
|
24 |
+
#: classes/Error.php:19
|
25 |
+
msgid ""
|
26 |
+
"Function file_exists does not exists! Is required for StarBox to work "
|
27 |
+
"properly."
|
28 |
+
msgstr ""
|
29 |
+
"La fonction file_exists n'existe pas ! StarBox ne peut contionner "
|
30 |
+
"correctement."
|
31 |
+
|
32 |
+
#: classes/Error.php:23
|
33 |
+
msgid "The home directory is not set!"
|
34 |
+
msgstr "Le repertoire 'home' n'est pas défini !"
|
35 |
+
|
36 |
+
#: classes/Error.php:27
|
37 |
+
msgid "The PHP version has to be greater then 4.0"
|
38 |
+
msgstr "La version PHP de votre serveur doit être supérieure ou égale à 4.0."
|
39 |
+
|
40 |
+
#: classes/Error.php:35
|
41 |
+
msgid ""
|
42 |
+
"For StarBox to work, the PHP version has to be equal or greater then 5.1"
|
43 |
+
msgstr ""
|
44 |
+
"Pour le bon fonctionnement de Starbox, la version de PHP de votre serveur "
|
45 |
+
"doit être supérieure ou égale à 5.1."
|
46 |
+
|
47 |
+
#: classes/Error.php:69
|
48 |
+
msgid "Turn off warnings!"
|
49 |
+
msgstr "Désactiver les avertissements"
|
50 |
+
|
51 |
+
#: classes/Error.php:70
|
52 |
+
msgid "Notice: "
|
53 |
+
msgstr "Notification :"
|
54 |
+
|
55 |
+
#: classes/Error.php:74
|
56 |
+
msgid "Note: "
|
57 |
+
msgstr "Note :"
|
58 |
+
|
59 |
+
#: classes/Tools.php:58
|
60 |
+
msgid "Settings"
|
61 |
+
msgstr "Configuration"
|
62 |
+
|
63 |
+
#: classes/Tools.php:308
|
64 |
+
msgid "Notice"
|
65 |
+
msgstr "Notification"
|
66 |
+
|
67 |
+
#: config/paths.php:14
|
68 |
+
#, php-format
|
69 |
+
msgid ""
|
70 |
+
"Unable to create directory %s. Is its parent directory writable by the "
|
71 |
+
"server?"
|
72 |
+
msgstr ""
|
73 |
+
"Impossible de créer le repertoire %s. Le dossier parent possède-t-il les "
|
74 |
+
"droits d'écriture suffisant ?"
|
75 |
+
|
76 |
+
#: controllers/Menu.php:39
|
77 |
+
msgid "StarBox Settings"
|
78 |
+
msgstr "Configurations StarBox"
|
79 |
+
|
80 |
+
#: controllers/Menu.php:40
|
81 |
+
msgid "StarBox"
|
82 |
+
msgstr "StarBox"
|
83 |
+
|
84 |
+
#: models/Frontend.php:28
|
85 |
+
msgid "About"
|
86 |
+
msgstr "À propos"
|
87 |
+
|
88 |
+
#: models/Frontend.php:29
|
89 |
+
msgid "Latest Posts"
|
90 |
+
msgstr "Articles récents"
|
91 |
+
|
92 |
+
#: models/Frontend.php:59
|
93 |
+
msgid "at"
|
94 |
+
msgstr "chez"
|
95 |
+
|
96 |
+
#: models/Frontend.php:74
|
97 |
+
#, php-format
|
98 |
+
msgid "Latest posts by %s"
|
99 |
+
msgstr "Les derniers articles par %s"
|
100 |
+
|
101 |
+
#: models/Frontend.php:74
|
102 |
+
msgid "see all"
|
103 |
+
msgstr "tout voir"
|
104 |
+
|
105 |
+
#: models/Frontend.php:86
|
106 |
+
msgid "Facebook"
|
107 |
+
msgstr "Facebook"
|
108 |
+
|
109 |
+
#: models/Frontend.php:90
|
110 |
+
msgid "Twitter"
|
111 |
+
msgstr "Twitter"
|
112 |
+
|
113 |
+
#: models/Frontend.php:95 models/Frontend.php:97
|
114 |
+
msgid "Google Plus"
|
115 |
+
msgstr "Google+"
|
116 |
+
|
117 |
+
#: models/Frontend.php:101
|
118 |
+
msgid "LinkedIn"
|
119 |
+
msgstr "LinkedIn"
|
120 |
+
|
121 |
+
#: models/Frontend.php:105
|
122 |
+
msgid "Instagram"
|
123 |
+
msgstr "Instagram"
|
124 |
+
|
125 |
+
#: models/Frontend.php:109
|
126 |
+
msgid "Flickr"
|
127 |
+
msgstr "Flickr"
|
128 |
+
|
129 |
+
#: models/Frontend.php:113
|
130 |
+
msgid "Pinterest"
|
131 |
+
msgstr "Pinterest"
|
132 |
+
|
133 |
+
#: models/Frontend.php:117
|
134 |
+
msgid "Tumblr"
|
135 |
+
msgstr "Tumblr"
|
136 |
+
|
137 |
+
#: models/Frontend.php:121
|
138 |
+
msgid "YouTube"
|
139 |
+
msgstr "YouTube"
|
140 |
+
|
141 |
+
#: models/Frontend.php:125
|
142 |
+
msgid "Vimeo"
|
143 |
+
msgstr "Vimeo"
|
144 |
+
|
145 |
+
#: models/Frontend.php:131 models/Frontend.php:133
|
146 |
+
msgid "Klout"
|
147 |
+
msgstr "Klout"
|
148 |
+
|
149 |
+
#: models/UserSettings.php:34
|
150 |
+
msgid "File type error: Only JPEG, JPG, GIF or PNG files are allowed."
|
151 |
+
msgstr ""
|
152 |
+
"Erreur de type de fichier : seuls les formats JPEF, JPG, GIF ou PNG sont "
|
153 |
+
"autorisés."
|
154 |
+
|
155 |
+
#: models/UserSettings.php:47
|
156 |
+
msgid "GD error: The GD library must be installed on your server."
|
157 |
+
msgstr "Erreur GD : la librairie GD doit être installée sur votre serveur."
|
158 |
+
|
159 |
+
#: models/UserSettings.php:54
|
160 |
+
msgid "Delete error: Could not delete the old gravatar."
|
161 |
+
msgstr "Erreur : impossible d'effacer votre ancien Gravatar."
|
162 |
+
|
163 |
+
#: models/UserSettings.php:61
|
164 |
+
msgid "Upload error: Could not upload the gravatar."
|
165 |
+
msgstr "Erreur : impossible d'uploader votre Gravatar."
|
166 |
+
|
167 |
+
#: models/UserSettings.php:67
|
168 |
+
msgid "Permission error: Could not change the gravatar permissions."
|
169 |
+
msgstr ""
|
170 |
+
"Erreur de permission : impossible de modifier les permissions pour Gravatar."
|
171 |
+
|
172 |
+
#: models/UserSettings.php:78
|
173 |
+
msgid "The gravatar has been updated."
|
174 |
+
msgstr "Votre Gravatar a bien été mis à jour."
|
175 |
+
|
176 |
+
#: themes/admin/Menu.php:3
|
177 |
+
msgid "StartBox Settings"
|
178 |
+
msgstr "Paramètres StarBox"
|
179 |
+
|
180 |
+
#: themes/admin/Menu.php:3 themes/admin/UserSettings.php:3
|
181 |
+
msgid "Please support us on Wordpress"
|
182 |
+
msgstr "Soutenez-nous sur Wordpress.org !"
|
183 |
+
|
184 |
+
#: themes/admin/Menu.php:12 themes/admin/Menu.php:25 themes/admin/Menu.php:36
|
185 |
+
#: themes/admin/Menu.php:47 themes/admin/UserSettings.php:10
|
186 |
+
msgid "Yes"
|
187 |
+
msgstr "Oui"
|
188 |
+
|
189 |
+
#: themes/admin/Menu.php:14 themes/admin/Menu.php:27 themes/admin/Menu.php:38
|
190 |
+
#: themes/admin/Menu.php:49 themes/admin/UserSettings.php:12
|
191 |
+
msgid "No"
|
192 |
+
msgstr "Non"
|
193 |
+
|
194 |
+
#: themes/admin/Menu.php:17
|
195 |
+
msgid "Visible in <strong>posts</strong>"
|
196 |
+
msgstr "Visible dans les <strong>'posts'</strong>"
|
197 |
+
|
198 |
+
#: themes/admin/Menu.php:18
|
199 |
+
msgid "Hide Author Box from custom posts types"
|
200 |
+
msgstr "Masquer la 'Author Box' dans les <strong>'custom posts'</strong>"
|
201 |
+
|
202 |
+
#: themes/admin/Menu.php:30
|
203 |
+
msgid "Visible in <strong>pages</strong>"
|
204 |
+
msgstr "Visible dans les <strong>pages</strong>"
|
205 |
+
|
206 |
+
#: themes/admin/Menu.php:41
|
207 |
+
msgid ""
|
208 |
+
"Show the Starbox with Top Star theme <strong>in the global feed of your "
|
209 |
+
"blog</strong> (eg. \"/blog\" page) under each title of every post"
|
210 |
+
msgstr ""
|
211 |
+
"Afficher Starbox avec le thème 'Top Star' <strong>dans le flux global de "
|
212 |
+
"votre blog</strong> (page \"/blog\") sous le titre de chaque billet."
|
213 |
+
|
214 |
+
#: themes/admin/Menu.php:52
|
215 |
+
#, php-format
|
216 |
+
msgid ""
|
217 |
+
"Show the <strong>Open Graph</strong> Profile in meta for each author "
|
218 |
+
"%sdetails%s (useful for rich snippets)"
|
219 |
+
msgstr ""
|
220 |
+
"Afficher les balises meta <strong>'Open Graph'</strong> pour chaque auteur "
|
221 |
+
"%sdetails%s (contribue aux contenus enrichis)"
|
222 |
+
|
223 |
+
#: themes/admin/Menu.php:56
|
224 |
+
msgid "Theme setting:"
|
225 |
+
msgstr "Configuration du thème :"
|
226 |
+
|
227 |
+
#: themes/admin/Menu.php:65
|
228 |
+
msgid ""
|
229 |
+
"The Author Box <strong>position</strong> (Topstar and Topstar-round are "
|
230 |
+
"always on shown on top)"
|
231 |
+
msgstr ""
|
232 |
+
"Position de la 'Author Box' (les thèmes Topstar et Topstar-round sont "
|
233 |
+
"toujours afficher en position 'Top')."
|
234 |
+
|
235 |
+
#: themes/admin/Menu.php:80
|
236 |
+
msgid ""
|
237 |
+
"Choose the default theme to be displayed <strong>inside each blog article</"
|
238 |
+
"strong>"
|
239 |
+
msgstr ""
|
240 |
+
"Sélectionnez le thème par défaut affiché <strong>dans chaque article du "
|
241 |
+
"blog</strong>"
|
242 |
+
|
243 |
+
#: themes/admin/Menu.php:84
|
244 |
+
msgid "Preview mode for the default theme"
|
245 |
+
msgstr "Prévisualisation"
|
246 |
+
|
247 |
+
#: themes/admin/Menu.php:104
|
248 |
+
msgid ""
|
249 |
+
"Choose the theme to be displayed in your <strong>global list of posts</"
|
250 |
+
"strong> (eg. /blog)"
|
251 |
+
msgstr ""
|
252 |
+
"Sélectionnez le thème à afficher dans votre <strong>flux global d'articles</"
|
253 |
+
"strong) (page \"/blog\")"
|
254 |
+
|
255 |
+
#: themes/admin/Menu.php:109
|
256 |
+
#, php-format
|
257 |
+
msgid "Use the Google Tool to check rich snippets %sclick here%s"
|
258 |
+
msgstr ""
|
259 |
+
"Utilisez les Outils Google pour vérifier vos contenus enrichis %scliquez ici"
|
260 |
+
"%s"
|
261 |
+
|
262 |
+
#: themes/admin/Menu.php:116
|
263 |
+
msgid ""
|
264 |
+
"Click \"go to user settings\" to setup the author box for each author you "
|
265 |
+
"have ( including per author Google Authorship)"
|
266 |
+
msgstr ""
|
267 |
+
"Cliquez sur le bouton \"Aller aux paramètres utilisateur\" pour configurer "
|
268 |
+
"la 'Author Box' de chacun de vos auteurs."
|
269 |
+
|
270 |
+
#: themes/admin/Menu.php:119
|
271 |
+
msgid "Save settings"
|
272 |
+
msgstr "Sauvegarder les paramètres"
|
273 |
+
|
274 |
+
#: themes/admin/Menu.php:120
|
275 |
+
msgid "Go to user settings"
|
276 |
+
msgstr "Aller aux paramètres utilisateur"
|
277 |
+
|
278 |
+
#: themes/admin/UserSettings.php:3
|
279 |
+
msgid "Starbox Settings for this Author"
|
280 |
+
msgstr "Paramètres StarBox pour cet auteur"
|
281 |
+
|
282 |
+
#: themes/admin/UserSettings.php:15
|
283 |
+
msgid "Show the StarBox for this author"
|
284 |
+
msgstr "Afficher StarBox pour cet auteur"
|
285 |
+
|
286 |
+
#: themes/admin/UserSettings.php:20
|
287 |
+
msgid "Change the Profile Image"
|
288 |
+
msgstr "Modifier l'image de profil"
|
289 |
+
|
290 |
+
#: themes/admin/UserSettings.php:23
|
291 |
+
msgid "File types: JPG, JPEG, GIF and PNG. Ideal image size is: 80x80"
|
292 |
+
msgstr ""
|
293 |
+
"Formats de fichier : JPG, JPEF, GIF et PNG. Dimensions recommandées : 80x80 "
|
294 |
+
"pixels"
|
295 |
+
|
296 |
+
#: themes/admin/UserSettings.php:37
|
297 |
+
msgid "Upload"
|
298 |
+
msgstr "Uploader"
|
299 |
+
|
300 |
+
#: themes/admin/UserSettings.php:38
|
301 |
+
msgid "Reset the uploaded image"
|
302 |
+
msgstr "Supprimer l'image uploadée"
|
303 |
+
|
304 |
+
#: themes/admin/UserSettings.php:39
|
305 |
+
#, php-format
|
306 |
+
msgid ""
|
307 |
+
"You can also set your image on %shttps://en.gravatar.com/%s for your email "
|
308 |
+
"address"
|
309 |
+
msgstr ""
|
310 |
+
"Vous pouvez également paramétrer votre avatar sur %shttps://en.gravatar.com/"
|
311 |
+
"%s correspondant à votre adresse email"
|
312 |
+
|
313 |
+
#: themes/admin/UserSettings.php:46
|
314 |
+
msgid "Theme settings:"
|
315 |
+
msgstr "Configuration du thème :"
|
316 |
+
|
317 |
+
#: themes/admin/UserSettings.php:56
|
318 |
+
msgid "Default"
|
319 |
+
msgstr "Par défaut"
|
320 |
+
|
321 |
+
#: themes/admin/UserSettings.php:57
|
322 |
+
msgid "Up"
|
323 |
+
msgstr "Haut"
|
324 |
+
|
325 |
+
#: themes/admin/UserSettings.php:58
|
326 |
+
msgid "Down"
|
327 |
+
msgstr "Bas"
|
328 |
+
|
329 |
+
#: themes/admin/UserSettings.php:61
|
330 |
+
msgid "The Author Box position"
|
331 |
+
msgstr "Position de la 'Author Box'"
|
332 |
+
|
333 |
+
#: themes/admin/UserSettings.php:80
|
334 |
+
msgid "This Author's theme"
|
335 |
+
msgstr "Thème de l'auteur"
|
336 |
+
|
337 |
+
#: themes/admin/UserSettings.php:83
|
338 |
+
msgid "Preview mode (change the theme)"
|
339 |
+
msgstr "Prévisualisation (changez de thème)"
|
340 |
+
|
341 |
+
#: themes/admin/UserSettings.php:94
|
342 |
+
msgid "Job settings:"
|
343 |
+
msgstr "Informations :"
|
344 |
+
|
345 |
+
#: themes/admin/UserSettings.php:96
|
346 |
+
msgid "Job Title:"
|
347 |
+
msgstr "Fonction :"
|
348 |
+
|
349 |
+
#: themes/admin/UserSettings.php:97
|
350 |
+
msgid "Company:"
|
351 |
+
msgstr "Entreprise :"
|
352 |
+
|
353 |
+
#: themes/admin/UserSettings.php:98
|
354 |
+
msgid "Company URL:"
|
355 |
+
msgstr "Site de l'entreprise :"
|
356 |
+
|
357 |
+
#: themes/admin/UserSettings.php:103
|
358 |
+
msgid "Social settings:"
|
359 |
+
msgstr "Réseaux sociaux :"
|
360 |
+
|
361 |
+
#: themes/admin/UserSettings.php:105
|
362 |
+
msgid "To unlock social fields please enter your email:"
|
363 |
+
msgstr ""
|
364 |
+
"Pour débloquer les champs 'Réseaux sociaux', merci de renseigner votre "
|
365 |
+
"adresse email :"
|
366 |
+
|
367 |
+
#: themes/admin/UserSettings.php:123
|
368 |
+
msgid ""
|
369 |
+
"You will only subscribe to StarBox News (No spam). <br />We do not connect "
|
370 |
+
"your site to our server in any way. The plugin is stand-alone."
|
371 |
+
msgstr ""
|
372 |
+
"Vous recevrez uniquement les actualitées de StarBox (aucun spam). <br/>Nous "
|
373 |
+
"ne connectons d'aucune façon votre site à nos serveurs. Ce plugin est "
|
374 |
+
"totalement indépendant."
|
375 |
+
|
376 |
+
#: themes/admin/UserSettings.php:127
|
377 |
+
msgid "Twitter:"
|
378 |
+
msgstr ""
|
379 |
+
|
380 |
+
#: themes/admin/UserSettings.php:128
|
381 |
+
msgid "Facebook:"
|
382 |
+
msgstr ""
|
383 |
+
|
384 |
+
#: themes/admin/UserSettings.php:129
|
385 |
+
msgid "Google +:"
|
386 |
+
msgstr ""
|
387 |
+
|
388 |
+
#: themes/admin/UserSettings.php:130
|
389 |
+
msgid "LinkedIn:"
|
390 |
+
msgstr ""
|
391 |
+
|
392 |
+
#: themes/admin/UserSettings.php:131
|
393 |
+
msgid "Klout:"
|
394 |
+
msgstr ""
|
395 |
+
|
396 |
+
#: themes/admin/UserSettings.php:132
|
397 |
+
msgid "Instagram:"
|
398 |
+
msgstr ""
|
399 |
+
|
400 |
+
#: themes/admin/UserSettings.php:133
|
401 |
+
msgid "Flickr:"
|
402 |
+
msgstr ""
|
403 |
+
|
404 |
+
#: themes/admin/UserSettings.php:134
|
405 |
+
msgid "Pinterest:"
|
406 |
+
msgstr ""
|
407 |
+
|
408 |
+
#: themes/admin/UserSettings.php:135
|
409 |
+
msgid "Tumblr:"
|
410 |
+
msgstr ""
|
411 |
+
|
412 |
+
#: themes/admin/UserSettings.php:136
|
413 |
+
msgid "YouTube:"
|
414 |
+
msgstr ""
|
415 |
+
|
416 |
+
#: themes/admin/UserSettings.php:137
|
417 |
+
msgid "Vimeo:"
|
418 |
+
msgstr ""
|
languages/starbox-ro_RO.mo
ADDED
Binary file
|
languages/starbox-ro_RO.po
ADDED
@@ -0,0 +1,400 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
msgid ""
|
2 |
+
msgstr ""
|
3 |
+
"Project-Id-Version: Starbox\n"
|
4 |
+
"POT-Creation-Date: 2013-10-08 13:06+0200\n"
|
5 |
+
"PO-Revision-Date: 2013-10-08 13:24+0200\n"
|
6 |
+
"Last-Translator: \n"
|
7 |
+
"Language-Team: Squirrly UK\n"
|
8 |
+
"Language: english\n"
|
9 |
+
"MIME-Version: 1.0\n"
|
10 |
+
"Content-Type: text/plain; charset=UTF-8\n"
|
11 |
+
"Content-Transfer-Encoding: 8bit\n"
|
12 |
+
"X-Generator: Poedit 1.5.7\n"
|
13 |
+
"X-Poedit-KeywordsList: __;_e\n"
|
14 |
+
"X-Poedit-Basepath: \n"
|
15 |
+
"X-Poedit-SourceCharset: UTF-8\n"
|
16 |
+
"X-Poedit-SearchPath-0: .\n"
|
17 |
+
|
18 |
+
#: classes/Error.php:16
|
19 |
+
msgid ""
|
20 |
+
"Function get_class does not exists! Is required for StarBox to work properly."
|
21 |
+
msgstr ""
|
22 |
+
|
23 |
+
#: classes/Error.php:19
|
24 |
+
msgid ""
|
25 |
+
"Function file_exists does not exists! Is required for StarBox to work "
|
26 |
+
"properly."
|
27 |
+
msgstr ""
|
28 |
+
|
29 |
+
#: classes/Error.php:23
|
30 |
+
msgid "The home directory is not set!"
|
31 |
+
msgstr "Directorul Home nu este setat"
|
32 |
+
|
33 |
+
#: classes/Error.php:27
|
34 |
+
msgid "The PHP version has to be greater then 4.0"
|
35 |
+
msgstr "Versiunea PHP trebuie sa fie mai mare de 4.0"
|
36 |
+
|
37 |
+
#: classes/Error.php:35
|
38 |
+
msgid ""
|
39 |
+
"For StarBox to work, the PHP version has to be equal or greater then 5.1"
|
40 |
+
msgstr ""
|
41 |
+
"Ca sa functioneze StarBox trebuie sa aveti versiunea de PHP mai mare sa "
|
42 |
+
"egala cu 5.1"
|
43 |
+
|
44 |
+
#: classes/Error.php:69
|
45 |
+
msgid "Turn off warnings!"
|
46 |
+
msgstr "Optriti avertizarile"
|
47 |
+
|
48 |
+
#: classes/Error.php:70
|
49 |
+
msgid "Notice: "
|
50 |
+
msgstr "Nota:"
|
51 |
+
|
52 |
+
#: classes/Error.php:74
|
53 |
+
msgid "Note: "
|
54 |
+
msgstr "Atentie:"
|
55 |
+
|
56 |
+
#: classes/Tools.php:58
|
57 |
+
msgid "Settings"
|
58 |
+
msgstr "Setari"
|
59 |
+
|
60 |
+
#: classes/Tools.php:308
|
61 |
+
msgid "Notice"
|
62 |
+
msgstr "Atentie"
|
63 |
+
|
64 |
+
#: config/paths.php:14
|
65 |
+
#, php-format
|
66 |
+
msgid ""
|
67 |
+
"Unable to create directory %s. Is its parent directory writable by the "
|
68 |
+
"server?"
|
69 |
+
msgstr ""
|
70 |
+
"Nu s-a putut crea directorul %s. Este directorul setat writable pe server?"
|
71 |
+
|
72 |
+
#: controllers/Menu.php:39
|
73 |
+
msgid "StarBox Settings"
|
74 |
+
msgstr "Setari StarBox"
|
75 |
+
|
76 |
+
#: controllers/Menu.php:40
|
77 |
+
msgid "StarBox"
|
78 |
+
msgstr "STarBox"
|
79 |
+
|
80 |
+
#: models/Frontend.php:28
|
81 |
+
msgid "About"
|
82 |
+
msgstr "Despre"
|
83 |
+
|
84 |
+
#: models/Frontend.php:29
|
85 |
+
msgid "Latest Posts"
|
86 |
+
msgstr "Ultimele Postari"
|
87 |
+
|
88 |
+
#: models/Frontend.php:59
|
89 |
+
msgid "at"
|
90 |
+
msgstr "la"
|
91 |
+
|
92 |
+
#: models/Frontend.php:74
|
93 |
+
#, php-format
|
94 |
+
msgid "Latest posts by %s"
|
95 |
+
msgstr "Ultimele postari ale lui %s"
|
96 |
+
|
97 |
+
#: models/Frontend.php:74
|
98 |
+
msgid "see all"
|
99 |
+
msgstr "vezi toate"
|
100 |
+
|
101 |
+
#: models/Frontend.php:86
|
102 |
+
msgid "Facebook"
|
103 |
+
msgstr "Facebook"
|
104 |
+
|
105 |
+
#: models/Frontend.php:90
|
106 |
+
msgid "Twitter"
|
107 |
+
msgstr "Twitter"
|
108 |
+
|
109 |
+
#: models/Frontend.php:95 models/Frontend.php:97
|
110 |
+
msgid "Google Plus"
|
111 |
+
msgstr "Google Plus"
|
112 |
+
|
113 |
+
#: models/Frontend.php:101
|
114 |
+
msgid "LinkedIn"
|
115 |
+
msgstr "LinkedIn"
|
116 |
+
|
117 |
+
#: models/Frontend.php:105
|
118 |
+
msgid "Instagram"
|
119 |
+
msgstr "Instagram"
|
120 |
+
|
121 |
+
#: models/Frontend.php:109
|
122 |
+
msgid "Flickr"
|
123 |
+
msgstr "Flickr"
|
124 |
+
|
125 |
+
#: models/Frontend.php:113
|
126 |
+
msgid "Pinterest"
|
127 |
+
msgstr "Pinterest"
|
128 |
+
|
129 |
+
#: models/Frontend.php:117
|
130 |
+
msgid "Tumblr"
|
131 |
+
msgstr "Tumblr"
|
132 |
+
|
133 |
+
#: models/Frontend.php:121
|
134 |
+
msgid "YouTube"
|
135 |
+
msgstr "YouTube"
|
136 |
+
|
137 |
+
#: models/Frontend.php:125
|
138 |
+
msgid "Vimeo"
|
139 |
+
msgstr "Vimeo"
|
140 |
+
|
141 |
+
#: models/Frontend.php:131 models/Frontend.php:133
|
142 |
+
msgid "Klout"
|
143 |
+
msgstr "Klout"
|
144 |
+
|
145 |
+
#: models/UserSettings.php:34
|
146 |
+
msgid "File type error: Only JPEG, JPG, GIF or PNG files are allowed."
|
147 |
+
msgstr "Eroare fisier: Doar extensile JPEG, JPG, GIF or PNG sunt permise"
|
148 |
+
|
149 |
+
#: models/UserSettings.php:47
|
150 |
+
msgid "GD error: The GD library must be installed on your server."
|
151 |
+
msgstr ""
|
152 |
+
|
153 |
+
#: models/UserSettings.php:54
|
154 |
+
msgid "Delete error: Could not delete the old gravatar."
|
155 |
+
msgstr "Eroare: Nu s-a putut sterge vechiul gravatar"
|
156 |
+
|
157 |
+
#: models/UserSettings.php:61
|
158 |
+
msgid "Upload error: Could not upload the gravatar."
|
159 |
+
msgstr "Eroare: Nu s-a putut incerca gravatarul"
|
160 |
+
|
161 |
+
#: models/UserSettings.php:67
|
162 |
+
msgid "Permission error: Could not change the gravatar permissions."
|
163 |
+
msgstr ""
|
164 |
+
|
165 |
+
#: models/UserSettings.php:78
|
166 |
+
msgid "The gravatar has been updated."
|
167 |
+
msgstr "Imaginea a fost incarcata cu succes!"
|
168 |
+
|
169 |
+
#: themes/admin/Menu.php:3
|
170 |
+
msgid "StartBox Settings"
|
171 |
+
msgstr "Setari StarBox"
|
172 |
+
|
173 |
+
#: themes/admin/Menu.php:3 themes/admin/UserSettings.php:3
|
174 |
+
msgid "Please support us on Wordpress"
|
175 |
+
msgstr "Va rugam sa ne sustineti pe Wordpress"
|
176 |
+
|
177 |
+
#: themes/admin/Menu.php:12 themes/admin/Menu.php:25 themes/admin/Menu.php:36
|
178 |
+
#: themes/admin/Menu.php:47 themes/admin/UserSettings.php:10
|
179 |
+
msgid "Yes"
|
180 |
+
msgstr "Da"
|
181 |
+
|
182 |
+
#: themes/admin/Menu.php:14 themes/admin/Menu.php:27 themes/admin/Menu.php:38
|
183 |
+
#: themes/admin/Menu.php:49 themes/admin/UserSettings.php:12
|
184 |
+
msgid "No"
|
185 |
+
msgstr "No"
|
186 |
+
|
187 |
+
#: themes/admin/Menu.php:17
|
188 |
+
msgid "Visible in <strong>posts</strong>"
|
189 |
+
msgstr "Vizibil in <strong>posts</strong>"
|
190 |
+
|
191 |
+
#: themes/admin/Menu.php:18
|
192 |
+
msgid "Hide Author Box from custom posts types"
|
193 |
+
msgstr "Ascunde uthor Box in posturi custom"
|
194 |
+
|
195 |
+
#: themes/admin/Menu.php:30
|
196 |
+
msgid "Visible in <strong>pages</strong>"
|
197 |
+
msgstr "Vizibil in <strong>pages</strong>"
|
198 |
+
|
199 |
+
#: themes/admin/Menu.php:41
|
200 |
+
msgid ""
|
201 |
+
"Show the Starbox with Top Star theme <strong>in the global feed of your "
|
202 |
+
"blog</strong> (eg. \"/blog\" page) under each title of every post"
|
203 |
+
msgstr ""
|
204 |
+
"Afiseaza Starbox cu fiecare autor in lista de posturi sub fiecare titlu de "
|
205 |
+
"articol"
|
206 |
+
|
207 |
+
#: themes/admin/Menu.php:52
|
208 |
+
#, php-format
|
209 |
+
msgid ""
|
210 |
+
"Show the <strong>Open Graph</strong> Profile in meta for each author "
|
211 |
+
"%sdetails%s (useful for rich snippets)"
|
212 |
+
msgstr ""
|
213 |
+
"Afiseaza Open Graph in Meta pentru fiecare autor %svezi detalii%s (util "
|
214 |
+
"pentru rich snippets)"
|
215 |
+
|
216 |
+
#: themes/admin/Menu.php:56
|
217 |
+
msgid "Theme setting:"
|
218 |
+
msgstr "Setari Teme:"
|
219 |
+
|
220 |
+
#: themes/admin/Menu.php:65
|
221 |
+
msgid ""
|
222 |
+
"The Author Box <strong>position</strong> (Topstar and Topstar-round are "
|
223 |
+
"always on shown on top)"
|
224 |
+
msgstr "Positia Author Box (pentru tema Topstar se va afisa in partea de sus)"
|
225 |
+
|
226 |
+
#: themes/admin/Menu.php:80
|
227 |
+
msgid ""
|
228 |
+
"Choose the default theme to be displayed <strong>inside each blog article</"
|
229 |
+
"strong>"
|
230 |
+
msgstr ""
|
231 |
+
"Alege tema default pentru author box<strong>in fiecare articol</strong>"
|
232 |
+
|
233 |
+
#: themes/admin/Menu.php:84
|
234 |
+
msgid "Preview mode for the default theme"
|
235 |
+
msgstr "Previzualizare cu tema default"
|
236 |
+
|
237 |
+
#: themes/admin/Menu.php:104
|
238 |
+
msgid ""
|
239 |
+
"Choose the theme to be displayed in your <strong>global list of posts</"
|
240 |
+
"strong> (eg. /blog)"
|
241 |
+
msgstr "Alege tema folosita pentru author box in lista cu toate postarile"
|
242 |
+
|
243 |
+
#: themes/admin/Menu.php:109
|
244 |
+
#, php-format
|
245 |
+
msgid "Use the Google Tool to check rich snippets %sclick here%s"
|
246 |
+
msgstr "Cum se vede cu rich snippets in google %sclick here%s"
|
247 |
+
|
248 |
+
#: themes/admin/Menu.php:116
|
249 |
+
msgid ""
|
250 |
+
"Click \"go to user settings\" to setup the author box for each author you "
|
251 |
+
"have ( including per author Google Authorship)"
|
252 |
+
msgstr ""
|
253 |
+
"Click pe \"Mergi la setari autor\" pentru a seta tema pentru fiecare autor"
|
254 |
+
|
255 |
+
#: themes/admin/Menu.php:119
|
256 |
+
msgid "Save settings"
|
257 |
+
msgstr "Salvare setari"
|
258 |
+
|
259 |
+
#: themes/admin/Menu.php:120
|
260 |
+
msgid "Go to user settings"
|
261 |
+
msgstr "Mersi la setari author"
|
262 |
+
|
263 |
+
#: themes/admin/UserSettings.php:3
|
264 |
+
msgid "Starbox Settings for this Author"
|
265 |
+
msgstr "Setari Starbox pentru acest autor"
|
266 |
+
|
267 |
+
#: themes/admin/UserSettings.php:15
|
268 |
+
msgid "Show the StarBox for this author"
|
269 |
+
msgstr "Arata StarBox pentru acest autor"
|
270 |
+
|
271 |
+
#: themes/admin/UserSettings.php:20
|
272 |
+
msgid "Change the Profile Image"
|
273 |
+
msgstr "Schimba imaginea de profil"
|
274 |
+
|
275 |
+
#: themes/admin/UserSettings.php:23
|
276 |
+
msgid "File types: JPG, JPEG, GIF and PNG. Ideal image size is: 80x80"
|
277 |
+
msgstr "Doar extensii: JPG, JPEG, GIF and PNG. Dimensiunea ideala este: 80x80"
|
278 |
+
|
279 |
+
#: themes/admin/UserSettings.php:37
|
280 |
+
msgid "Upload"
|
281 |
+
msgstr "Incarca"
|
282 |
+
|
283 |
+
#: themes/admin/UserSettings.php:38
|
284 |
+
msgid "Reset the uploaded image"
|
285 |
+
msgstr "Reseteaza imaginea incarcata"
|
286 |
+
|
287 |
+
#: themes/admin/UserSettings.php:39
|
288 |
+
#, php-format
|
289 |
+
msgid ""
|
290 |
+
"You can also set your image on %shttps://en.gravatar.com/%s for your email "
|
291 |
+
"address"
|
292 |
+
msgstr ""
|
293 |
+
"Deasemenea se poate seta imaginea in %shttps://en.gravatar.com/%s pentru "
|
294 |
+
"adresa de email"
|
295 |
+
|
296 |
+
#: themes/admin/UserSettings.php:46
|
297 |
+
msgid "Theme settings:"
|
298 |
+
msgstr "Setari Teme:"
|
299 |
+
|
300 |
+
#: themes/admin/UserSettings.php:56
|
301 |
+
msgid "Default"
|
302 |
+
msgstr "Implicit"
|
303 |
+
|
304 |
+
#: themes/admin/UserSettings.php:57
|
305 |
+
msgid "Up"
|
306 |
+
msgstr "Sus"
|
307 |
+
|
308 |
+
#: themes/admin/UserSettings.php:58
|
309 |
+
msgid "Down"
|
310 |
+
msgstr "Jos"
|
311 |
+
|
312 |
+
#: themes/admin/UserSettings.php:61
|
313 |
+
msgid "The Author Box position"
|
314 |
+
msgstr "Pozitia Author Box-ului"
|
315 |
+
|
316 |
+
#: themes/admin/UserSettings.php:80
|
317 |
+
msgid "This Author's theme"
|
318 |
+
msgstr "Tema Autorului"
|
319 |
+
|
320 |
+
#: themes/admin/UserSettings.php:83
|
321 |
+
msgid "Preview mode (change the theme)"
|
322 |
+
msgstr "Previzualizare (schimba tema autorului)"
|
323 |
+
|
324 |
+
#: themes/admin/UserSettings.php:94
|
325 |
+
msgid "Job settings:"
|
326 |
+
msgstr "Setari Job:"
|
327 |
+
|
328 |
+
#: themes/admin/UserSettings.php:96
|
329 |
+
msgid "Job Title:"
|
330 |
+
msgstr "Ocupatia:"
|
331 |
+
|
332 |
+
#: themes/admin/UserSettings.php:97
|
333 |
+
msgid "Company:"
|
334 |
+
msgstr "Compania:"
|
335 |
+
|
336 |
+
#: themes/admin/UserSettings.php:98
|
337 |
+
msgid "Company URL:"
|
338 |
+
msgstr "Site Companie:"
|
339 |
+
|
340 |
+
#: themes/admin/UserSettings.php:103
|
341 |
+
msgid "Social settings:"
|
342 |
+
msgstr "Setari Sociale:"
|
343 |
+
|
344 |
+
#: themes/admin/UserSettings.php:105
|
345 |
+
msgid "To unlock social fields please enter your email:"
|
346 |
+
msgstr ""
|
347 |
+
"Pentru a debloca campurile cu setari sociale introduceti emailul "
|
348 |
+
"dumneavoastra:"
|
349 |
+
|
350 |
+
#: themes/admin/UserSettings.php:123
|
351 |
+
msgid ""
|
352 |
+
"You will only subscribe to StarBox News (No spam). <br />We do not connect "
|
353 |
+
"your site to our server in any way. The plugin is stand-alone."
|
354 |
+
msgstr ""
|
355 |
+
"Te vei inregistra doar la noutati Starbox (fara Spam). <br />Nu vom conecta "
|
356 |
+
"site-ul cu serverul nostru. Acest plugin este stand-alone."
|
357 |
+
|
358 |
+
#: themes/admin/UserSettings.php:127
|
359 |
+
msgid "Twitter:"
|
360 |
+
msgstr ""
|
361 |
+
|
362 |
+
#: themes/admin/UserSettings.php:128
|
363 |
+
msgid "Facebook:"
|
364 |
+
msgstr ""
|
365 |
+
|
366 |
+
#: themes/admin/UserSettings.php:129
|
367 |
+
msgid "Google +:"
|
368 |
+
msgstr ""
|
369 |
+
|
370 |
+
#: themes/admin/UserSettings.php:130
|
371 |
+
msgid "LinkedIn:"
|
372 |
+
msgstr ""
|
373 |
+
|
374 |
+
#: themes/admin/UserSettings.php:131
|
375 |
+
msgid "Klout:"
|
376 |
+
msgstr ""
|
377 |
+
|
378 |
+
#: themes/admin/UserSettings.php:132
|
379 |
+
msgid "Instagram:"
|
380 |
+
msgstr ""
|
381 |
+
|
382 |
+
#: themes/admin/UserSettings.php:133
|
383 |
+
msgid "Flickr:"
|
384 |
+
msgstr ""
|
385 |
+
|
386 |
+
#: themes/admin/UserSettings.php:134
|
387 |
+
msgid "Pinterest:"
|
388 |
+
msgstr ""
|
389 |
+
|
390 |
+
#: themes/admin/UserSettings.php:135
|
391 |
+
msgid "Tumblr:"
|
392 |
+
msgstr ""
|
393 |
+
|
394 |
+
#: themes/admin/UserSettings.php:136
|
395 |
+
msgid "YouTube:"
|
396 |
+
msgstr ""
|
397 |
+
|
398 |
+
#: themes/admin/UserSettings.php:137
|
399 |
+
msgid "Vimeo:"
|
400 |
+
msgstr ""
|
models/Frontend.php
ADDED
@@ -0,0 +1,340 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
class ABH_Models_Frontend {
|
4 |
+
|
5 |
+
public $author;
|
6 |
+
public $details;
|
7 |
+
public $category = null;
|
8 |
+
public $position;
|
9 |
+
public $single = true;
|
10 |
+
|
11 |
+
/**
|
12 |
+
* Get the html author box
|
13 |
+
* @global object $wp_query
|
14 |
+
* @return string
|
15 |
+
*/
|
16 |
+
public function getAuthorBox() {
|
17 |
+
global $wp_query;
|
18 |
+
|
19 |
+
if (!isset($this->author))
|
20 |
+
return;
|
21 |
+
|
22 |
+
$content = '';
|
23 |
+
|
24 |
+
if (isset($this->author) && isset($this->author->ID)) {
|
25 |
+
if (!isset($this->author->user_description))
|
26 |
+
$this->author->user_description = '';
|
27 |
+
|
28 |
+
if ($this->details['abh_theme'] == 'default')
|
29 |
+
$this->details['abh_theme'] = ABH_Classes_Tools::getOption('abh_theme');
|
30 |
+
|
31 |
+
$content .= '
|
32 |
+
<div class="abh_box abh_box_' . $this->position . ' abh_box_' . $this->details['abh_theme'] . '">
|
33 |
+
<ul class="abh_tabs">
|
34 |
+
<li class="abh_about abh_active"><a href="#abh_about">' . __('About', _ABH_PLUGIN_NAME_) . '</a></li>
|
35 |
+
<li class="abh_posts"><a href="#abh_posts">' . __('Latest Posts', _ABH_PLUGIN_NAME_) . '</a></li>
|
36 |
+
</ul>
|
37 |
+
<div class="abh_tab_content">' .
|
38 |
+
$this->showAuthorDescription() .
|
39 |
+
$this->showAuthorPosts() . '
|
40 |
+
</div>
|
41 |
+
</div>';
|
42 |
+
|
43 |
+
return $this->clearTags($content);
|
44 |
+
}
|
45 |
+
return '';
|
46 |
+
}
|
47 |
+
|
48 |
+
/**
|
49 |
+
* Get the image for the author
|
50 |
+
* @return string
|
51 |
+
*/
|
52 |
+
public function getProfileImage() {
|
53 |
+
if (isset($this->details['abh_gravatar']) && $this->details['abh_gravatar'] <> '' && file_exists(_ABH_GRAVATAR_DIR_ . $this->details['abh_gravatar'])) {
|
54 |
+
return '<img src="' . _ABH_GRAVATAR_URL_ . $this->details['abh_gravatar'] . '" class="photo" width="80" />';
|
55 |
+
} else {
|
56 |
+
return get_avatar($this->author->ID, 80);
|
57 |
+
}
|
58 |
+
}
|
59 |
+
|
60 |
+
/**
|
61 |
+
* Get the author Title and Description
|
62 |
+
* @return string
|
63 |
+
*/
|
64 |
+
private function showAuthorDescription() {
|
65 |
+
$content = '
|
66 |
+
<section class="' . (($this->single) ? 'vcard' : '') . ' abh_about_tab abh_tab" style="display:block">
|
67 |
+
<div class="abh_image">
|
68 |
+
' . (($this->author->user_url) ? '<a href="' . $this->author->user_url . '" class="url" target="_blank" title="' . $this->author->display_name . '">' . $this->getProfileImage() . '</a>' : '<a href="' . get_author_posts_url($this->author->ID) . '" class="url" title="' . $this->author->display_name . '">' . $this->getProfileImage() . '</a>') . '
|
69 |
+
</div>
|
70 |
+
<div class="abh_social"> ' . $this->getSocial() . '</div>
|
71 |
+
<div class="abh_text">
|
72 |
+
<h3 class="fn name" ' . ((ABH_Classes_Tools::getOption('abh_titlefontsize') <> 'default') ? 'style="font-size:' . ABH_Classes_Tools::getOption('abh_titlefontsize') . ' !important;"' : '') . '>' . (($this->author->user_url) ? '<a href="' . $this->author->user_url . '" class="url" target="_blank">' . $this->author->display_name . '</a>' : '<a href="' . get_author_posts_url($this->author->ID) . '" class="url">' . $this->author->display_name . '</a>' ) . '</h3>
|
73 |
+
<div class="abh_job" ' . ((ABH_Classes_Tools::getOption('abh_descfontsize') <> 'default') ? 'style="font-size:' . ABH_Classes_Tools::getOption('abh_descfontsize') . ' !important;"' : '') . '>' . (($this->details['abh_title'] <> '' && $this->details['abh_company'] <> '') ? '<span class="title" ' . ((ABH_Classes_Tools::getOption('abh_descfontsize') <> 'default') ? 'style="font-size:' . ABH_Classes_Tools::getOption('abh_descfontsize') . ' !important;"' : '') . '>' . $this->details['abh_title'] . '</span> ' . __('at', _ABH_PLUGIN_NAME_) . ' <span class="org" ' . ((ABH_Classes_Tools::getOption('abh_descfontsize') <> 'default') ? 'style="font-size:' . ABH_Classes_Tools::getOption('abh_descfontsize') . ' !important;"' : '') . '>' . (($this->details['abh_company_url'] <> '') ? sprintf('<a href="%s" target="_blank">%s</a>', $this->details['abh_company_url'], $this->details['abh_company']) : $this->details['abh_company']) . '</span>' : '') . '</div>
|
74 |
+
<div class="description note abh_description" ' . ((ABH_Classes_Tools::getOption('abh_descfontsize') <> 'default') ? 'style="font-size:' . ABH_Classes_Tools::getOption('abh_descfontsize') . ' !important;"' : '') . '>' . ((isset($this->details['abh_extra_description']) && $this->details['abh_extra_description'] <> '') ? nl2br($this->details['abh_extra_description']) : nl2br($this->author->user_description)) . '</div>
|
75 |
+
</div>
|
76 |
+
</section>';
|
77 |
+
return $content;
|
78 |
+
}
|
79 |
+
|
80 |
+
/**
|
81 |
+
* Get the html author latest posts
|
82 |
+
* @return string
|
83 |
+
*/
|
84 |
+
private function showAuthorPosts() {
|
85 |
+
$content = '
|
86 |
+
<section class="abh_posts_tab abh_tab" >
|
87 |
+
<div class="abh_image">
|
88 |
+
' . (($this->author->user_url) ? '<a href="' . $this->author->user_url . '" class="url" target="_blank" title="' . $this->author->display_name . '">' . $this->getProfileImage() . '</a>' : '<a href="' . get_author_posts_url($this->author->ID) . '" class="url" title="' . $this->author->display_name . '">' . $this->getProfileImage() . '</a>') . '
|
89 |
+
</div>
|
90 |
+
<div class="abh_social"> ' . $this->getSocial() . '</div>
|
91 |
+
<div class="abh_text">
|
92 |
+
<h4 ' . ((ABH_Classes_Tools::getOption('abh_titlefontsize') <> 'default') ? 'style="font-size:' . ABH_Classes_Tools::getOption('abh_titlefontsize') . ' !important;"' : '') . '>' . sprintf(__('Latest posts by %s', _ABH_PLUGIN_NAME_), $this->author->display_name) . ' <span class="abh_allposts">(<a href="' . get_author_posts_url($this->author->ID) . '">' . __('see all', _ABH_PLUGIN_NAME_) . '</a>)</span></h4>
|
93 |
+
<div class="abh_description note" >' . $this->getLatestPosts() . '</div>
|
94 |
+
</div>
|
95 |
+
</section>';
|
96 |
+
return $content;
|
97 |
+
}
|
98 |
+
|
99 |
+
/**
|
100 |
+
* Get the social icon for the author
|
101 |
+
* @return string
|
102 |
+
*/
|
103 |
+
private function getSocial() {
|
104 |
+
$content = '';
|
105 |
+
$count = 0;
|
106 |
+
$nofollow = (!$this->details['abh_nofollow_social'] == 0) ? 'rel="nofollow"' : '';
|
107 |
+
|
108 |
+
if (isset($this->details['abh_facebook']) && $this->details['abh_facebook'] <> '') {
|
109 |
+
$count++;
|
110 |
+
$content .= '<a href="' . ((strpos($this->details['abh_facebook'], 'http') === false) ? 'http://facebook.com/' : '') . $this->details['abh_facebook'] . '" title="' . __('Facebook', _ABH_PLUGIN_NAME_) . '" class="abh_facebook" target="_blank" ' . $nofollow . '></a>';
|
111 |
+
}
|
112 |
+
if (isset($this->details['abh_twitter']) && $this->details['abh_twitter'] <> '') {
|
113 |
+
$count++;
|
114 |
+
$content .= '<a href="' . ((strpos($this->details['abh_twitter'], 'http') === false) ? 'http://twitter.com/' : '') . $this->details['abh_twitter'] . '" title="' . __('Twitter', _ABH_PLUGIN_NAME_) . '" class="abh_twitter" target="_blank" ' . $nofollow . '></a>';
|
115 |
+
}
|
116 |
+
if (isset($this->details['abh_google']) && $this->details['abh_google'] <> '') {
|
117 |
+
$count++;
|
118 |
+
if ($this->single)
|
119 |
+
$content .= '<a href="' . ((strpos($this->details['abh_google'], 'http') === false) ? 'http://plus.google.com/' : '') . $this->details['abh_google'] . '?rel=author" title="' . __('Google Plus', _ABH_PLUGIN_NAME_) . '" class="abh_google" rel="author" target="_blank" ' . $nofollow . '></a>';
|
120 |
+
else
|
121 |
+
$content .= '<a href="' . ((strpos($this->details['abh_google'], 'http') === false) ? 'http://plus.google.com/' : '') . $this->details['abh_google'] . '" title="' . __('Google Plus', _ABH_PLUGIN_NAME_) . '" class="abh_google" target="_blank" ' . $nofollow . '></a>';
|
122 |
+
}
|
123 |
+
if (isset($this->details['abh_linkedin']) && $this->details['abh_linkedin'] <> '') {
|
124 |
+
$count++;
|
125 |
+
$content .= '<a href="' . ((strpos($this->details['abh_linkedin'], 'http') === false) ? 'http://www.linkedin.com/in/' : '') . $this->details['abh_linkedin'] . '" title="' . __('LinkedIn', _ABH_PLUGIN_NAME_) . '" class="abh_linkedin" target="_blank" ' . $nofollow . '></a>';
|
126 |
+
}
|
127 |
+
if (isset($this->details['abh_instagram']) && $this->details['abh_instagram'] <> '') {
|
128 |
+
$count++;
|
129 |
+
$content .= '<a href="' . ((strpos($this->details['abh_instagram'], 'http') === false) ? 'http://instagram.com/' : '') . $this->details['abh_instagram'] . '" title="' . __('Instagram', _ABH_PLUGIN_NAME_) . '" class="abh_instagram" target="_blank" ' . $nofollow . '></a>';
|
130 |
+
}
|
131 |
+
if (isset($this->details['abh_flickr']) && $this->details['abh_flickr'] <> '') {
|
132 |
+
$count++;
|
133 |
+
$content .= '<a href="' . ((strpos($this->details['abh_flickr'], 'http') === false) ? 'http://www.flickr.com/photos/' : '') . $this->details['abh_flickr'] . '" title="' . __('Flickr', _ABH_PLUGIN_NAME_) . '" class="abh_flickr" target="_blank" ' . $nofollow . '></a>';
|
134 |
+
}
|
135 |
+
if (isset($this->details['abh_pinterest']) && $this->details['abh_pinterest'] <> '') {
|
136 |
+
$count++;
|
137 |
+
$content .= '<a href="' . ((strpos($this->details['abh_pinterest'], 'http') === false) ? 'http://pinterest.com/' : '') . $this->details['abh_pinterest'] . '" title="' . __('Pinterest', _ABH_PLUGIN_NAME_) . '" class="abh_pinterest" target="_blank" ' . $nofollow . '></a>';
|
138 |
+
}
|
139 |
+
if (isset($this->details['abh_tumblr']) && $this->details['abh_tumblr'] <> '') {
|
140 |
+
$count++;
|
141 |
+
$content .= '<a href="' . ((strpos($this->details['abh_tumblr'], 'http') === false) ? 'http://' . $this->details['abh_tumblr'] . '.tumblr.com/' : $this->details['abh_tumblr']) . '" title="' . __('Tumblr', _ABH_PLUGIN_NAME_) . '" class="abh_tumblr" target="_blank" ' . $nofollow . '></a>';
|
142 |
+
}
|
143 |
+
if (isset($this->details['abh_youtube']) && $this->details['abh_youtube'] <> '') {
|
144 |
+
$count++;
|
145 |
+
$content .= '<a href="' . ((strpos($this->details['abh_youtube'], 'http') === false) ? 'http://www.youtube.com/user/' : '') . $this->details['abh_youtube'] . '" title="' . __('YouTube', _ABH_PLUGIN_NAME_) . '" class="abh_youtube" target="_blank" ' . $nofollow . '></a>';
|
146 |
+
}
|
147 |
+
if (isset($this->details['abh_vimeo']) && $this->details['abh_vimeo'] <> '') {
|
148 |
+
$count++;
|
149 |
+
$content .= '<a href="' . ((strpos($this->details['abh_vimeo'], 'http') === false) ? 'http://vimeo.com/' : '') . $this->details['abh_vimeo'] . '" title="' . __('Vimeo', _ABH_PLUGIN_NAME_) . '" class="abh_vimeo" target="_blank" ' . $nofollow . '></a>';
|
150 |
+
}
|
151 |
+
|
152 |
+
if (isset($this->details['abh_klout']) && $this->details['abh_klout'] <> '') {
|
153 |
+
$count++;
|
154 |
+
if ($score = $this->getKloutScore())
|
155 |
+
$content .= '<a href="' . ((strpos($this->details['abh_klout'], 'http') === false) ? 'http://klout.com/#/' : '') . $this->details['abh_klout'] . '" title="' . __('Klout', _ABH_PLUGIN_NAME_) . '" class="abh_klout_score" target="_blank" ' . $nofollow . '>' . $score . '</a>';
|
156 |
+
else
|
157 |
+
$content .= '<a href="' . ((strpos($this->details['abh_klout'], 'http') === false) ? 'http://klout.com/#/' : '') . $this->details['abh_klout'] . '" title="' . __('Klout', _ABH_PLUGIN_NAME_) . '" class="abh_klout" target="_blank" ' . $nofollow . '></a>';
|
158 |
+
}
|
159 |
+
|
160 |
+
if ($count == 5 || $count == 6) {
|
161 |
+
$content = '<div style="width:85px; margin: 0 0 0 auto;">' . $content . '</div>';
|
162 |
+
} elseif ($count == 7 || $count == 8) {
|
163 |
+
$content = '<div style="width:120px; margin: 0 0 0 auto;">' . $content . '</div>';
|
164 |
+
} elseif ($count == 9 || $count == 10) {
|
165 |
+
$content = '<div style="width:140px; margin: 0 0 0 auto;">' . $content . '</div>';
|
166 |
+
} elseif ($count == 11 || $count == 12) {
|
167 |
+
$content = '<div style="width:160px; margin: 0 0 0 auto;">' . $content . '</div>';
|
168 |
+
}
|
169 |
+
|
170 |
+
if ($count > 0 && isset($this->details['abh_socialtext']) && $this->details['abh_socialtext'] <> '')
|
171 |
+
$content = '<div style="clear: both; font-size:12px; font-weight:normal; width: 85px; margin: 0 0 2px auto; line-height: 20px;">' . $this->details['abh_socialtext'] . '</div>' . $content;
|
172 |
+
|
173 |
+
return $content;
|
174 |
+
}
|
175 |
+
|
176 |
+
/**
|
177 |
+
* Get the Klout Score for the author
|
178 |
+
* @return boolean
|
179 |
+
*/
|
180 |
+
private function getKloutScore() {
|
181 |
+
$data = null;
|
182 |
+
|
183 |
+
if (isset($this->details['abh_klout']) && $this->details['abh_klout'] <> '') {
|
184 |
+
if (strpos($this->details['abh_klout'], 'http') !== false) {
|
185 |
+
$this->details['abh_klout'] = preg_replace('/http:\/\/klout.com\/#\//', '', $this->details['abh_klout']);
|
186 |
+
if (strpos($this->details['abh_klout'], 'http') !== false)
|
187 |
+
return false;
|
188 |
+
}
|
189 |
+
|
190 |
+
if (isset($this->details['abh_klout']) && is_file(_ABH_GRAVATAR_DIR_ . $this->details['abh_klout']) && @filemtime(_ABH_GRAVATAR_DIR_ . $this->details['abh_klout']) > (time() - (3600 * 24))) {
|
191 |
+
$data = json_decode(@file_get_contents(_ABH_GRAVATAR_DIR_ . $this->details['abh_klout']));
|
192 |
+
} else {
|
193 |
+
|
194 |
+
//First, we need to retreive the user's Klout ID
|
195 |
+
$userID = "http://api.klout.com/v2/identity.json/twitter?screenName=" . $this->details['abh_klout'] . "&key=7a8z53zg55bk2gkuuznm98xe";
|
196 |
+
if ($user = ABH_Classes_Tools::abh_remote_get($userID)) {
|
197 |
+
$user = json_decode($user);
|
198 |
+
}
|
199 |
+
|
200 |
+
if (is_object($user) && isset($user->id)) {
|
201 |
+
$klout = $user->id;
|
202 |
+
|
203 |
+
//Then, retreive the Klout score of the user, using the user's Klout ID and API key V2
|
204 |
+
$url_kscore = "http://api.klout.com/v2/user.json/" . $klout . "/score?key=7a8z53zg55bk2gkuuznm98xe";
|
205 |
+
$data = (@file_get_contents($url_kscore));
|
206 |
+
|
207 |
+
@file_put_contents(_ABH_GRAVATAR_DIR_ . $this->details['abh_klout'], $data);
|
208 |
+
$data = json_decode($data);
|
209 |
+
}
|
210 |
+
}
|
211 |
+
|
212 |
+
//If everything works well, then display Klout score
|
213 |
+
if ($data) {
|
214 |
+
return number_format($data->score, 0);
|
215 |
+
}
|
216 |
+
}
|
217 |
+
return false;
|
218 |
+
}
|
219 |
+
|
220 |
+
/**
|
221 |
+
* Get the List Of Posts for the author
|
222 |
+
* @return string
|
223 |
+
*/
|
224 |
+
private function getLatestPosts() {
|
225 |
+
$content = '<ul>';
|
226 |
+
$latest_posts = new WP_Query(array('posts_per_page' => ABH_Classes_Tools::getOption('anh_crt_posts'), 'author' => $this->author->ID));
|
227 |
+
|
228 |
+
|
229 |
+
while ($latest_posts->have_posts()) : $latest_posts->the_post();
|
230 |
+
|
231 |
+
if (isset($this->category) && $this->category <> '') {
|
232 |
+
$found = false;
|
233 |
+
$categories = get_the_category();
|
234 |
+
foreach ($categories as $category) {
|
235 |
+
if (!is_numeric($this->category)) {
|
236 |
+
if ($this->category == $category->name) {
|
237 |
+
$found = true;
|
238 |
+
break;
|
239 |
+
}
|
240 |
+
} elseif (is_numeric($this->category)) {
|
241 |
+
if ($this->category == $category->cat_ID) {
|
242 |
+
$found = true;
|
243 |
+
break;
|
244 |
+
}
|
245 |
+
}
|
246 |
+
}
|
247 |
+
if (!$found)
|
248 |
+
continue;
|
249 |
+
//echo '<pre>' . print_r($category, true) . '</pre>';
|
250 |
+
}
|
251 |
+
|
252 |
+
if (get_the_title() <> '')
|
253 |
+
$content .= '
|
254 |
+
<li ' . ((ABH_Classes_Tools::getOption('abh_descfontsize') <> 'default') ? 'style="font-size:' . ABH_Classes_Tools::getOption('abh_descfontsize') . ' !important;"' : '') . ' >
|
255 |
+
<a href="' . get_permalink() . '">' . get_the_title() . '</a>' .
|
256 |
+
(((int) get_the_time('U') > 0) ? '<span> - ' . @date_i18n(get_option('date_format'), (int) get_the_time('U')) . '</span>' : '') . '
|
257 |
+
</li>';
|
258 |
+
endwhile;
|
259 |
+
wp_reset_postdata();
|
260 |
+
$content .= '</ul>';
|
261 |
+
|
262 |
+
return $content;
|
263 |
+
}
|
264 |
+
|
265 |
+
/**
|
266 |
+
* Clear the new lines from the author box
|
267 |
+
* @param type $content
|
268 |
+
* @return string
|
269 |
+
*/
|
270 |
+
private function clearTags($content) {
|
271 |
+
return preg_replace_callback('~\<[^>]+\>.*\</[^>]+\>~ms', array($this, 'stripNewLines'), $content);
|
272 |
+
}
|
273 |
+
|
274 |
+
/**
|
275 |
+
* Clear the new lines
|
276 |
+
* @param type $match
|
277 |
+
* @return type
|
278 |
+
*/
|
279 |
+
public function stripNewLines($match) {
|
280 |
+
return str_replace(array("\r", "\n", " "), '', $match[0]);
|
281 |
+
}
|
282 |
+
|
283 |
+
/**
|
284 |
+
* Get the meta with Social and Profile
|
285 |
+
* @return string
|
286 |
+
*/
|
287 |
+
public function showMeta() {
|
288 |
+
if (!isset($this->author))
|
289 |
+
return;
|
290 |
+
|
291 |
+
$meta = "\n<!-- StarBox - the Author Box for Humans " . ABH_VERSION . ", visit: http://wordpress.org/plugins/starbox/ -->\n";
|
292 |
+
|
293 |
+
if (ABH_Classes_Tools::getOption('abh_showopengraph') == 1 && is_author()) {
|
294 |
+
//Show the OpenGraph
|
295 |
+
$meta .= $this->showOpenGraph();
|
296 |
+
}
|
297 |
+
|
298 |
+
if (isset($this->details['abh_google']) && $this->details['abh_google'] <> '')
|
299 |
+
$meta .= $this->showGoogleAuthorMeta(); //show google author meta
|
300 |
+
if (isset($this->details['abh_facebook']) && $this->details['abh_facebook'] <> '')
|
301 |
+
$meta .= $this->showFacebookAuthorMeta(); //show facebook author meta
|
302 |
+
|
303 |
+
$meta .= "<!-- /StarBox - the Author Box for Humans -->\n\n";
|
304 |
+
|
305 |
+
return $meta;
|
306 |
+
}
|
307 |
+
|
308 |
+
/**
|
309 |
+
* Get the Open Graph for the current author
|
310 |
+
* @return string
|
311 |
+
*/
|
312 |
+
public function showOpenGraph() {
|
313 |
+
$og = '';
|
314 |
+
$og .= sprintf('<meta property="og:url" content="%s" />', get_author_posts_url($this->author->ID)) . "\n";
|
315 |
+
$og .= sprintf('<meta property="og:type" content="%s" />', 'profile') . "\n";
|
316 |
+
$og .= sprintf('<meta property="profile:first_name" content="%s" />', get_the_author_meta('first_name', $this->author->ID)) . "\n";
|
317 |
+
$og .= sprintf('<meta property="profile:last_name" content="%s" />', get_the_author_meta('last_name', $this->author->ID)) . "\n";
|
318 |
+
|
319 |
+
return $og;
|
320 |
+
}
|
321 |
+
|
322 |
+
/**
|
323 |
+
* Get the Google author Meta
|
324 |
+
* @return string
|
325 |
+
*/
|
326 |
+
public function showGoogleAuthorMeta() {
|
327 |
+
return '<link rel="author" href="' . ((strpos($this->details['abh_google'], 'http') === false) ? 'http://plus.google.com/' : '') . $this->details['abh_google'] . '" />' . "\n";
|
328 |
+
}
|
329 |
+
|
330 |
+
/**
|
331 |
+
* Get the Facebook author Meta
|
332 |
+
* @return string
|
333 |
+
*/
|
334 |
+
public function showFacebookAuthorMeta() {
|
335 |
+
return '<meta property="article:author" content="' . ((strpos($this->details['abh_facebook'], 'http') === false) ? 'http://facebook.com/' : '') . $this->details['abh_facebook'] . '" />' . "\n";
|
336 |
+
}
|
337 |
+
|
338 |
+
}
|
339 |
+
|
340 |
+
?>
|
models/Menu.php
ADDED
@@ -0,0 +1,144 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
class ABH_Models_Menu {
|
4 |
+
|
5 |
+
/** @var array with the menu content
|
6 |
+
*
|
7 |
+
* $page_title (string) (required) The text to be displayed in the title tags of the page when the menu is selected
|
8 |
+
* $menu_title (string) (required) The on-screen name text for the menu
|
9 |
+
* $capability (string) (required) The capability required for this menu to be displayed to the user. User levels are deprecated and should not be used here!
|
10 |
+
* $menu_slug (string) (required) The slug name to refer to this menu by (should be unique for this menu). Prior to Version 3.0 this was called the file (or handle) parameter. If the function parameter is omitted, the menu_slug should be the PHP file that handles the display of the menu page content.
|
11 |
+
* $function The function that displays the page content for the menu page. Technically, the function parameter is optional, but if it is not supplied, then WordPress will basically assume that including the PHP file will generate the administration screen, without calling a function. Most plugin authors choose to put the page-generating code in a function within their main plugin file.:In the event that the function parameter is specified, it is possible to use any string for the file parameter. This allows usage of pages such as ?page=my_super_plugin_page instead of ?page=my-super-plugin/admin-options.php.
|
12 |
+
* $icon_url (string) (optional) The url to the icon to be used for this menu. This parameter is optional. Icons should be fairly small, around 16 x 16 pixels for best results. You can use the plugin_dir_url( __FILE__ ) function to get the URL of your plugin directory and then add the image filename to it. You can set $icon_url to "div" to have wordpress generate <br> tag instead of <img>. This can be used for more advanced formating via CSS, such as changing icon on hover.
|
13 |
+
* $position (integer) (optional) The position in the menu order this menu should appear. By default, if this parameter is omitted, the menu will appear at the bottom of the menu structure. The higher the number, the lower its position in the menu. WARNING: if 2 menu items use the same position attribute, one of the items may be overwritten so that only one item displays!
|
14 |
+
*
|
15 |
+
* */
|
16 |
+
public $menu = array();
|
17 |
+
|
18 |
+
/** @var array with the menu content
|
19 |
+
* $id (string) (required) HTML 'id' attribute of the edit screen section
|
20 |
+
* $title (string) (required) Title of the edit screen section, visible to user
|
21 |
+
* $callback (callback) (required) Function that prints out the HTML for the edit screen section. Pass function name as a string. Within a class, you can instead pass an array to call one of the class's methods. See the second example under Example below.
|
22 |
+
* $post_type (string) (required) The type of Write screen on which to show the edit screen section ('post', 'page', 'link', or 'custom_post_type' where custom_post_type is the custom post type slug)
|
23 |
+
* $context (string) (optional) The part of the page where the edit screen section should be shown ('normal', 'advanced', or 'side'). (Note that 'side' doesn't exist before 2.7)
|
24 |
+
* $priority (string) (optional) The priority within the context where the boxes should show ('high', 'core', 'default' or 'low')
|
25 |
+
* $callback_args (array) (optional) Arguments to pass into your callback function. The callback will receive the $post object and whatever parameters are passed through this variable.
|
26 |
+
*
|
27 |
+
* */
|
28 |
+
public $meta = array();
|
29 |
+
|
30 |
+
function __construct() {
|
31 |
+
|
32 |
+
}
|
33 |
+
|
34 |
+
/**
|
35 |
+
* Add a menu in WP admin page
|
36 |
+
*
|
37 |
+
* @param array $param
|
38 |
+
*
|
39 |
+
* @return void
|
40 |
+
*/
|
41 |
+
public function addMenu($param = null) {
|
42 |
+
if ($param)
|
43 |
+
$this->menu = $param;
|
44 |
+
|
45 |
+
if (is_array($this->menu)) {
|
46 |
+
|
47 |
+
if ($this->menu[0] <> '' && $this->menu[1] <> '') {
|
48 |
+
/* add the translation */
|
49 |
+
$this->menu[0] = __($this->menu[0], _ABH_PLUGIN_NAME_);
|
50 |
+
$this->menu[1] = __($this->menu[1], _ABH_PLUGIN_NAME_);
|
51 |
+
|
52 |
+
if (!isset($this->menu[5]))
|
53 |
+
$this->menu[5] = null;
|
54 |
+
if (!isset($this->menu[6]))
|
55 |
+
$this->menu[6] = null;
|
56 |
+
if (!isset($this->menu[7]))
|
57 |
+
$this->menu[7] = null;
|
58 |
+
|
59 |
+
/* add the menu with WP */
|
60 |
+
add_menu_page($this->menu[0], $this->menu[1], $this->menu[2], $this->menu[3], $this->menu[4], $this->menu[5], $this->menu[6], $this->menu[7]);
|
61 |
+
}
|
62 |
+
}
|
63 |
+
}
|
64 |
+
|
65 |
+
/**
|
66 |
+
* Add a submenumenu in WP admin page
|
67 |
+
*
|
68 |
+
* @param array $param
|
69 |
+
*
|
70 |
+
* @return void
|
71 |
+
*/
|
72 |
+
public function addSubmenu($param = null) {
|
73 |
+
if ($param)
|
74 |
+
$this->menu = $param;
|
75 |
+
|
76 |
+
if (is_array($this->menu)) {
|
77 |
+
|
78 |
+
if ($this->menu[0] <> '' && $this->menu[1] <> '') {
|
79 |
+
/* add the translation */
|
80 |
+
$this->menu[0] = __($this->menu[0], _ABH_PLUGIN_NAME_);
|
81 |
+
$this->menu[1] = __($this->menu[1], _ABH_PLUGIN_NAME_);
|
82 |
+
|
83 |
+
if (!isset($this->menu[5]))
|
84 |
+
$this->menu[5] = null;
|
85 |
+
if (!isset($this->menu[6]))
|
86 |
+
$this->menu[6] = null;
|
87 |
+
if (!isset($this->menu[7]))
|
88 |
+
$this->menu[7] = null;
|
89 |
+
|
90 |
+
/* add the menu with WP */
|
91 |
+
add_submenu_page($this->menu[0], $this->menu[1], $this->menu[2], $this->menu[3], $this->menu[4], $this->menu[5], $this->menu[6], $this->menu[7]);
|
92 |
+
}
|
93 |
+
}
|
94 |
+
}
|
95 |
+
|
96 |
+
/**
|
97 |
+
* Add a box Meta in WP
|
98 |
+
*
|
99 |
+
* @param array $param
|
100 |
+
*
|
101 |
+
* @return void
|
102 |
+
*/
|
103 |
+
public function addMeta($param = null) {
|
104 |
+
if ($param)
|
105 |
+
$this->meta = $param;
|
106 |
+
|
107 |
+
|
108 |
+
if (is_array($this->meta)) {
|
109 |
+
|
110 |
+
if ($this->meta[0] <> '' && $this->meta[1] <> '') {
|
111 |
+
/* add the translation */
|
112 |
+
$this->meta[1] = __($this->meta[1], _ABH_PLUGIN_NAME_);
|
113 |
+
|
114 |
+
if (!isset($this->meta[5]))
|
115 |
+
$this->meta[5] = null;
|
116 |
+
if (!isset($this->meta[6]))
|
117 |
+
$this->meta[6] = null; //no arg
|
118 |
+
|
119 |
+
|
120 |
+
|
121 |
+
|
122 |
+
|
123 |
+
|
124 |
+
|
125 |
+
|
126 |
+
|
127 |
+
|
128 |
+
|
129 |
+
|
130 |
+
|
131 |
+
|
132 |
+
|
133 |
+
|
134 |
+
//print_r($this->meta);
|
135 |
+
/* add the box content with WP */
|
136 |
+
add_meta_box($this->meta[0], $this->meta[1], $this->meta[2], $this->meta[3], $this->meta[4], $this->meta[5]);
|
137 |
+
//add_meta_box('post'._ABH_PLUGIN_NAME_, __(ucfirst(_ABH_PLUGIN_NAME_),_ABH_PLUGIN_NAME_), array($this, 'showMenu'), 'post', 'side', 'high');
|
138 |
+
}
|
139 |
+
}
|
140 |
+
}
|
141 |
+
|
142 |
+
}
|
143 |
+
|
144 |
+
?>
|
models/UserSettings.php
ADDED
@@ -0,0 +1,192 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
class ABH_Models_UserSettings {
|
4 |
+
|
5 |
+
/**
|
6 |
+
* Add the image for gravatar
|
7 |
+
*
|
8 |
+
* @param string $file
|
9 |
+
* @param string $path
|
10 |
+
* @return array [name (the name of the file), image (the path of the image), message (the returned message)]
|
11 |
+
*
|
12 |
+
*/
|
13 |
+
public function addImage($file, $path = ABSPATH) {
|
14 |
+
$out = array();
|
15 |
+
$out['name'] = strtolower(basename($file['name']));
|
16 |
+
$out['gravatar'] = _ABH_GRAVATAR_DIR_ . strtolower(basename($file['name']));
|
17 |
+
$out['message'] = '';
|
18 |
+
$file_error = $file['error'];
|
19 |
+
$img = new Model_ABH_Image();
|
20 |
+
|
21 |
+
/* get the file extension */
|
22 |
+
$file_name = explode('.', $file['name']);
|
23 |
+
$file_type = strtolower($file_name[count($file_name) - 1]);
|
24 |
+
|
25 |
+
/* if the file has a name */
|
26 |
+
if (!empty($file['name'])) {
|
27 |
+
/* Check the extension */
|
28 |
+
$file_type = strtolower($file_type);
|
29 |
+
$files = array('jpeg', 'jpg', 'gif', 'png');
|
30 |
+
$key = in_array($file_type, $files);
|
31 |
+
|
32 |
+
if (!$key) {
|
33 |
+
ABH_Classes_Error::setError(__("File type error: Only JPEG, JPG, GIF or PNG files are allowed.", _ABH_PLUGIN_NAME_));
|
34 |
+
return;
|
35 |
+
}
|
36 |
+
/* Check for error messages */
|
37 |
+
$error_count = count($file_error);
|
38 |
+
if (!empty($file_error) && $error_count > 0) {
|
39 |
+
for ($i = 0; $i <= $error_count; ++$i) {
|
40 |
+
ABH_Classes_Error::setError($file['error'][$i]);
|
41 |
+
return;
|
42 |
+
}
|
43 |
+
} elseif (!$img->checkFunctions()) {
|
44 |
+
|
45 |
+
ABH_Classes_Error::setError(__("GD error: The GD library must be installed on your server.", _ABH_PLUGIN_NAME_));
|
46 |
+
return;
|
47 |
+
} else {
|
48 |
+
/* Delete the previous file if exists */
|
49 |
+
if (is_file($out['gravatar'])) {
|
50 |
+
if (!unlink($out['gravatar'])) {
|
51 |
+
ABH_Classes_Error::setError(__("Delete error: Could not delete the old gravatar.", _ABH_PLUGIN_NAME_));
|
52 |
+
return;
|
53 |
+
}
|
54 |
+
}
|
55 |
+
/* Upload the file */
|
56 |
+
if (!move_uploaded_file($file['tmp_name'], $out['gravatar'])) {
|
57 |
+
ABH_Classes_Error::setError(__("Upload error: Could not upload the gravatar.", _ABH_PLUGIN_NAME_), 'fatal');
|
58 |
+
return;
|
59 |
+
}
|
60 |
+
/* Change the permision */
|
61 |
+
if (!chmod($out['gravatar'], 0755)) {
|
62 |
+
ABH_Classes_Error::setError(__("Permission error: Could not change the gravatar permissions.", _ABH_PLUGIN_NAME_));
|
63 |
+
return;
|
64 |
+
}
|
65 |
+
/* Transform the image into icon */
|
66 |
+
$img->openImage($out['gravatar']);
|
67 |
+
$img->resizeImage(80, 80);
|
68 |
+
$img->saveImage();
|
69 |
+
|
70 |
+
copy($img->image, $out['gravatar']);
|
71 |
+
|
72 |
+
$out['message'] .= __("The gravatar has been updated.", _ABH_PLUGIN_NAME_);
|
73 |
+
|
74 |
+
return $out;
|
75 |
+
}
|
76 |
+
}
|
77 |
+
}
|
78 |
+
|
79 |
+
}
|
80 |
+
|
81 |
+
/**
|
82 |
+
* Upload the image to the server
|
83 |
+
*/
|
84 |
+
class Model_ABH_Image {
|
85 |
+
|
86 |
+
var $imageType;
|
87 |
+
var $imgH;
|
88 |
+
var $image;
|
89 |
+
var $quality = 100;
|
90 |
+
|
91 |
+
function openImage($image) {
|
92 |
+
$this->image = $image;
|
93 |
+
|
94 |
+
if (!file_exists($image))
|
95 |
+
return false;
|
96 |
+
|
97 |
+
$imageData = getimagesize($image);
|
98 |
+
|
99 |
+
if (!$imageData) {
|
100 |
+
return false;
|
101 |
+
} else {
|
102 |
+
$this->imageType = image_type_to_mime_type($imageData[2]);
|
103 |
+
|
104 |
+
switch ($this->imageType) {
|
105 |
+
case 'image/gif':
|
106 |
+
$this->imgH = imagecreatefromgif($image);
|
107 |
+
imagealphablending($this->imgH, true);
|
108 |
+
break;
|
109 |
+
case 'image/png':
|
110 |
+
$this->imgH = imagecreatefrompng($image);
|
111 |
+
imagealphablending($this->imgH, true);
|
112 |
+
break;
|
113 |
+
case 'image/jpg':
|
114 |
+
case 'image/jpeg':
|
115 |
+
$this->imgH = imagecreatefromjpeg($image);
|
116 |
+
break;
|
117 |
+
|
118 |
+
// CHANGED EXCEPTION TO RETURN FALSE
|
119 |
+
default: return false; // throw new Exception('Unknown image format!');
|
120 |
+
}
|
121 |
+
}
|
122 |
+
}
|
123 |
+
|
124 |
+
function saveImage() {
|
125 |
+
switch ($this->imageType) {
|
126 |
+
case 'image/jpg':
|
127 |
+
case 'image/jpeg':
|
128 |
+
return @imagejpeg($this->imgH, $this->image, $this->quality);
|
129 |
+
break;
|
130 |
+
case 'image/gif':
|
131 |
+
return @imagegif($this->imgH, $this->image);
|
132 |
+
break;
|
133 |
+
case 'image/png':
|
134 |
+
return @imagepng($this->imgH, $this->image);
|
135 |
+
break;
|
136 |
+
default:
|
137 |
+
return @imagejpeg($this->imgH, $this->image);
|
138 |
+
}
|
139 |
+
@imagedestroy($this->imgH);
|
140 |
+
}
|
141 |
+
|
142 |
+
function resizeImage($maxwidth, $maxheight, $preserveAspect = true) {
|
143 |
+
$width = @imagesx($this->imgH);
|
144 |
+
$height = @imagesy($this->imgH);
|
145 |
+
|
146 |
+
if ($width > $maxwidth && $height > $maxheight) {
|
147 |
+
$oldprop = round($width / $height, 2);
|
148 |
+
$newprop = round($maxwidth / $maxheight, 2);
|
149 |
+
$preserveAspectx = round($width / $maxwidth, 2);
|
150 |
+
$preserveAspecty = round($height / $maxheight, 2);
|
151 |
+
|
152 |
+
if ($preserveAspect) {
|
153 |
+
if ($preserveAspectx < $preserveAspecty) {
|
154 |
+
$newwidth = $width / ($height / $maxheight);
|
155 |
+
$newheight = $maxheight;
|
156 |
+
} else {
|
157 |
+
$newwidth = $maxwidth;
|
158 |
+
$newheight = $height / ($width / $maxwidth);
|
159 |
+
}
|
160 |
+
|
161 |
+
$dest = imagecreatetruecolor($newwidth, $newheight);
|
162 |
+
$this->applyTransparency($dest);
|
163 |
+
// CHANGED EXCEPTION TO RETURN FALSE
|
164 |
+
if (imagecopyresampled($dest, $this->imgH, 0, 0, 0, 0, $newwidth, $newheight, $width, $height) == false)
|
165 |
+
return false; // throw new Exception('Couldn\'t resize image!');
|
166 |
+
}else {
|
167 |
+
$dest = imagecreatetruecolor($maxwidth, $maxheight);
|
168 |
+
$this->applyTransparency($dest);
|
169 |
+
// CHANGED EXCEPTION TO RETURN FALSE
|
170 |
+
if (imagecopyresampled($dest, $this->imgH, 0, 0, 0, 0, $maxwidth, $maxheight, $width, $height) == false)
|
171 |
+
return false; // throw new Exception('Couldn\'t resize image!') ;
|
172 |
+
}
|
173 |
+
$this->imgH = $dest;
|
174 |
+
}
|
175 |
+
}
|
176 |
+
|
177 |
+
function applyTransparency($imgH) {
|
178 |
+
if ($this->imageType == 'image/png' || $this->imageType == 'image/gif') {
|
179 |
+
imagealphablending($imgH, false);
|
180 |
+
$col = imagecolorallocatealpha($imgH, 255, 255, 255, 127);
|
181 |
+
imagefilledrectangle($imgH, 0, 0, 485, 500, $col);
|
182 |
+
imagealphablending($imgH, true);
|
183 |
+
}
|
184 |
+
}
|
185 |
+
|
186 |
+
function checkFunctions() {
|
187 |
+
return function_exists('gd_info');
|
188 |
+
}
|
189 |
+
|
190 |
+
}
|
191 |
+
|
192 |
+
?>
|
readme.txt
ADDED
@@ -0,0 +1,189 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
=== Starbox - the Author Box for Humans ===
|
2 |
+
Contributors: cifi, florinmuresan
|
3 |
+
Tags: author box,author,twitter,sidebar,images,shortcode,publisher,meta,post,posts,page,pages,google,facebook,snippet,plugin,html5,vcard,klout,users,user,author box,rich snippet,author bio, author bio box,bio,widget,comments,blog,content,email,image,linkedin,marketing,mobile,pinterest,profile,shortcodes,social,social media,wordpress
|
4 |
+
Requires at least: 3.3
|
5 |
+
Tested up to: 4.1.1
|
6 |
+
Stable tag: trunk
|
7 |
+
Donate link: http://starbox.squirrly.co/starbox-the-author-box-for-humans/
|
8 |
+
|
9 |
+
Starbox is the Author Box for Humans. Professional Themes to choose from, HTML5, Social Media Profiles, Google Authorship
|
10 |
+
|
11 |
+
== Description ==
|
12 |
+
|
13 |
+
**How Do I Get Support For This Plugin?**
|
14 |
+
If you want more Social Icons and Premium Support, that also comes with High Priority, go to:
|
15 |
+
http://starbox.squirrly.co/product/starbox-the-author-box-for-humans/
|
16 |
+
|
17 |
+
**Starbox is the Author Box for Humans**
|
18 |
+
|
19 |
+
While search engines and other software that read your site care about files like robots.txt, you need Human readers to actually engage with your content and fall in love with it.
|
20 |
+
|
21 |
+
Humans look at beauty more than anything else (as you most probably already know, men and women alike). That's why you'll get an <strong>Author Box that's gorgeous to look at and it makes your readers click all the way through</strong> to see more about the Authors.
|
22 |
+
|
23 |
+
Now, if you have just yourself as an Author on your site, or a super-star team of Authors, you'll love Starbox. You can <strong>choose from the professionaly built themes and landscaping</strong>. If you are the super-star type, or want to boost social proof, place your Author Box on top of the page, so that your Human readers will know that they're reading stuff that a real awesome person has written.
|
24 |
+
|
25 |
+
You want the classy, bottom-of-the-page Author Box? You can choose that one as well.
|
26 |
+
|
27 |
+
And if your star Authors want different things, satisfy their needs by allowing them to place their Author Box at the top or bottom, with the default theme, or a better looking one. You can make each of them shine in their own way.
|
28 |
+
|
29 |
+
The <strong>Social Profiles</strong> of your writers will be obvious and clickable, getting you Humans that will engage with content on your blog and also on your social media streams.
|
30 |
+
|
31 |
+
Because your authors are stars or will be very soon, <strong>Google Authorship and Facebook Authorship</strong> are here for them with Starbox, and it's just type->click->boom! to set up. Amazingly easy.
|
32 |
+
|
33 |
+
Are you afraid of having to spend too much time setting Starbox up? Don't worry. You're covered by our "For Humans" guarantee. With NO coding or complicated menus whatsoever, you'll set your Author Box in a matter of minutes. And since we took a lot of care regarding all the coding, it will work well and you won't have to worry about that.
|
34 |
+
|
35 |
+
You'll build up some good social proof, you'll give your Human readers a sense of quality and they'll be happy to return for more (which will help you with the search engines who track your site).
|
36 |
+
|
37 |
+
If you're doing the tech stuff on your site or want to know what Starbox's inner workings are all about, here's a list:
|
38 |
+
|
39 |
+
* HTML 5
|
40 |
+
* Google Microformats (vCard), to display Rich Snippets in google search results
|
41 |
+
* Easy to customize for each Author
|
42 |
+
* You'll get Google Authorship on your hands :-) For all your authors.
|
43 |
+
* Have it work only on blog posts, only on pages, or both!
|
44 |
+
* Links to the social media profiles of your authors: Facebook, Twitter, Klout, Google+, LinkedIN, Instagram, Flickr, Pinterest, Tumblr, Youtube, Vimeo
|
45 |
+
* Each of your Authors can have a different set of social media profiles added
|
46 |
+
* Links to all the articles written by that author
|
47 |
+
* A section that displays the latest posts of a certain author
|
48 |
+
* Themes to choose from
|
49 |
+
* Themes setup for each individual Author, to really make them shine
|
50 |
+
* You Can set the Name of the Author
|
51 |
+
* You Can set the Job Title of each Author
|
52 |
+
* Can set Company (with a link to the company's site)
|
53 |
+
* Each Author can make the Author Box look like it's her own
|
54 |
+
* You can choose not to display it for certain authors
|
55 |
+
* Removes any other author box from the page, so that there aren't duplicates
|
56 |
+
* Enables you to upload your own image (so that you won't need a Gravatar)
|
57 |
+
* Paragraphs in the Author Bio to have a better looking text
|
58 |
+
* Displays the Author Box in the special pages built for each author.
|
59 |
+
* Special Pages for your authors
|
60 |
+
* Works even with sites that have woocommerce or other ecommerce plugins
|
61 |
+
* Add Starbox in your post's content or wordpress widgets using the shortcode [starbox] or [starbox id=USER_ID]
|
62 |
+
|
63 |
+
|
64 |
+
So get your very own Starbox now:
|
65 |
+
|
66 |
+
1. Your Authors will become real Stars
|
67 |
+
2. Your readers will notice the persons behind the articles better
|
68 |
+
3. It increases your social proof and credibility as an Author
|
69 |
+
4. It will increase the subscriber numbers across social media channels
|
70 |
+
5. Your readers will feel like they know you better and feel a connection, so they'll return more often
|
71 |
+
6. You know that right now for Google it matters a lot that you have returning visitors (because it means your site is: quality)
|
72 |
+
7. You'll get Google Authorship on your hands :-) For all your authors.
|
73 |
+
|
74 |
+
Download it from the Wordpress directory and try it out. Having an author box after posts will certainly increase engagement and help your authors grow their authority on the web.
|
75 |
+
|
76 |
+
|
77 |
+
== Installation ==
|
78 |
+
1. Log In as an Admin on your Wordpress blog.
|
79 |
+
2. In the menu displayed on the left, there is a "Plugins" tab. Click it.
|
80 |
+
3. Now click "Add New".
|
81 |
+
4. There, you have the buttons: "Search | Upload | Featured | Popular | Newest". Click "Upload".
|
82 |
+
5. Upload the starbox.zip file.
|
83 |
+
6. After the upload is finished, click Activate Plugin.
|
84 |
+
7. Done :-) You'll see that this is as advertized.
|
85 |
+
|
86 |
+
== Screenshots ==
|
87 |
+
1. Author Box with Business Theme
|
88 |
+
2. Author Bio Box with Business Theme
|
89 |
+
3. Author Box Settings
|
90 |
+
4. Author Box Settings for each Author
|
91 |
+
5. Author Box Social Settings
|
92 |
+
6. Author Box with Drop-Down Theme
|
93 |
+
7. Author Box with Drop-Down Theme
|
94 |
+
8. Author Box with Drop-Down Theme
|
95 |
+
9. Google Rich Snippets with the author's image
|
96 |
+
10. Google Rich Snippets with the author's image
|
97 |
+
11. Author Box with TopStar Theme
|
98 |
+
12. Author Box with TopStar Theme
|
99 |
+
13. Author Box with Drop-Down Theme
|
100 |
+
14. Author Box with Drop-Down Theme
|
101 |
+
15. Author Box with Fancy Theme
|
102 |
+
16. Author Box with Drop-Down Theme
|
103 |
+
|
104 |
+
|
105 |
+
== Changelog ==
|
106 |
+
= 3.0.2 =
|
107 |
+
* Compatible with WP 4.1.1
|
108 |
+
* Fix link tag close duplicates
|
109 |
+
* Added some theme compatibilities
|
110 |
+
* Social Networks removed in the free version. Only Facebook add Twitter remained.
|
111 |
+
|
112 |
+
= 3.0.1 =
|
113 |
+
* Compatible with WP 4.0.1
|
114 |
+
|
115 |
+
= 3.0.0 =
|
116 |
+
* Made changed according to GPL 2.0
|
117 |
+
|
118 |
+
= 2.2.0 =
|
119 |
+
* Compatible with WP 4.0
|
120 |
+
* Fixed various bugs
|
121 |
+
|
122 |
+
= 2.1.4 =
|
123 |
+
* Compatible with WP 3.9.2
|
124 |
+
|
125 |
+
= 2.1.3 =
|
126 |
+
* Fixed css and js loading issues for many different themes
|
127 |
+
* Fixed repeated header section
|
128 |
+
|
129 |
+
= 2.1.2 =
|
130 |
+
* Compatible with WP 3.9.1
|
131 |
+
|
132 |
+
= 2.1.1 =
|
133 |
+
* Removed Author Box from products that you may have in Woocommerce when only posts are set to have the author box displayed (you can do this in settings)
|
134 |
+
|
135 |
+
= 2.1.0 =
|
136 |
+
* Compatible with WP 3.9
|
137 |
+
|
138 |
+
= 2.0.5 =
|
139 |
+
* Fixed Klout score issue
|
140 |
+
|
141 |
+
= 2.0.4 =
|
142 |
+
* Fixed hook bugs for preview and frontend
|
143 |
+
* Update css on the author box plugin for some themes
|
144 |
+
* Fixed small bugs for Font size option
|
145 |
+
* Works with W3 Total Cache and Super Cache
|
146 |
+
|
147 |
+
= 2.0.3 =
|
148 |
+
* Added Font Size option for the name and description
|
149 |
+
|
150 |
+
= 2.0.2 =
|
151 |
+
* fixed show latest posts for shortcodes
|
152 |
+
* added show latest posts from specific category in shortcode [starbox lpc="category id"] or [starbox lpc="category name"]
|
153 |
+
|
154 |
+
= 2.0.1 =
|
155 |
+
* Fixed css for more themes
|
156 |
+
* Fixed hide from all posts in WP 3.8.1 issue
|
157 |
+
* Added French Translation by D SIGNED
|
158 |
+
|
159 |
+
= 2.0.0 =
|
160 |
+
* Fixed loading issues
|
161 |
+
* Compatible with Wordpress 3.8
|
162 |
+
* Fixed css for different themes and for Wordpress 3.8
|
163 |
+
|
164 |
+
== Frequently Asked Questions ==
|
165 |
+
= Why is there no meta for google and facebook authorship? =
|
166 |
+
You have to fill the google and facebook social accounts in your profile and it will show up.
|
167 |
+
|
168 |
+
= How Do I Get Support For This Plugin? =
|
169 |
+
We're following the threads and based on them we always try to build up new and better implementations for the Author Box for Humans. If you want Premium Support, that also comes with High Priority, then go to:
|
170 |
+
http://starbox.squirrly.co/product/starbox-the-author-box-for-humans/
|
171 |
+
|
172 |
+
= How Do I Make Sure I Get Priority Support From Buying The Recommended Version? =
|
173 |
+
It will help you have a premium email from us, on which you can get super-fast support.
|
174 |
+
http://starbox.squirrly.co/product/starbox-the-author-box-for-humans/
|
175 |
+
After you buy it, it will show you the email on which you can write to us for Premium and Fast Support
|
176 |
+
|
177 |
+
= How can I call (display) the author box in a post or widget? =
|
178 |
+
Just add <strong>[starbox]</strong> or <strong>[starbox id="login_name"]</strong> in your post or widget..
|
179 |
+
You can also add different description for the author box, by adding <strong>[starbox id="login_name" desc="custom description" ]</strong>
|
180 |
+
And more than that, you can add a default theme for author box <strong>[starbox id="login_name" desc="custom description" theme="business"]</strong>
|
181 |
+
|
182 |
+
= How can i add multiple author boxes to a post? =
|
183 |
+
You can use startbox shortcode at the bottom of the content like this:
|
184 |
+
[starbox id="john,david"] where john and david are the username of the authors
|
185 |
+
or
|
186 |
+
[starbox id="1,2..n"] where 1,2, .. n are the ID of the authors
|
187 |
+
|
188 |
+
= Is your team dedicated to this plugin? =
|
189 |
+
You can count on it :-) Our team of 8 people over at Squirrly (registered in the UK) are focused on making both our wordpress seo plugin and our author box plugin the best there are. So far we succeeded in making them one of the most popular, because we listen to your feedback and you're the reason for their success.
|
screenshot-1.jpg
ADDED
Binary file
|
screenshot-10.jpg
ADDED
Binary file
|
screenshot-11.jpg
ADDED
Binary file
|
screenshot-12.jpg
ADDED
Binary file
|
screenshot-13.jpg
ADDED
Binary file
|
screenshot-14.jpg
ADDED
Binary file
|
screenshot-15.jpg
ADDED
Binary file
|
screenshot-16.jpg
ADDED
Binary file
|
screenshot-2.jpg
ADDED
Binary file
|
screenshot-3.jpg
ADDED
Binary file
|
screenshot-4.jpg
ADDED
Binary file
|
screenshot-5.jpg
ADDED
Binary file
|
screenshot-6.jpg
ADDED
Binary file
|
screenshot-7.jpg
ADDED
Binary file
|
screenshot-8.jpg
ADDED
Binary file
|
screenshot-9.jpg
ADDED
Binary file
|
starbox.php
ADDED
@@ -0,0 +1,41 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
/*
|
4 |
+
Copyright (c) 2012, Squirrly Limited.
|
5 |
+
The copyrights to the software code in this file are licensed under the (revised) BSD open source license.
|
6 |
+
|
7 |
+
Plugin Name: StarBox
|
8 |
+
Plugin URI:
|
9 |
+
Author: Squirrly UK
|
10 |
+
Description: Starbox is the Author Box for Humans. Professional Themes to choose from, HTML5, Social Media Profiles, Google Authorship
|
11 |
+
Version: 3.0.2
|
12 |
+
Author URI: http://www.squirrly.co
|
13 |
+
*/
|
14 |
+
/* SET THE CURRENT VERSION ABOVE AND BELOW */
|
15 |
+
define('ABH_VERSION', '3.0.2');
|
16 |
+
/* Call config files */
|
17 |
+
require(dirname(__FILE__) . '/config/config.php');
|
18 |
+
|
19 |
+
/* important to check the PHP version */
|
20 |
+
if (PHP_VERSION_ID >= 5100) {
|
21 |
+
/* inport main classes */
|
22 |
+
require_once(_ABH_CLASSES_DIR_ . 'ObjController.php');
|
23 |
+
require_once(_ABH_CLASSES_DIR_ . 'BlockController.php');
|
24 |
+
|
25 |
+
/* Main class call */
|
26 |
+
ABH_Classes_ObjController::getController('ABH_Classes_FrontController')->run();
|
27 |
+
|
28 |
+
if (!is_admin())
|
29 |
+
ABH_Classes_ObjController::getController('ABH_Controllers_Frontend');
|
30 |
+
} else {
|
31 |
+
/* Main class call */
|
32 |
+
add_action('admin_notices', array(ABH_Classes_ObjController::getController('ABH_Classes_FrontController'), 'phpVersionError'));
|
33 |
+
}
|
34 |
+
|
35 |
+
// --
|
36 |
+
// Upgrade StarBox call.
|
37 |
+
register_activation_hook(__FILE__, 'abh_upgrade');
|
38 |
+
|
39 |
+
function abh_upgrade() {
|
40 |
+
set_transient('abh_upgrade', true, 30);
|
41 |
+
}
|
themes/admin/Menu.php
ADDED
@@ -0,0 +1,159 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<div id="abh_settings" >
|
2 |
+
<form id="abh_settings_form" name="settings" action="" method="post" enctype="multipart/form-data">
|
3 |
+
<div id="abh_settings_title" ><?php _e('StarBox Settings', _ABH_PLUGIN_NAME_); ?><a href="http://wordpress.org/support/view/plugin-reviews/starbox" target="_blank"><span class="abh_settings_rate" ><span></span><?php _e('Please support us on Wordpress', _ABH_PLUGIN_NAME_); ?></span></a></div>
|
4 |
+
<div id="abh_settings_body">
|
5 |
+
<div id="abh_settings_left" >
|
6 |
+
|
7 |
+
<fieldset>
|
8 |
+
|
9 |
+
<div class="abh_option_content">
|
10 |
+
<div class="abh_switch">
|
11 |
+
<input id="abh_inposts_on" type="radio" class="abh_switch-input" name="abh_inposts" value="1" <?php echo ((ABH_Classes_Tools::getOption('abh_inposts') == 1) ? "checked" : '') ?> />
|
12 |
+
<label for="abh_inposts_on" class="abh_switch-label abh_switch-label-off"><?php _e('Yes', _ABH_PLUGIN_NAME_); ?></label>
|
13 |
+
<input id="abh_inposts_off" type="radio" class="abh_switch-input" name="abh_inposts" value="0" <?php echo ((!ABH_Classes_Tools::getOption('abh_inposts')) ? "checked" : '') ?> />
|
14 |
+
<label for="abh_inposts_off" class="abh_switch-label abh_switch-label-on"><?php _e('No', _ABH_PLUGIN_NAME_); ?></label>
|
15 |
+
<span class="abh_switch-selection"></span>
|
16 |
+
</div>
|
17 |
+
<span><?php _e('Visible in <strong>posts</strong>', _ABH_PLUGIN_NAME_); ?></span>
|
18 |
+
<div class="abh_option_strictposts"><input name="abh_strictposts" type="checkbox" value="1" <?php echo ((ABH_Classes_Tools::getOption('abh_strictposts') == 1) ? "checked" : '') ?> /><label for="abh_strictposts"><?php _e('Hide Author Box from custom posts types', _ABH_PLUGIN_NAME_); ?></label></div>
|
19 |
+
|
20 |
+
</div>
|
21 |
+
|
22 |
+
<div class="abh_option_content">
|
23 |
+
<div class="abh_switch">
|
24 |
+
<input id="abh_inpages_on" type="radio" class="abh_switch-input" name="abh_inpages" value="1" <?php echo ((ABH_Classes_Tools::getOption('abh_inpages') == 1) ? "checked" : '') ?> />
|
25 |
+
<label for="abh_inpages_on" class="abh_switch-label abh_switch-label-off"><?php _e('Yes', _ABH_PLUGIN_NAME_); ?></label>
|
26 |
+
<input id="abh_inpages_off" type="radio" class="abh_switch-input" name="abh_inpages" value="0" <?php echo ((!ABH_Classes_Tools::getOption('abh_inpages')) ? "checked" : '') ?> />
|
27 |
+
<label for="abh_inpages_off" class="abh_switch-label abh_switch-label-on"><?php _e('No', _ABH_PLUGIN_NAME_); ?></label>
|
28 |
+
<span class="abh_switch-selection"></span>
|
29 |
+
</div>
|
30 |
+
<span><?php _e('Visible in <strong>pages</strong>', _ABH_PLUGIN_NAME_); ?></span>
|
31 |
+
</div>
|
32 |
+
|
33 |
+
<div class="abh_option_content">
|
34 |
+
<div class="abh_switch">
|
35 |
+
<input id="abh_ineachpost_on" type="radio" class="abh_switch-input" name="abh_ineachpost" value="1" <?php echo ((ABH_Classes_Tools::getOption('abh_ineachpost') == 1) ? "checked" : '') ?> />
|
36 |
+
<label for="abh_ineachpost_on" class="abh_switch-label abh_switch-label-off"><?php _e('Yes', _ABH_PLUGIN_NAME_); ?></label>
|
37 |
+
<input id="abh_ineachpost_off" type="radio" class="abh_switch-input" name="abh_ineachpost" value="0" <?php echo ((!ABH_Classes_Tools::getOption('abh_ineachpost')) ? "checked" : '') ?> />
|
38 |
+
<label for="abh_ineachpost_off" class="abh_switch-label abh_switch-label-on"><?php _e('No', _ABH_PLUGIN_NAME_); ?></label>
|
39 |
+
<span class="abh_switch-selection"></span>
|
40 |
+
</div>
|
41 |
+
<span><?php _e('Show the Starbox with Top Star theme <strong>in the global feed of your blog</strong> (eg. "/blog" page) under each title of every post', _ABH_PLUGIN_NAME_); ?></span>
|
42 |
+
</div>
|
43 |
+
|
44 |
+
<div class="abh_option_content">
|
45 |
+
<div class="abh_switch">
|
46 |
+
<input id="abh_showopengraph_on" type="radio" class="abh_switch-input" name="abh_showopengraph" value="1" <?php echo ((ABH_Classes_Tools::getOption('abh_showopengraph') == 1) ? "checked" : '') ?> />
|
47 |
+
<label for="abh_showopengraph_on" class="abh_switch-label abh_switch-label-off"><?php _e('Yes', _ABH_PLUGIN_NAME_); ?></label>
|
48 |
+
<input id="abh_showopengraph_off" type="radio" class="abh_switch-input" name="abh_showopengraph" value="0" <?php echo ((!ABH_Classes_Tools::getOption('abh_showopengraph')) ? "checked" : '') ?> />
|
49 |
+
<label for="abh_showopengraph_off" class="abh_switch-label abh_switch-label-on"><?php _e('No', _ABH_PLUGIN_NAME_); ?></label>
|
50 |
+
<span class="abh_switch-selection"></span>
|
51 |
+
</div>
|
52 |
+
<span><?php echo sprintf(__('Show the <strong>Open Graph</strong> Profile in meta for each author %sdetails%s (useful for rich snippets)', _ABH_PLUGIN_NAME_), '<a href="http://ogp.me/#type_profile" target="_blank">', '</a>'); ?></span>
|
53 |
+
</div>
|
54 |
+
</fieldset>
|
55 |
+
<fieldset>
|
56 |
+
<legend><?php _e('Theme setting:', _ABH_PLUGIN_NAME_); ?></legend>
|
57 |
+
<div class="abh_option_content">
|
58 |
+
|
59 |
+
<div class="abh_select">
|
60 |
+
<select name="abh_position">
|
61 |
+
<option value="up" <?php echo ((ABH_Classes_Tools::getOption('abh_position') == 'up') ? 'selected="selected"' : '') ?>>Up</option>
|
62 |
+
<option value="down" <?php echo ((ABH_Classes_Tools::getOption('abh_position') == 'down') ? 'selected="selected"' : '') ?>>Down</option>
|
63 |
+
</select>
|
64 |
+
</div>
|
65 |
+
<span><?php _e('The Author Box <strong>position</strong> (Topstar and Topstar-round are always on shown on top)', _ABH_PLUGIN_NAME_); ?></span>
|
66 |
+
</div>
|
67 |
+
|
68 |
+
<div class="abh_option_content">
|
69 |
+
<div class="abh_select">
|
70 |
+
<select id="abh_theme_select" name="abh_theme">
|
71 |
+
<?php
|
72 |
+
foreach (ABH_Classes_Tools::getOption('abh_themes') as $name) {
|
73 |
+
echo '<option value="' . $name . '" ' . ((ABH_Classes_Tools::getOption('abh_theme') == $name) ? 'selected="selected"' : '') . ' >' . ucfirst($name) . '</option>';
|
74 |
+
}
|
75 |
+
?>
|
76 |
+
</select>
|
77 |
+
</div>
|
78 |
+
<span><?php _e('Choose the default theme to be displayed <strong>inside each blog article</strong>', _ABH_PLUGIN_NAME_); ?></span>
|
79 |
+
</div>
|
80 |
+
|
81 |
+
<div class="abh_option_content">
|
82 |
+
<div class="abh_select">
|
83 |
+
<select id="abh_titlefontsize_select" name="abh_titlefontsize">
|
84 |
+
<?php
|
85 |
+
foreach (ABH_Classes_Tools::getOption('abh_titlefontsizes') as $name) {
|
86 |
+
echo '<option value="' . $name . '" ' . ((ABH_Classes_Tools::getOption('abh_titlefontsize') == $name) ? 'selected="selected"' : '') . ' >' . $name . '</option>';
|
87 |
+
}
|
88 |
+
?>
|
89 |
+
</select>
|
90 |
+
</div>
|
91 |
+
<span><?php _e('Choose the size of the name', _ABH_PLUGIN_NAME_); ?></span>
|
92 |
+
|
93 |
+
<div class="abh_select">
|
94 |
+
<select id="abh_descfontsize_select" name="abh_descfontsize">
|
95 |
+
<?php
|
96 |
+
foreach (ABH_Classes_Tools::getOption('abh_descfontsizes') as $name) {
|
97 |
+
echo '<option value="' . $name . '" ' . ((ABH_Classes_Tools::getOption('abh_descfontsize') == $name) ? 'selected="selected"' : '') . ' >' . $name . '</option>';
|
98 |
+
}
|
99 |
+
?>
|
100 |
+
</select>
|
101 |
+
</div>
|
102 |
+
<span><?php _e('Choose the size of the description', _ABH_PLUGIN_NAME_); ?></span>
|
103 |
+
</div>
|
104 |
+
|
105 |
+
|
106 |
+
<div id="abh_box_preview_title"><?php _e('Preview mode for the default theme', _ABH_PLUGIN_NAME_); ?></div>
|
107 |
+
<div id="abh_box_preview"><?php
|
108 |
+
if (file_exists(_ABH_ALL_THEMES_DIR_ . ABH_Classes_Tools::getOption('abh_theme') . '/js/frontend.js'))
|
109 |
+
echo '<script type="text/javascript" src="' . _ABH_ALL_THEMES_URL_ . ABH_Classes_Tools::getOption('abh_theme') . '/js/frontend.js?ver=' . ABH_VERSION . '"></script>';
|
110 |
+
echo '<link rel="stylesheet" href="' . _ABH_ALL_THEMES_URL_ . ABH_Classes_Tools::getOption('abh_theme') . '/css/frontend.css?ver=' . ABH_VERSION . '" type="text/css" media="all" />';
|
111 |
+
global $current_user;
|
112 |
+
echo ABH_Classes_ObjController::getController('ABH_Controllers_Frontend')->showBox($current_user->ID);
|
113 |
+
?>
|
114 |
+
</div>
|
115 |
+
<input type="text" style="display: none;" value="<?php echo $current_user->ID ?>" size="1" id="user_id" >
|
116 |
+
<br /><br />
|
117 |
+
<div class="abh_option_content">
|
118 |
+
<div class="abh_select">
|
119 |
+
<select name="abh_achposttheme">
|
120 |
+
<?php
|
121 |
+
foreach (ABH_Classes_Tools::getOption('abh_achpostthemes') as $name) {
|
122 |
+
echo '<option value="' . $name . '" ' . ((ABH_Classes_Tools::getOption('abh_achposttheme') == $name) ? 'selected="selected"' : '') . ' >' . ucfirst($name) . '</option>';
|
123 |
+
}
|
124 |
+
?>
|
125 |
+
</select>
|
126 |
+
</div>
|
127 |
+
<span><?php _e('Choose the theme to be displayed in your <strong>global list of posts</strong> (eg. /blog)', _ABH_PLUGIN_NAME_); ?></span>
|
128 |
+
</div>
|
129 |
+
|
130 |
+
|
131 |
+
|
132 |
+
<div><br /><br /><?php _e('Add Starbox in the post content or widgets with the shortcode <strong>[starbox]</strong> or <strong>[starbox id=USER_ID]</strong>', _ABH_PLUGIN_NAME_); ?></div>
|
133 |
+
<div class="abh_option_content">
|
134 |
+
<div class="abh_switch">
|
135 |
+
<input id="abh_shortcode_on" type="radio" class="abh_switch-input" name="abh_shortcode" value="1" <?php echo ((ABH_Classes_Tools::getOption('abh_shortcode') == 1) ? "checked" : '') ?> />
|
136 |
+
<label for="abh_shortcode_on" class="abh_switch-label abh_switch-label-off"><?php _e('Yes', _ABH_PLUGIN_NAME_); ?></label>
|
137 |
+
<input id="abh_shortcode_off" type="radio" class="abh_switch-input" name="abh_shortcode" value="0" <?php echo ((!ABH_Classes_Tools::getOption('abh_shortcode')) ? "checked" : '') ?> />
|
138 |
+
<label for="abh_shortcode_off" class="abh_switch-label abh_switch-label-on"><?php _e('No', _ABH_PLUGIN_NAME_); ?></label>
|
139 |
+
<span class="abh_switch-selection"></span>
|
140 |
+
</div>
|
141 |
+
<span><?php echo sprintf(__('Check for <strong>[starbox]</strong> shortcode in my blog. %sRead more >>%s', _ABH_PLUGIN_NAME_), '<a href="http://wordpress.org/plugins/starbox/faq/" target="_blank">', '</a>'); ?> </span>
|
142 |
+
</div>
|
143 |
+
</fieldset>
|
144 |
+
|
145 |
+
</div>
|
146 |
+
|
147 |
+
<div id="abh_settings_submit">
|
148 |
+
<p><?php _e('Click "go to user settings" to setup the author box for each author you have ( including per author Google Authorship)', _ABH_PLUGIN_NAME_); ?></p>
|
149 |
+
<input type="hidden" name="action" value="abh_settings_update" />
|
150 |
+
<input type="hidden" name="nonce" value="<?php echo wp_create_nonce(_ABH_NONCE_ID_); ?>" />
|
151 |
+
<input type="submit" name="abh_update" class="abh_button" value="<?php _e('Save settings', _ABH_PLUGIN_NAME_) ?> »" />
|
152 |
+
<a href="profile.php#abh_settings" class="abh_button"><?php _e('Go to user settings', _ABH_PLUGIN_NAME_) ?></a>
|
153 |
+
</div>
|
154 |
+
|
155 |
+
<div><br /><br /><?php echo sprintf(__('Use the Google Tool to check rich snippets %sclick here%s', _ABH_PLUGIN_NAME_), '<a href="http://www.google.com/webmasters/tools/richsnippets?url=' . get_bloginfo('url') . '" target="_blank">', '</a>'); ?></div>
|
156 |
+
|
157 |
+
</div>
|
158 |
+
</form>
|
159 |
+
</div>
|
themes/admin/Notices.php
ADDED
@@ -0,0 +1,16 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
if ($type == 'errors_count') {
|
3 |
+
/* for the Menu counter */
|
4 |
+
?>
|
5 |
+
<span class='awaiting-mod count-<?php echo $message; ?>'>
|
6 |
+
<span class='sq_count pending-count'><?php echo $message; ?></span>
|
7 |
+
</span>
|
8 |
+
<?php } else { ?>
|
9 |
+
<div id="<?php echo $id ?>" class="<?php echo $type; ?> sq_message">
|
10 |
+
|
11 |
+
<p>
|
12 |
+
<strong><?php echo $message; ?></strong>
|
13 |
+
</p>
|
14 |
+
|
15 |
+
</div>
|
16 |
+
<?php } ?>
|
themes/admin/UserSettings.php
ADDED
@@ -0,0 +1,167 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<div id="abh_settings" >
|
2 |
+
<a name="abh_settings"></a>
|
3 |
+
<div id="abh_settings_title" ><?php _e('Starbox Settings for this Author', _ABH_PLUGIN_NAME_); ?><a href="http://wordpress.org/support/view/plugin-reviews/starbox" target="_blank"><span class="abh_settings_rate" ><span></span><?php _e('Please support us on Wordpress', _ABH_PLUGIN_NAME_); ?></span></a></div>
|
4 |
+
<div id="abh_settings_body">
|
5 |
+
<div id="abh_settings_left" >
|
6 |
+
<fieldset >
|
7 |
+
<div class="abh_option_content">
|
8 |
+
<div class="abh_switch">
|
9 |
+
<input id="abh_use_on" type="radio" class="abh_switch-input" name="abh_use" value="1" <?php echo (($view->author['abh_use'] == 1) ? "checked" : '') ?> />
|
10 |
+
<label for="abh_use_on" class="abh_switch-label abh_switch-label-off"><?php _e('Yes', _ABH_PLUGIN_NAME_); ?></label>
|
11 |
+
<input id="abh_use_off" type="radio" class="abh_switch-input" name="abh_use" value="0" <?php echo ((!$view->author['abh_use'] == 1) ? "checked" : '') ?> />
|
12 |
+
<label for="abh_use_off" class="abh_switch-label abh_switch-label-on"><?php _e('No', _ABH_PLUGIN_NAME_); ?></label>
|
13 |
+
<span class="abh_switch-selection"></span>
|
14 |
+
</div>
|
15 |
+
<span><?php _e('Show the StarBox for this author', _ABH_PLUGIN_NAME_); ?></span>
|
16 |
+
</div>
|
17 |
+
|
18 |
+
</fieldset>
|
19 |
+
<fieldset>
|
20 |
+
<legend><?php _e('Change the Profile Image', _ABH_PLUGIN_NAME_); ?></legend>
|
21 |
+
<div class="abh_gravatar">
|
22 |
+
<p>
|
23 |
+
<?php _e('File types: JPG, JPEG, GIF and PNG. Ideal image size is: 80x80', _ABH_PLUGIN_NAME_); ?>
|
24 |
+
</p>
|
25 |
+
<p><span class="sq_settings_info"><?php echo ((defined('ABH_MESSAGE_FAVICON')) ? ABH_MESSAGE_FAVICON : '') ?></span></p>
|
26 |
+
<div>
|
27 |
+
<?php if (isset($view->author['abh_gravatar']) && $view->author['abh_gravatar'] <> '' && file_exists(_ABH_GRAVATAR_DIR_ . $view->author['abh_gravatar'])) { ?>
|
28 |
+
<img src="<?php echo _ABH_GRAVATAR_URL_ . $view->author['abh_gravatar'] . '?' . time() ?>" width="80" class="photo" />
|
29 |
+
<?php
|
30 |
+
} else {
|
31 |
+
|
32 |
+
echo get_avatar($view->user->ID, 80);
|
33 |
+
}
|
34 |
+
?>
|
35 |
+
<div class="abh_upload">
|
36 |
+
<input type="file" name="abh_gravatar" />
|
37 |
+
<input type="submit" id="abh_gravatar_update" name="abh_update" value="<?php _e('Upload', _ABH_PLUGIN_NAME_) ?>" />
|
38 |
+
<div class="abh_upload_reset"><label for="abh_resetgravatar"><?php _e('Reset the uploaded image', _ABH_PLUGIN_NAME_); ?></label><input name="abh_resetgravatar" type="checkbox" value="1" /></div>
|
39 |
+
<span class="abh_settings_info"><?php echo sprintf(__('You can also set your image on %shttps://en.gravatar.com/%s for your email address', _ABH_PLUGIN_NAME_), '<a href="https://en.gravatar.com/" target="_blank">', '</a>'); ?></span>
|
40 |
+
</div>
|
41 |
+
</div>
|
42 |
+
</div>
|
43 |
+
|
44 |
+
</fieldset>
|
45 |
+
<fieldset>
|
46 |
+
<legend><?php _e('Theme settings:', _ABH_PLUGIN_NAME_); ?></legend>
|
47 |
+
<div class="abh_option_content">
|
48 |
+
<div class="abh_select">
|
49 |
+
<select name="abh_position">
|
50 |
+
<?php
|
51 |
+
if (isset($view->author['abh_position']))
|
52 |
+
$position = $view->author['abh_position'];
|
53 |
+
else
|
54 |
+
$position = 'default';
|
55 |
+
?>
|
56 |
+
<option value="default" <?php echo (($position == 'default') ? 'selected="selected"' : '') ?>><?php _e('Default', _ABH_PLUGIN_NAME_); ?></option>
|
57 |
+
<option value="up" <?php echo (($position == 'up') ? 'selected="selected"' : '') ?>><?php _e('Up', _ABH_PLUGIN_NAME_); ?></option>
|
58 |
+
<option value="down" <?php echo (($position == 'down') ? 'selected="selected"' : '') ?>><?php _e('Down', _ABH_PLUGIN_NAME_); ?></option>
|
59 |
+
</select>
|
60 |
+
</div>
|
61 |
+
<span><?php _e('The Author Box position', _ABH_PLUGIN_NAME_); ?></span>
|
62 |
+
</div>
|
63 |
+
|
64 |
+
<div class="abh_option_content">
|
65 |
+
|
66 |
+
<div class="abh_select">
|
67 |
+
<select id="abh_theme_select" name="abh_theme">
|
68 |
+
<?php
|
69 |
+
if (isset($view->author['abh_theme']))
|
70 |
+
$theme = $view->author['abh_theme'];
|
71 |
+
else
|
72 |
+
$theme = 'default';
|
73 |
+
|
74 |
+
foreach ($view->themes as $name) {
|
75 |
+
echo '<option value="' . $name . '" ' . (($theme == $name) ? 'selected="selected"' : '') . ' >' . ucfirst($name) . '</option>';
|
76 |
+
}
|
77 |
+
?>
|
78 |
+
</select>
|
79 |
+
</div>
|
80 |
+
<span><?php _e('This Author\'s theme', _ABH_PLUGIN_NAME_); ?></span>
|
81 |
+
|
82 |
+
</div>
|
83 |
+
|
84 |
+
<div class="abh_option_content" style="display: none">
|
85 |
+
<div class="abh_select">
|
86 |
+
<select id="abh_titlefontsize_select" name="abh_titlefontsize">
|
87 |
+
<?php
|
88 |
+
foreach (ABH_Classes_Tools::getOption('abh_titlefontsizes') as $name) {
|
89 |
+
echo '<option value="' . $name . '" ' . ((ABH_Classes_Tools::getOption('abh_titlefontsize') == $name) ? 'selected="selected"' : '') . ' >' . $name . '</option>';
|
90 |
+
}
|
91 |
+
?>
|
92 |
+
</select>
|
93 |
+
</div>
|
94 |
+
<span><?php _e('Choose the size of the name', _ABH_PLUGIN_NAME_); ?></span>
|
95 |
+
|
96 |
+
<div class="abh_select">
|
97 |
+
<select id="abh_descfontsize_select" name="abh_descfontsize">
|
98 |
+
<?php
|
99 |
+
foreach (ABH_Classes_Tools::getOption('abh_descfontsizes') as $name) {
|
100 |
+
echo '<option value="' . $name . '" ' . ((ABH_Classes_Tools::getOption('abh_descfontsize') == $name) ? 'selected="selected"' : '') . ' >' . $name . '</option>';
|
101 |
+
}
|
102 |
+
?>
|
103 |
+
</select>
|
104 |
+
</div>
|
105 |
+
<span><?php _e('Choose the size of the description', _ABH_PLUGIN_NAME_); ?></span>
|
106 |
+
</div>
|
107 |
+
|
108 |
+
<div id="abh_box_preview_title"><?php _e('Preview mode (change the theme)', _ABH_PLUGIN_NAME_); ?></div>
|
109 |
+
<div id="abh_box_preview"><?php
|
110 |
+
if ($theme == 'default')
|
111 |
+
$theme = ABH_Classes_Tools::getOption('abh_theme');
|
112 |
+
if (file_exists((_ABH_ALL_THEMES_DIR_ . $theme . '/js/frontend.js')))
|
113 |
+
echo '<script type="text/javascript" src="' . _ABH_ALL_THEMES_URL_ . $theme . '/js/frontend.js?ver=' . ABH_VERSION . '"></script>';
|
114 |
+
echo '<link rel="stylesheet" href="' . _ABH_ALL_THEMES_URL_ . $theme . '/css/frontend.css?ver=' . ABH_VERSION . '" type="text/css" media="all" />';
|
115 |
+
|
116 |
+
echo ABH_Classes_ObjController::getController('ABH_Controllers_Frontend')->showBox($view->user->ID);
|
117 |
+
?></div>
|
118 |
+
</fieldset>
|
119 |
+
<fieldset>
|
120 |
+
<legend><?php _e('Job settings:', _ABH_PLUGIN_NAME_); ?></legend>
|
121 |
+
<div>
|
122 |
+
<p><span><?php _e('Job Title:', _ABH_PLUGIN_NAME_); ?></span> <input type="text" name="abh_title" value="<?php echo $view->author['abh_title']; ?>" size="30" /></p>
|
123 |
+
<p><span><?php _e('Company:', _ABH_PLUGIN_NAME_); ?></span> <input type="text" name="abh_company" value="<?php echo $view->author['abh_company']; ?>" size="30" /></p>
|
124 |
+
<p><span><?php _e('Company URL:', _ABH_PLUGIN_NAME_); ?></span> <input type="text" name="abh_company_url" value="<?php echo $view->author['abh_company_url']; ?>" size="30" /></p>
|
125 |
+
<p class="abh_description_author"></p>
|
126 |
+
<p class="abh_show_extra_description" <?php echo (($view->author['abh_extra_description'] == '') ? '' : 'style="display: none"'); ?>><?php _e('add custom author bio >>', _ABH_PLUGIN_NAME_); ?></p>
|
127 |
+
<p class="abh_extra_description" <?php echo (($view->author['abh_extra_description'] <> '') ? '' : 'style="display: none"'); ?>>
|
128 |
+
<span> </span><span style="font-size:12px; font-weight: normal; margin-left: 15px; font-style: italic;"><?php _e('By adding text here, you will replace the above description with this one', _ABH_PLUGIN_NAME_); ?></span>
|
129 |
+
<br style="clear:both;" />
|
130 |
+
<span><?php _e('Author BIO:', _ABH_PLUGIN_NAME_); ?></span> <textarea id="abh_extra_description" name="abh_extra_description" ><?php echo $view->author['abh_extra_description']; ?></textarea>
|
131 |
+
<br style="clear:both;" />
|
132 |
+
<span> </span><a href="javascript:void(0);" onclick="jQuery('#abh_extra_description').val('')" style="font-size:12px; font-weight: normal; margin-left: 15px;"><?php _e('Clear the custom description and show the default description', _ABH_PLUGIN_NAME_); ?></a>
|
133 |
+
</p>
|
134 |
+
</div>
|
135 |
+
</fieldset>
|
136 |
+
<fieldset >
|
137 |
+
<legend><?php _e('Social settings:', _ABH_PLUGIN_NAME_); ?></legend>
|
138 |
+
|
139 |
+
<div id="abh_option_social" >
|
140 |
+
<p class="abh_social_text" style="height:30px; line-height: 30px;">
|
141 |
+
<span><?php _e('Social text (12 chars):', _ABH_PLUGIN_NAME_); ?></span>
|
142 |
+
<span ><input name="abh_socialtext" value="<?php echo $view->author['abh_socialtext']; ?>" size="30" maxlength="12" style="min-width: 100px; width: 100px;" /></span>
|
143 |
+
<span style="font-size:12px; font-weight: normal; font-style: italic; margin-left: 5px;"><?php _e('eq. "Follow me"', _ABH_PLUGIN_NAME_); ?></span>
|
144 |
+
</p>
|
145 |
+
<p><span class="abh_social_settings abh_twitter"></span><span><?php _e('Twitter:', _ABH_PLUGIN_NAME_); ?></span> <input type="text" name="abh_twitter" value="<?php echo $view->author['abh_twitter']; ?>" size="30" /></p>
|
146 |
+
<p><span class="abh_social_settings abh_facebook"></span><span><?php _e('Facebook:', _ABH_PLUGIN_NAME_); ?></span> <input type="text" name="abh_facebook" value="<?php echo $view->author['abh_facebook']; ?>" size="30" /></p>
|
147 |
+
<p style="font-size: 18px; color: red;"><?php echo sprintf(__('Need more Socials Links and High Priority support? Visit %sStarbox PRO%s', _ABH_PLUGIN_NAME_), '<a href="http://starbox.squirrly.co/product/starbox-the-author-box-for-humans/" target="_blank">', '</a>'); ?></p>
|
148 |
+
<div class="abh_option_content">
|
149 |
+
<div class="abh_switch">
|
150 |
+
<input id="abh_nofollow_social_on" type="radio" class="abh_switch-input" name="abh_nofollow_social" value="1" <?php echo ((!$view->author['abh_nofollow_social'] == 0) ? "checked" : '') ?> />
|
151 |
+
<label for="abh_nofollow_social_on" class="abh_switch-label abh_switch-label-off"><?php _e('Yes', _ABH_PLUGIN_NAME_); ?></label>
|
152 |
+
<input id="abh_nofollow_social_off" type="radio" class="abh_switch-input" name="abh_nofollow_social" value="0" <?php echo (($view->author['abh_nofollow_social'] == 0) ? "checked" : '') ?> />
|
153 |
+
<label for="abh_nofollow_social_off" class="abh_switch-label abh_switch-label-on"><?php _e('No', _ABH_PLUGIN_NAME_); ?></label>
|
154 |
+
<span class="abh_switch-selection"></span>
|
155 |
+
</div>
|
156 |
+
<span><?php _e('Add rel="nofollow" to Social links', _ABH_PLUGIN_NAME_); ?></span>
|
157 |
+
</div>
|
158 |
+
|
159 |
+
</div>
|
160 |
+
</fieldset>
|
161 |
+
|
162 |
+
<div id="abh_settings_title" > </div>
|
163 |
+
</div>
|
164 |
+
|
165 |
+
|
166 |
+
</div>
|
167 |
+
</div>
|
themes/admin/css/hidedefault.css
ADDED
@@ -0,0 +1 @@
|
|
|
1 |
+
.author-box,.article-author,.author-info,#entry-author-info,#author-bio-box,#cab-author,#authorarea,.author-wrap,#post-author{display:none}
|
themes/admin/css/menu.css
ADDED
@@ -0,0 +1 @@
|
|
|
1 |
+
.abh_message{line-height:19px;padding:0px 0;font-size:13px;text-align:center;margin:-1px 15px 0 5px;border-width:1px;border-style:solid;-webkit-border-bottom-right-radius:3px;-webkit-border-bottom-left-radius:3px;border-bottom-right-radius:3px;border-bottom-left-radius:3px;background-color:#FFFBCC;border-color:#E6DB55}.abh_notices{font-size:13px;color:#555}.abh_loading{height:60px;background:transparent url('../img/loading.gif') no-repeat center}.abh_minloading{height:20px;width:20px;background:transparent url('../img/minloading.gif') no-repeat center}.abh_error{text-align:center;font-size:14px;font-weight:bold;color:brown;margin:5px}#abh_settings{font-family:Arial, sans-serif;position:relative}#abh_settings #abh_settings_title{font-size:19px;font-weight:normal;line-height:35px;color:#333;margin:30px 15px 3px 0;padding-bottom:6px;height:auto;border-bottom:1px solid #CCC;box-shadow:0px 3px 12px -8px black;-moz-box-shadow:0px 3px 12px -8px black;-webkit-box-shadow:0px 3px 12px -8px black}#abh_settings #abh_settings_title a.abh_button,#abh_settings #abh_settings_title input.abh_button{display:inline-block;font-size:15px;font-weight:bold;color:white;background-color:green;border:1px solid white;border-radius:5px;line-height:25px;padding:5px 10px;margin:6px 0 0 20px;text-decoration:none;cursor:pointer}#abh_settings #abh_subscribe{font-size:16px;font-weight:bold;margin-bottom:3px}#abh_option_subscribe #abh_subscribe_social{float:none;width:320px;height:30px;clear:both;padding-top:3px}#abh_option_subscribe #abh_subscribe_social span{float:left}#abh_settings #abh_subscribe_email{background-color:lightgoldenrodyellow;border:1px solid #333;margin:5px 0 0 0;padding:7px;font-size:15px}#abh_settings #abh_subscribe_subscribe{margin-left:3px;padding:0 25px;height:33px;font-size:14px;color:green;font-weight:bold}#abh_settings #abh_subscribe_confirmation{color:green;font-size:17px;font-weight:bold;margin:20px 0}#abh_settings .abh_upload{float:left;margin:20px}#abh_settings .abh_upload_reset{float:left;clear:both;margin:5px 0}#abh_settings .abh_upload_reset input{margin-right:3px;margin-top:3px}#abh_settings .abh_upload input{float:left}#abh_settings .abh_upload #abh_gravatar_update{margin-top:0;height:32px;padding:0 20px}#abh_settings .abh_gravatar img{float:left;margin-top:5px;width:80px}#abh_settings #abh_settings_body{display:block;font-size:12px;color:#333;line-height:16px;text-align:left;margin-top:20px}#abh_settings_body #abh_settings_left,#abh_settings_body #abh_settings_right{float:left}#abh_settings_body #abh_settings_submit{clear:both}#abh_settings_body fieldset{min-width:400px;background:#fcfcfb;border:1px solid #f1f1f1;font-size:1.1em;margin:10px auto;padding:1em;font-family:Arial,Verdana,Helvetica,sans-serif;text-shadow:1px 1px white;border-radius:5px;-moz-border-radius:5px;-webkit-border-radius:5px;box-shadow:0 5px 9px -8px #999}#abh_settings_body #abh_settings_left fieldset{margin:10px 10px 22px 10px}#abh_settings_body #abh_settings_right fieldset{margin:10px 0px 22px 0px}#abh_settings_body fieldset legend{background:#fefefe repeat-x top left;border:1px solid #ddd;font-size:14px;font-weight:normal;margin:0;padding:.2em .5em;line-height:20px;text-align:left;color:#333;border-radius:5px;-moz-border-radius:5px;-webkit-border-radius:5px}#abh_settings_body span.abh_settings_info{clear:both;display:block;font-size:10px;width:100%;text-align:right}#abh_settings_body ul.abh_settings_info > span{display:block;color:#777;font-size:14px;font-weight:bold;margin-bottom:10px;list-style:none}#abh_settings_body ul.abh_settings_info li{margin-left:5px;font-size:11px;font-weight:normal;color:#777}#abh_settings_body fieldset p{vertical-align:top;margin:0.5em 0 0 0;padding:0 0 0.5em 0;font-weight:normal;font-size:12px;line-height:20px}#abh_settings_body #abh_option_social p{clear:both}#abh_settings_body #abh_option_social p.abh_social_text{height:30px;line-height:30px}#abh_settings_body fieldset p.withborder{clear:both;vertical-align:top;min-height:45px;margin:7px 0 10px 0;padding:0 0 10px 0;font-weight:normal;font-size:12px;border-bottom:1px dashed #CCC}#abh_settings_body fieldset p.withcode strong{display:block;font-size:10px;color:#333;margin-left:15px;margin-top:10px}#abh_settings_body fieldset p.withcode input[type=text]{width:170px;font-size:10px;margin:0;border:1px solid green}#abh_settings_body fieldset p.abh_show_extra_description{clear:both;color:green;cursor:pointer;font-size:12px;font-weight:bold;margin-bottom:5px}#abh_settings_body fieldset p.abh_extra_description{clear:both}#abh_settings_body fieldset p.abh_extra_description textarea{height:86px}#abh_settings_body fieldset .abh_icon{display:block;float:left;background:transparent url('../img/sprite.png') no-repeat;margin:0 10px 0 0;color:brown;width:55px;height:50px}#abh_settings_body fieldset .abh_icon_googleplus{background-position:-221px -100px}#abh_settings_body fieldset .abh_icon_googlewt{background-position:-112px -100px}#abh_settings_body fieldset .abh_icon_googleanalytics{background-position:0px -100px}#abh_settings_body fieldset .abh_icon_facebookinsights{background-position:-59px -100px}#abh_settings_body fieldset .abh_icon_bingwt{background-position:-165px -100px}#abh_settings_body fieldset .abh_icon_alexat{background-position:-270px -100px}#abh_settings_body fieldset p input,#abh_settings_body fieldset p textarea{font-weight:bold;margin-left:15px;padding:4px;border:1px solid lightgray;max-width:415px;min-width:370px}#abh_settings_body .abh_select{float:left;font-weight:bold;margin-right:5px}#abh_settings_body .abh_description textarea{min-width:400px}#abh_settings_body div p span{display:block;float:left;min-width:100px;padding-top:4px;font-size:14px}#abh_settings_body .abh_button{font-size:15px;font-weight:bold;line-height:25px;padding:1px 10px;margin-left:11px;margin-top:5px;background-color:green;color:white}#abh_settings_body a.abh_button{background:#999;padding:5px 11px;text-transform:none;text-decoration:none}#abh_settings_body .customize,#abh_settings_body ._customize{font-size:12px;font-weight:bold;color:blue;cursor:pointer}#abh_settings_body ._customize{margin-top:10px}@media only screen and (max-width: 1800px){#abh_settings_body #abh_settings_left,#abh_settings_body #abh_settings_right{float:none}}.abh_option_content{clear:both;padding:6px 0;height:30px}.abh_option_content > span{float:left;position:relative;padding-top:8px;display:block;vertical-align:middle;line-height:12px;font-size:14px;text-shadow:1px 1px #FFF}.abh_switch{float:left;position:relative;margin:0px 9px 0 0;height:26px;width:120px;background:rgba(0, 0, 0, 0.25);border-radius:3px;-webkit-box-shadow:inset 0 1px 3px rgba(0, 0, 0, 0.3), 0 1px rgba(255, 255, 255, 0.1);box-shadow:inset 0 1px 3px rgba(0, 0, 0, 0.3), 0 1px rgba(255, 255, 255, 0.1)}.abh_switch-label{position:relative;z-index:2;float:left;width:58px;line-height:26px;font-size:11px;color:rgba(255, 255, 255, 0.35);text-align:center;text-shadow:0 1px 1px rgba(0, 0, 0, 0.45);cursor:pointer}.abh_switch-label:active{font-weight:bold}.abh_switch-label-off{padding-left:2px}.abh_switch-label-on{padding-right:2px}.abh_switch-input{display:none !important}.abh_switch-input:checked + .abh_switch-label{font-weight:bold;color:rgba(0, 0, 0, 0.65);text-shadow:0px 1px rgba(255, 255, 255, 0.25);-webkit-transition:0.15s ease-out;-moz-transition:0.15s ease-out;-o-transition:0.15s ease-out;transition:0.15s ease-out}.abh_switch-input:checked + .abh_switch-label-on ~ .abh_switch-selection{left:60px;background:lightcoral}.abh_switch-selection{display:block;position:absolute;z-index:1;top:2px;left:2px;width:58px;height:22px;background:#65bd63;border-radius:3px;background-image:-webkit-linear-gradient(top, #9dd993, #65bd63);background-image:-moz-linear-gradient(top, #9dd993, #65bd63);background-image:-o-linear-gradient(top, #9dd993, #65bd63);background-image:linear-gradient(to bottom, #9dd993, #65bd63);-webkit-box-shadow:inset 0 1px rgba(255, 255, 255, 0.5), 0 0 2px rgba(0, 0, 0, 0.2);box-shadow:inset 0 1px rgba(255, 255, 255, 0.5), 0 0 2px rgba(0, 0, 0, 0.2);-webkit-transition:left 0.15s ease-out;-moz-transition:left 0.15s ease-out;-o-transition:left 0.15s ease-out;transition:left 0.15s ease-out}#abh_settings .abh_option_strictposts{float:left;clear:both;margin:4px 0 10px 1px}#abh_settings .abh_option_strictposts input{margin-right:3px;margin-top:3px}.abh_option_content_small{clear:both;padding:0px 0;height:20px}.abh_option_content > span.abh_option_info_small{line-height:20px;font-size:11px;color:#777}.abh_option_content_small .abh_switch{margin:0px 9px 0 0;height:18px;width:60px}.abh_option_content_small .abh_switch-label{width:28px;line-height:17px;font-size:9px}.abh_option_content_small .abh_switch-input:checked + .abh_switch-label-on ~ .abh_switch-selection{left:31px}.abh_option_content_small .abh_switch-selection{top:1px;left:1px;width:28px;height:16px}.abh_option_content_small > span{font-size:11px !important}.abh_social_settings{display:block;float:right;line-height:1px;padding:0;margin:0;text-align:right}.abh_social_settings{width:140px;margin:0 0 0 auto}.abh_social_settings{display:inline-block;background:transparent url('../img/sprite.png') no-repeat;min-width:24px !important;width:24px !important;height:24px !important;padding:0 !important;margin:1px 5px 0 0 !important;opacity:.5;transition:opacity .2s;text-decoration:none;-moz-transition:opacity .2s;-webkit-transition:opacity .2s;-o-transition:opacity .2s;border-radius:5px;-webkit-border-radius:5px;-moz-border-radius:5px}.abh_social_settings:hover{opacity:1}span.abh_facebook{background-position:0px 0px}span.abh_flickr{background-position:-24px 0px}span.abh_google{background-position:-48px 0px}span.abh_instagram{background-position:-72px 0px}span.abh_linkedin{background-position:-96px 0px}span.abh_pinterest{background-position:-120px 0px}span.abh_tumblr{background-position:-144px 0px}span.abh_twitter{background-position:-168px 0px}span.abh_vimeo{background-position:-192px 0px}span.abh_youtube{background-position:-216px 0px}span.abh_klout{background-position:-240px 0px;border-radius:5px 5px 0 0;-webkit-border-radius:5px 5px 0 0;-moz-border-radius:5px 5px 0 0}span.abh_klout_score{text-align:center;color:#fff;font-size:11px;background-position:-264px 0px;background-repeat:no-repeat;height:0px;padding:9px 0 15px 0;border-radius:5px 5px 0 0;-webkit-border-radius:5px 5px 0 0;-moz-border-radius:5px 5px 0 0}.abh_settings_rate{display:block;font-size:14px;width:350px;clear:both;cursor:pointer}.abh_settings_rate span{margin:3px 5px 0 0;float:left;display:block;width:104px;height:26px;background:transparent url('../img/sprite.png') no-repeat;background-position:0px -74px}#abh_box_preview_title{font-size:16px;margin-top:10px;font-weight:bold;color:orange;text-align:center;width:700px;width:600px;margin-left:115px}#abh_box_preview{position:relative;background-color:white;border:1px solid #eee;border-radius:5px;-moz-border-radius:5px;-webkit-border-radius:5px;width:600px;min-height:130px;padding:10px;margin-left:115px}#abh_box_preview .abh_box{margin:0 !important}
|
themes/admin/img/loading.gif
ADDED
Binary file
|
themes/admin/img/minloading.gif
ADDED
Binary file
|
themes/admin/img/sprite.png
ADDED
Binary file
|
themes/admin/js/menu.js
ADDED
@@ -0,0 +1,6 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
|
2 |
+
jQuery(document).ready(function(){jQuery('#abh_settings').find('input[type=radio]').bind('click',function(){abh_submitSettings();});jQuery('#abh_settings').find('.abh_show_extra_description').bind('click',function(){jQuery('#abh_settings').find('.abh_extra_description').show();jQuery('#abh_settings').find('.abh_show_extra_description').hide();});jQuery('form').attr('enctype','multipart/form-data');if(jQuery('#description').length>0){jQuery('#description').parents('.form-table:last').before(jQuery('#abh_settings'));jQuery('.abh_description_author').append('<table></table>');jQuery('.abh_description_author').find('table').append(jQuery('#description').parents('tr:last'));}
|
3 |
+
jQuery('#abh_subscribe_subscribe').bind('click',function(event){if(event)
|
4 |
+
event.preventDefault();if(abh_validateEmail(jQuery('#abh_subscribe_email').val())){jQuery.getJSON('https://api.squirrly.co/sq/users/subscribe?callback=?',{email:jQuery('#abh_subscribe_email').val(),url:jQuery('#abh_subscribe_url').val()},function(data){jQuery.getJSON(abh_Query.ajaxurl,{action:'abh_settings_subscribe',nonce:abh_Query.nonce});jQuery('#abh_option_subscribe').hide();jQuery('#abh_option_social').show();if(data.result=="success"){jQuery('#abh_option_social').prepend('<div id="abh_subscribe_confirmation">Thank you!</div>');}});}else{alert('The email is not valid! Please enter a valid email address. Thank you');}});jQuery('#abh_theme_select,#abh_titlefontsize_select, #abh_descfontsize_select').bind('change',function(){jQuery('#abh_box_preview').addClass('abh_loading');jQuery('#abh_box_preview').html('');jQuery.getJSON(abh_Query.ajaxurl,{action:'abh_get_box',user_id:jQuery('#user_id').val(),abh_theme:jQuery('#abh_theme_select').find(":selected").val(),abh_titlefontsize:jQuery('#abh_titlefontsize_select').find(":selected").val(),abh_descfontsize:jQuery('#abh_descfontsize_select').find(":selected").val(),nonce:abh_Query.nonce},function(data){jQuery('#abh_box_preview').removeClass('abh_loading');if(typeof data.box!=="undefined"){jQuery('#abh_box_preview').html(data.box);}});});jQuery('.abh_powered_by').bind('click',function(){jQuery.getJSON(abh_Query.ajaxurl,{action:'abh_powered_by',abh_powered_by:jQuery('#abh_settings').find('input[name=abh_powered_by]:checked').val(),nonce:abh_Query.nonce},function(){});});});function abh_validateEmail($email){var emailReg=/^([\w-\.]+@([\w-]+\.)+[\w-]{2,4})?$/;if(!emailReg.test($email)){return false;}else{return true;}}
|
5 |
+
function abh_submitSettings(){jQuery.getJSON(abh_Query.ajaxurl,{action:'abh_settings_update',data:jQuery('#abh_settings').find('form').serialize(),nonce:abh_Query.nonce});}
|
6 |
+
function abh_getBox(){}
|
themes/business/css/frontend.css
ADDED
@@ -0,0 +1 @@
|
|
|
1 |
+
.abh_box{clear:both !important;position:relative !important;width:100% !important;padding:25px 0 !important}.abh_tabs{list-style:none !important;width:100% !important;padding:5px 0px 1px 0px !important;margin:0px 0px 0px 0px !important;font:13px arial !important;border-bottom:1px solid #ccc !important}.abh_tabs li{list-style:none !important;display:inline !important;margin:0 !important;padding:0 !important}.abh_tabs li:after{content:"" !important;padding:0 !important;margin:0 !important}.abh_tabs li:before{content:"" !important;padding:0 !important;margin:0 !important}.abh_tabs li i{display:none}.abh_tabs li a{color:#333 !important;background-color:transparent !important;border:0px solid #ccc !important;padding:4px 10px 5px !important;text-decoration:none !important;border-bottom:none !important;outline:none !important;font-size:100% !important;line-height:23px !important}.abh_tabs li a:hover{background-color:#dddddd !important;padding:4px 10px 5px !important}.abh_tabs li.abh_active a{color:#333 !important;background-color:#eeeeee !important;border-bottom:1px solid #fff !important;padding:4px 10px 5px 10px !important;border-bottom:none !important}.abh_tabs li.abh_active a:hover{background-color:#eeeeee !important;padding:4px 10px 5px 10px !important;border-bottom:none !important}.abh_tabs li a.icon_accept{background-image:url(accept.png) !important;background-position:5px !important;background-repeat:no-repeat !important;padding-left:24px !important}.abh_tabs li a.icon_accept:hover{padding-left:24px !important}.abh_tabs_content_container{border:2px solid #ccc !important;border-top:none !important;padding:10px !important;width:400px !important}.abh_tab_content{padding:20px 12px !important;min-height:80px !important;overflow:hidden !important;border-bottom:1px solid #ccc !important}.abh_tab_content .abh_tab{display:none}.abh_tab_content .abh_image{display:block;float:left !important;width:80px !important;margin-top:10px !important}.abh_tab_content .abh_image img{max-width:80px !important;border-radius:3px !important;box-shadow:0 1px 4px rgba(0, 0, 0, 0.2) !important;overflow:hidden !important;-webkit-border-radius:50% 50% 50% 50% !important;-moz-border-radius:50% 50% 50% 50% !important;border-radius:50% 50% 50% 50% !important}.abh_tab_content .abh_text{margin-left:96px !important;font-size:100% !important;line-height:1.5 !important}.abh_tab_content .abh_text h3,.abh_tab_content .abh_text h4{font-size:20px !important;padding:0 !important;margin:0 !important;clear:none !important;font-weight:bold !important;text-align:left !important;line-height:20px !important}.abh_tab_content .abh_text .fn{text-transform:capitalize !important;clear:none !important;font-size:18px !important;line-height:24px !important;margin:0 !important;padding:0 !important;border:none !important}.abh_tab_content .abh_text a{font-size:100% !important;text-decoration:none !important}.abh_tab_content .abh_text .abh_job{font-size:13px !important;line-height:20px !important;font-size:100% !important}.abh_tab_content .abh_text .abh_job span{vertical-align:top !important;font-size:13px !important;margin-bottom:10px !important;background-image:none !important;padding:0 !important;margin:0 !important}.abh_tab_content .abh_text .abh_description{position:static !important;padding-top:6px !important;font-size:14px !important;width:100% !important}.abh_tab_content .abh_text .abh_allposts{font-size:11px !important;vertical-align:middle !important}.abh_tab_content .abh_text ul{list-style:none !important;padding:0 !important;margin:5px 0 0 15px !important}.abh_tab_content .abh_text ul li,.abh_tab_content .abh_text ul li span{font-size:13px !important;line-height:20px !important;margin:0 !important}.abh_tab_content .abh_social{display:block;float:right !important;line-height:1px !important;padding:0 !important;margin:3px 0 0 0 !important;text-align:right !important}.abh_tab_content .abh_social div{width:140px !important;margin:0 0 0 auto !important}.abh_tab_content .abh_social a{display:inline-block;background:transparent url('../img/sprite.png') no-repeat !important;width:24px !important;height:24px !important;margin:1px !important;padding:0 !important;opacity:.5 !important;transition:opacity .2s !important;text-decoration:none !important;-moz-transition:opacity .2s !important;-webkit-transition:opacity .2s !important;-o-transition:opacity .2s !important;border-radius:5px !important;-webkit-border-radius:5px !important;-moz-border-radius:5px !important}.abh_tab_content .abh_social a:hover{opacity:1 !important}.abh_tab_content .abh_social a.abh_facebook{background-position:0px 0px !important}.abh_tab_content .abh_social a.abh_flickr{background-position:-24px 0px !important}.abh_tab_content .abh_social a.abh_google{background-position:-48px 0px !important}.abh_tab_content .abh_social a.abh_instagram{background-position:-72px 0px !important}.abh_tab_content .abh_social a.abh_linkedin{background-position:-96px 0px !important}.abh_tab_content .abh_social a.abh_pinterest{background-position:-120px 0px !important}.abh_tab_content .abh_social a.abh_tumblr{background-position:-144px 0px !important}.abh_tab_content .abh_social a.abh_twitter{background-position:-168px 0px !important}.abh_tab_content .abh_social a.abh_vimeo{background-position:-192px 0px !important}.abh_tab_content .abh_social a.abh_youtube{background-position:-216px 0px !important}.abh_tab_content .abh_social a.abh_klout{background-position:-240px 0px !important;border-radius:5px 5px 0 0 !important;-webkit-border-radius:5px 5px 0 0 !important;-moz-border-radius:5px 5px 0 0 !important}.abh_tab_content .abh_social a.abh_klout_score{text-align:center !important;color:#fff !important;font-size:11px !important;background-position:-264px 0px !important;background-repeat:no-repeat !important;height:0px !important;padding:10px 0 15px 0 !important;border-radius:5px 5px 0 0 !important;-webkit-border-radius:5px 5px 0 0 !important;-moz-border-radius:5px 5px 0 0 !important;vertical-align:top !important;text-shadow:1px 1px #888 !important}.abh_box .vcard{background:none !important;font-size:100% !important;border:none !important}.abh_box .abh_pwb a{position:absolute !important;text-decoration:none !important;font-size:9px !important;color:#999 !important;right:0 !important;bottom:5px !important}
|
themes/business/img/sprite.png
ADDED
Binary file
|
themes/business/js/frontend.js
ADDED
@@ -0,0 +1,12 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
|
2 |
+
var abh_loadbox_loaded=false;(function($){$._getCookie=function(nombre){var dcookie=document.cookie;var cname=nombre+"=";var longitud=dcookie.length;var inicio=0;while(inicio<longitud)
|
3 |
+
{var vbegin=inicio+cname.length;if(dcookie.substring(inicio,vbegin)===cname)
|
4 |
+
{var vend=dcookie.indexOf(";",vbegin);if(vend===-1)
|
5 |
+
vend=longitud;return unescape(dcookie.substring(vbegin,vend));}
|
6 |
+
inicio=dcookie.indexOf(" ",inicio)+1;if(inicio===0)
|
7 |
+
break;}
|
8 |
+
return null;};$._setCookie=function(name,value){document.cookie=name+"="+value+"; expires="+(60*24)+"; path=/";};})(jQuery);function abh_loadbox(){abh_loadbox_loaded=true;jQuery(".abh_tabs li").click(function(event){event.preventDefault();jQuery(this).parents('.abh_box').find(".abh_tabs li").removeClass('abh_active');jQuery(this).addClass("abh_active");jQuery(this).parents('.abh_box').find(".abh_tab").hide();var selected_tab=jQuery(this).find("a").attr("href");jQuery(this).parents('.abh_box').find(selected_tab.replace('#','.')+'_tab').fadeIn();jQuery(this).parents('.abh_box').find(selected_tab.replace('#','.')+'_tab').parents('.abh_box').find(selected_tab.replace('#','.')).addClass("abh_active");jQuery._setCookie('abh_tab',selected_tab);return false;});if(jQuery._getCookie('abh_tab')!==null){jQuery(".abh_tab").hide();jQuery(".abh_tabs li").removeClass('abh_active');var selected_tab=jQuery._getCookie('abh_tab');jQuery(selected_tab.replace('#','.')+'_tab').fadeIn();jQuery(selected_tab.replace('#','.')).addClass("abh_active");}}
|
9 |
+
jQuery(document).ready(function(){if(abh_loadbox_loaded===false)
|
10 |
+
abh_loadbox();});var abh_timeout_loadbox=setTimeout(function(){if(abh_loadbox_loaded===false)
|
11 |
+
abh_loadbox();else
|
12 |
+
clearTimeout(abh_timeout_loadbox);},1000);
|
themes/drop-down/css/frontend.css
ADDED
@@ -0,0 +1 @@
|
|
|
1 |
+
.abh_box_down{margin:0px 0 15px 0 !important}.abh_box_up{margin:0 0 15px 0 !important}.abh_box{clear:both !important;position:relative !important;width:100% !important}.abh_tabs{display:none;position:absolute !important;top:57px !important;left:-3px !important;width:55px !important;list-style:none !important;padding:0px 0px 5px 0px !important;margin:0px !important;font:13px arial !important}.abh_tabs li{display:block;list-style:none !important;margin:0 !important;padding:0 !important;width:100% !important;text-align:center !important;line-height:11px !important;height:15px !important}.abh_tabs li:before{content:"" !important;padding:0 !important;margin:0 !important}.abh_tabs li a{font-size:10px !important;border:0px solid #ccc !important;text-decoration:none !important;border-bottom:none !important;padding:0px !important}.abh_tabs li.abh_active a{padding:0px !important}.abh_tabs li a.icon_accept{background-image:url(accept.png) !important;background-position:5px !important;background-repeat:no-repeat !important;padding-left:24px !important}.abh_tabs li a.icon_accept:hover{padding-left:24px !important}.abh_tabs_content_container{border:2px solid #ccc !important;border-top:none !important;padding:10px !important;width:400px !important}.abh_tab_content{padding:31px 0 10px 0 !important;margin-left:65px !important;min-height:10px !important;overflow:hidden !important;border-bottom:0px solid #ddd !important}.abh_tab_content .abh_tab{display:none;border:none !important}.abh_tab_content .abh_image{position:absolute !important;top:0 !important;left:0 !important;display:block;float:left !important;width:80px !important}.abh_tab_content .abh_image img{width:50px !important;height:50px !important;box-shadow:0 1px 4px rgba(0, 0, 0, 0.2) !important;overflow:hidden !important;-webkit-border-radius:50% 50% 50% 50% !important;-moz-border-radius:50% 50% 50% 50% !important;border-radius:50% 50% 50% 50% !important;cursor:pointer !important;padding:0 !important;margin:0 !important}.abh_tab_content .abh_text{margin-left:5px !important;line-height:1.5 !important}.abh_tab_content .abh_text h3,.abh_tab_content .abh_text h4{clear:none !important;font-weight:bold !important;position:absolute !important;top:11px !important;left:70px !important;text-transform:capitalize !important;text-align:left !important;clear:none !important;font-size:18px !important;line-height:1 !important;text-decoration:none !important;margin:0 !important;padding:0 0 7px 0 !important;border-bottom:1px solid #ddd !important;cursor:pointer !important}.abh_tab_content .abh_text h3 a:hover,.abh_tab_content .abh_text h4 a:hover{text-decoration:none !important}.abh_tab_content .abh_text h3 .abh_arrow{float:right !important;background:transparent url('../img/sprite.png') no-repeat !important;background-position:0% -29px !important;display:inline-block !important;font-size:14px !important;padding-right:0px !important;margin:0 !important;width:35px !important;height:17px !important}.abh_tab_content .abh_text h3 .abh_active{background-position:0% -49px !important}.abh_tab_content .abh_text a{line-height:20px;font-size:100% !important;text-decoration:none !important}.abh_tab_content .abh_text .abh_job{display:none;font-size:13px !important;font-weight:100 !important;line-height:35px !important}.abh_tab_content .abh_text .abh_job span{vertical-align:top !important;font-size:13px !important;margin-bottom:10px;background-image:none;padding:0;margin:0}.abh_tab_content .abh_description{display:none;position:static !important;width:100% !important;font-size:14px !important;margin:0 !important;width:100% !important}.abh_tab_content .abh_text .abh_allposts{display:none;font-size:11px !important;vertical-align:middle !important}.abh_tab_content .abh_text ul{list-style:none !important;padding:0 !important;margin:5px 0 0 10px !important}.abh_tab_content .abh_text ul li,.abh_tab_content .abh_text ul li span{font-size:13px !important;line-height:20px !important;margin:0 !important}.abh_tab_content .abh_social{display:none;float:right !important;width:140px !important;padding:0 !important;margin:0 !important;line-height:1px !important;text-align:right !important}.abh_tab_content .abh_social a{display:inline-block !important;background:transparent url('../img/sprite.png') no-repeat !important;width:24px !important;height:24px !important;margin:1px !important;padding:0 !important;opacity:.5 !important;transition:opacity .2s !important;-moz-transition:opacity .2s !important;-webkit-transition:opacity .2s !important;-o-transition:opacity .2s !important;border-radius:5px !important;-webkit-border-radius:5px !important;-moz-border-radius:5px !important}.abh_tab_content .abh_social a:hover{opacity:1 !important}.abh_tab_content .abh_social a.abh_facebook{background-position:0px 0px !important}.abh_tab_content .abh_social a.abh_flickr{background-position:-24px 0px !important}.abh_tab_content .abh_social a.abh_google{background-position:-48px 0px !important}.abh_tab_content .abh_social a.abh_instagram{background-position:-72px 0px !important}.abh_tab_content .abh_social a.abh_linkedin{background-position:-96px 0px !important}.abh_tab_content .abh_social a.abh_pinterest{background-position:-120px 0px !important}.abh_tab_content .abh_social a.abh_tumblr{background-position:-144px 0px !important}.abh_tab_content .abh_social a.abh_twitter{background-position:-168px 0px !important}.abh_tab_content .abh_social a.abh_vimeo{background-position:-192px 0px !important}.abh_tab_content .abh_social a.abh_youtube{background-position:-216px 0px !important}.abh_tab_content .abh_social a.abh_klout{background-position:-240px 0px !important;border-radius:5px 5px 0 0 !important;-webkit-border-radius:5px 5px 0 0 !important;-moz-border-radius:5px 5px 0 0 !important}.abh_tab_content .abh_social a.abh_klout_score{text-align:center !important;color:#fff !important;font-size:11px !important;background-position:-264px 0px !important;background-repeat:no-repeat !important;height:0px !important;padding:10px 0 15px 0 !important;text-decoration:none !important;border-radius:5px 5px 0 0 !important;-webkit-border-radius:5px 5px 0 0 !important;-moz-border-radius:5px 5px 0 0 !important;vertical-align:top !important;text-shadow:1px 1px #888 !important}.abh_box .vcard{background:none !important;font-size:100% !important;border:none !important}.abh_box .abh_pwb{display:none}.abh_box .abh_pwb a{position:absolute !important;text-decoration:none !important;font-size:9px !important;color:#999 !important;right:0 !important;bottom:-20px !important}
|
themes/drop-down/img/sprite.png
ADDED
Binary file
|
themes/drop-down/js/frontend.js
ADDED
@@ -0,0 +1,12 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
|
2 |
+
var abh_loadbox_loaded=false;(function($){$._getCookie=function(nombre){var dcookie=document.cookie;var cname=nombre+"=";var longitud=dcookie.length;var inicio=0;while(inicio<longitud)
|
3 |
+
{var vbegin=inicio+cname.length;if(dcookie.substring(inicio,vbegin)===cname)
|
4 |
+
{var vend=dcookie.indexOf(";",vbegin);if(vend===-1)
|
5 |
+
vend=longitud;return unescape(dcookie.substring(vbegin,vend));}
|
6 |
+
inicio=dcookie.indexOf(" ",inicio)+1;if(inicio===0)
|
7 |
+
break;}
|
8 |
+
return null;};$._setCookie=function(name,value){document.cookie=name+"="+value+"; expires="+(60*24)+"; path=/";};$.abh_showContent=function(obj){obj.find(".abh_tabs").show();obj.find(".abh_job").show();obj.find(".abh_allposts").show();obj.find(".abh_social").show();obj.find(".abh_pwb").show();obj.find(".abh_tab_content").css('border-bottom-width','1px');obj.find(".abh_tab_content h3").css('border-bottom-width','0px');obj.find(".abh_tab_content h4").css('border-bottom-width','0px');obj.find(".abh_description").slideDown('fast');obj.find(".abh_arrow").addClass('abh_active');};$.abh_hideContent=function(obj){obj.find(".abh_description").slideUp('fast',function(){obj.find(".abh_tabs").hide();obj.find(".abh_job").hide();obj.find(".abh_allposts").hide();obj.find(".abh_social").hide();obj.find(".abh_pwb").hide();obj.find(".abh_tab_content").css('border-bottom-width','0px');obj.find(".abh_tab_content h3").css('border-bottom-width','1px');obj.find(".abh_tab_content h4").css('border-bottom-width','1px');obj.find(".abh_arrow").removeClass('abh_active');});};})(jQuery);function abh_loadbox(){abh_loadbox_loaded=true;jQuery(".abh_tab_content .abh_image img, .abh_tab_content h4, .abh_tab_content h3").bind('click',function(event){event.preventDefault();if(jQuery(this).parents('.abh_box').find(".abh_tabs").is(':visible')){jQuery.abh_hideContent(jQuery(this).parents('.abh_box'));}else{jQuery.abh_showContent(jQuery(this).parents('.abh_box'));}});jQuery(".abh_tabs li").click(function(event){event.preventDefault();jQuery(".abh_tabs li").removeClass('abh_active');jQuery(this).addClass("abh_active");jQuery(this).parents('.abh_box').find(".abh_tab").hide();var selected_tab=jQuery(this).find("a").attr("href");jQuery(this).parents('.abh_box').find(selected_tab.replace('#','.')+'_tab').fadeIn();jQuery(this).parents('.abh_box').find(selected_tab.replace('#','.')+'_tab').parents('.abh_box').find(selected_tab.replace('#','.')).addClass("abh_active");jQuery._setCookie('abh_tab',selected_tab);return false;});jQuery(".abh_tab_content").find("h3").append('<span class="abh_arrow"></span>');}
|
9 |
+
jQuery(document).ready(function(){if(abh_loadbox_loaded===false)
|
10 |
+
abh_loadbox();});var abh_timeout_loadbox=setTimeout(function(){if(abh_loadbox_loaded===false)
|
11 |
+
abh_loadbox();else
|
12 |
+
clearTimeout(abh_timeout_loadbox);},1000);
|
themes/fancy/css/frontend.css
ADDED
@@ -0,0 +1 @@
|
|
|
1 |
+
.abh_box{clear:both !important;width:100% !important;padding:25px 0 !important;position:relative !important}.abh_tabs{list-style:none !important;width:100% !important;padding:5px 0px 0px 0px !important;margin:0px 0px 0px 0px !important;font:13px arial !important;border-bottom:1px solid #ccc !important}.abh_tabs li{list-style:none !important;display:inline !important;margin:0 !important;padding:0 !important}.abh_tabs li:after{content:"" !important;padding:0 !important;margin:0 !important}.abh_tabs li:before{content:"" !important;padding:0 !important;margin:0 !important}.abh_tabs li i{display:none}.abh_tabs li a{color:#333 !important;border:1px solid #ccc !important;padding:4px 10px 3px !important;text-decoration:none !important;background-color:#eeeeee !important;border-bottom:none !important;outline:none !important;border-radius:5px 5px 0 0 !important;-webkit-border-radius:5px 5px 0 0 !important;-moz-border-radius:5px 5px 0 0 !important;line-height:23px !important}.abh_tabs li a:hover{background-color:#dddddd !important;padding:4px 10px !important}.abh_tabs li.abh_active a{color:#333 !important;border-bottom:1px solid #fff !important;background-color:#fff !important;padding:4px 10px 5px 10px !important;border-bottom:none !important}.abh_tabs li.abh_active a:hover{background-color:#eeeeee !important;padding:4px 10px 5px 10px !important;border-bottom:none !important}.abh_tabs li a.icon_accept{background-image:url(accept.png) !important;background-position:5px !important;background-repeat:no-repeat !important;padding-left:24px !important}.abh_tabs li a.icon_accept:hover{padding-left:24px !important}.abh_tabs_content_container{border:2px solid #ccc !important;border-top:none !important;padding:10px !important;width:400px !important}.abh_tab_content{padding:12px !important;background:#fff !important;min-height:80px !important;overflow:hidden !important;border-left:1px solid #ccc !important;border-right:1px solid #ccc !important;border-bottom:1px solid #ccc !important;border-radius:0 0 5px 5px !important;-webkit-border-radius:0 0 5px 5px !important;-moz-border-radius:0 0 5px 5px !important}.abh_tab_content .abh_tab{display:none}.abh_tab_content .abh_image{display:block;float:left !important;width:80px !important}.abh_tab_content .abh_image img{max-width:80px !important;border-radius:3px !important;box-shadow:0 1px 4px rgba(0, 0, 0, 0.2) !important}.abh_tab_content .abh_text{margin-left:96px !important;line-height:1.5 !important}.abh_tab_content .abh_text h3,.abh_tab_content .abh_text h4{clear:none !important;font-size:20px !important;font-weight:bold !important;padding:0 !important;margin:0 !important;clear:none !important;font-weight:bold !important;text-align:left !important;line-height:20px !important}.abh_tab_content .abh_text .fn{text-transform:capitalize !important;clear:none !important;font-size:18px !important;color:#333 !important;line-height:1 !important;margin:0 !important;padding:0 !important;border:none !important}.abh_tab_content .abh_text .fn a{color:#333 !important}.abh_tab_content .abh_text a{text-decoration:none !important}.abh_tab_content .abh_text .abh_job{font-size:13px !important;line-height:20px !important;font-size:100% !important}.abh_tab_content .abh_text .abh_job span{vertical-align:top !important;font-size:13px !important;margin-bottom:10px !important;background-image:none !important;padding:0 !important;margin:0 !important}.abh_tab_content .abh_text .abh_description{position:static !important;padding-top:6px !important;font-size:14px !important;width:100% !important}.abh_tab_content .abh_text .abh_allposts{font-size:11px !important;vertical-align:middle !important}.abh_tab_content .abh_text ul{list-style:none !important;padding:0 !important;margin:5px 0 0 15px !important}.abh_tab_content .abh_text ul li,.abh_tab_content .abh_text ul li span{font-size:13px !important;line-height:20px !important;margin:0 !important}.abh_tab_content .abh_social{width:80px !important;clear:left !important;float:left !important;line-height:1px !important;padding:0 !important;margin:3px 0 0 0 !important;text-align:center !important}.abh_tab_content .abh_social div{width:auto !important}.abh_tab_content .abh_social a{display:inline-block !important;background:transparent url('../img/sprite.png') no-repeat !important;width:24px !important;height:24px !important;margin:1px !important;padding:0 !important;opacity:.5 !important;transition:opacity .2s !important;-moz-transition:opacity .2s !important;-webkit-transition:opacity .2s !important;-o-transition:opacity .2s !important;border-radius:5px !important;-webkit-border-radius:5px !important;-moz-border-radius:5px !important}.abh_tab_content .abh_social a:hover{opacity:1 !important}.abh_tab_content .abh_social a.abh_facebook{background-position:0px 0px !important}.abh_tab_content .abh_social a.abh_flickr{background-position:-24px 0px !important}.abh_tab_content .abh_social a.abh_google{background-position:-48px 0px !important}.abh_tab_content .abh_social a.abh_instagram{background-position:-72px 0px !important}.abh_tab_content .abh_social a.abh_linkedin{background-position:-96px 0px !important}.abh_tab_content .abh_social a.abh_pinterest{background-position:-120px 0px !important}.abh_tab_content .abh_social a.abh_tumblr{background-position:-144px 0px !important}.abh_tab_content .abh_social a.abh_twitter{background-position:-168px 0px !important}.abh_tab_content .abh_social a.abh_vimeo{background-position:-192px 0px !important}.abh_tab_content .abh_social a.abh_youtube{background-position:-216px 0px !important}.abh_tab_content .abh_social a.abh_klout{background-position:-240px 0px !important;border-radius:5px 5px 0 0 !important;-webkit-border-radius:5px 5px 0 0 !important;-moz-border-radius:5px 5px 0 0 !important}.abh_tab_content .abh_social a.abh_klout_score{text-align:center !important;color:#fff !important;font-size:11px !important;background-position:-264px 0px !important;background-repeat:no-repeat !important;height:0px !important;padding:10px 0 15px 0 !important;text-decoration:none !important;border-radius:5px 5px 0 0 !important;-webkit-border-radius:5px 5px 0 0 !important;-moz-border-radius:5px 5px 0 0 !important;vertical-align:top !important;text-shadow:1px 1px #888 !important}.abh_box .vcard{background:none !important;font-size:100% !important;border:none !important}.abh_box .abh_pwb a{position:absolute !important;text-decoration:none !important;font-size:9px !important;color:#999 !important;right:0 !important;bottom:5px !important}
|
themes/fancy/img/sprite.png
ADDED
Binary file
|
themes/fancy/js/frontend.js
ADDED
@@ -0,0 +1,12 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
|
2 |
+
var abh_loadbox_loaded=false;(function($){$._getCookie=function(nombre){var dcookie=document.cookie;var cname=nombre+"=";var longitud=dcookie.length;var inicio=0;while(inicio<longitud)
|
3 |
+
{var vbegin=inicio+cname.length;if(dcookie.substring(inicio,vbegin)===cname)
|
4 |
+
{var vend=dcookie.indexOf(";",vbegin);if(vend===-1)
|
5 |
+
vend=longitud;return unescape(dcookie.substring(vbegin,vend));}
|
6 |
+
inicio=dcookie.indexOf(" ",inicio)+1;if(inicio===0)
|
7 |
+
break;}
|
8 |
+
return null;};$._setCookie=function(name,value){document.cookie=name+"="+value+"; expires="+(60*24)+"; path=/";};})(jQuery);function abh_loadbox(){abh_loadbox_loaded=true;jQuery(".abh_tabs li").click(function(event){event.preventDefault();jQuery(this).parents('.abh_box').find(".abh_tabs li").removeClass('abh_active');jQuery(this).addClass("abh_active");jQuery(this).parents('.abh_box').find(".abh_tab").hide();var selected_tab=jQuery(this).find("a").attr("href");jQuery(this).parents('.abh_box').find(selected_tab.replace('#','.')+'_tab').fadeIn();jQuery(this).parents('.abh_box').find(selected_tab.replace('#','.')+'_tab').parents('.abh_box').find(selected_tab.replace('#','.')).addClass("abh_active");jQuery._setCookie('abh_tab',selected_tab);return false;});if(jQuery._getCookie('abh_tab')!==null){jQuery(".abh_tab").hide();jQuery(".abh_tabs li").removeClass('abh_active');var selected_tab=jQuery._getCookie('abh_tab');jQuery(selected_tab.replace('#','.')+'_tab').fadeIn();jQuery(selected_tab.replace('#','.')).addClass("abh_active");}}
|
9 |
+
jQuery(document).ready(function(){if(abh_loadbox_loaded===false)
|
10 |
+
abh_loadbox();});var abh_timeout_loadbox=setTimeout(function(){if(abh_loadbox_loaded===false)
|
11 |
+
abh_loadbox();else
|
12 |
+
clearTimeout(abh_timeout_loadbox);},1000);
|
themes/minimal/css/frontend.css
ADDED
@@ -0,0 +1 @@
|
|
|
1 |
+
.abh_box{clear:both !important;width:100% !important;padding:25px 0 !important;position:relative !important}.abh_tabs{display:none;list-style:none !important;width:100% !important;padding:5px 0px 5px 0px !important;margin:0px 0px 0px 0px !important;font:13px arial !important}.abh_tabs li{display:none;list-style:none !important;margin:0 !important;padding:0 !important}.abh_tabs li:before{content:"" !important;padding:0 !important;margin:0 !important}.abh_tabs li i{display:none}.abh_tabs li a{color:#333 !important;background-color:transparent !important;border:0px solid #ccc !important;padding:4px 10px 5px !important;text-decoration:none !important;border-bottom:none !important;outline:none !important}.abh_tabs li a:hover{background-color:#dddddd !important;padding:4px 10px 5px !important}.abh_tabs li.abh_active a{color:#333 !important;background-color:#eeeeee !important;border-bottom:1px solid #fff !important;padding:4px 10px 5px 10px !important;border-bottom:none !important}.abh_tabs li.abh_active a:hover{background-color:#eeeeee !important;padding:4px 10px 5px 10px !important;border-bottom:none !important}.abh_tabs li a.icon_accept{background-image:url(accept.png) !important;background-position:5px !important;background-repeat:no-repeat !important;padding-left:24px !important}.abh_tabs li a.icon_accept:hover{padding-left:24px !important}.abh_tabs_content_container{border:2px solid #ccc !important;border-top:none !important;padding:10px !important;width:400px !important}.abh_tab_content{padding:20px 12px !important;min-height:80px !important;overflow:hidden !important;border-top:1px solid #ccc !important;border-bottom:1px solid #ccc !important}.abh_tab_content .abh_tab{display:none}.abh_tab_content .abh_image{display:block;float:left !important;width:90px !important;margin:0px !important;padding:0 !important}.abh_tab_content .abh_image img{border-radius:3px !important;-webkit-border-radius:3px !important;-moz-border-radius:3px !important;box-shadow:none !important;overflow:hidden !important;border:1px solid #ddd !important;padding:5px !important;max-width:80px !important}.abh_tab_content .abh_text{margin-left:110px !important;line-height:1.5 !important}.abh_tab_content .abh_text h3,.abh_tab_content .abh_text h4{font-size:20px !important;padding:0 !important;margin:0 !important;clear:none !important;font-weight:bold !important;text-align:left !important;line-height:20px !important}.abh_tab_content .abh_text .fn{text-transform:capitalize !important;clear:none !important;font-size:18px !important;line-height:1 !important;margin:0 !important;padding:0 !important;border:none !important}.abh_tab_content .abh_text a{font-size:100% !important;text-decoration:none !important}.abh_tab_content .abh_text .abh_job{font-size:13px !important;line-height:20px !important;font-size:100% !important}.abh_tab_content .abh_text .abh_job span{font-size:13px !important;margin-bottom:10px !important;background-image:none !important;padding:0 !important;margin:0 !important}.abh_tab_content .abh_text .abh_description{position:static !important;padding-top:6px !important;font-size:13px !important;width:100% !important}.abh_tab_content .abh_text .abh_allposts{font-size:11px !important;vertical-align:middle !important}.abh_tab_content .abh_text ul{list-style:none !important;padding:0 !important;margin:5px 0 0 15px !important}.abh_tab_content .abh_text ul li,.abh_tab_content .abh_text ul li span{font-size:13px !important;line-height:20px !important;margin:0 !important}.abh_tab_content .abh_social{display:block;float:right !important;line-height:1px !important;padding:0 !important;margin:3px 0 0 0 !important;text-align:right !important}.abh_tab_content .abh_social div{width:140px !important;margin:0 0 0 auto !important}.abh_tab_content .abh_social a{display:inline-block !important;background:transparent url('../img/sprite.png') no-repeat !important;width:24px !important;height:24px !important;margin:1px !important;padding:0 !important;opacity:.5 !important;transition:opacity .2s !important;text-decoration:none !important;-moz-transition:opacity .2s !important;-webkit-transition:opacity .2s !important;-o-transition:opacity .2s !important;border-radius:5px !important;-webkit-border-radius:5px !important;-moz-border-radius:5px !important}.abh_tab_content .abh_social a:hover{opacity:1 !important}.abh_tab_content .abh_social a.abh_facebook{background-position:0px 0px !important}.abh_tab_content .abh_social a.abh_flickr{background-position:-24px 0px !important}.abh_tab_content .abh_social a.abh_google{background-position:-48px 0px !important}.abh_tab_content .abh_social a.abh_instagram{background-position:-72px 0px !important}.abh_tab_content .abh_social a.abh_linkedin{background-position:-96px 0px !important}.abh_tab_content .abh_social a.abh_pinterest{background-position:-120px 0px !important}.abh_tab_content .abh_social a.abh_tumblr{background-position:-144px 0px !important}.abh_tab_content .abh_social a.abh_twitter{background-position:-168px 0px !important}.abh_tab_content .abh_social a.abh_vimeo{background-position:-192px 0px !important}.abh_tab_content .abh_social a.abh_youtube{background-position:-216px 0px !important}.abh_tab_content .abh_social a.abh_klout{background-position:-240px 0px !important;border-radius:5px 5px 0 0 !important;-webkit-border-radius:5px 5px 0 0 !important;-moz-border-radius:5px 5px 0 0 !important}.abh_tab_content .abh_social a.abh_klout_score{text-align:center !important;color:#fff !important;font-size:11px !important;background-position:-264px 0px !important;background-repeat:no-repeat !important;height:0px !important;padding:10px 0 15px 0 !important;border-radius:5px 5px 0 0 !important;-webkit-border-radius:5px 5px 0 0 !important;-moz-border-radius:5px 5px 0 0 !important;vertical-align:top !important;text-shadow:1px 1px #888 !important}.abh_box .vcard{background:none !important;font-size:100% !important;border:none !important}.abh_box .abh_pwb a{position:absolute !important;text-decoration:none !important;font-size:9px !important;color:#999 !important;right:0 !important;bottom:5px !important}
|
themes/minimal/img/sprite.png
ADDED
Binary file
|
themes/topstar-round/css/frontend.css
ADDED
@@ -0,0 +1 @@
|
|
|
1 |
+
.abh_box_down{margin:0}.abh_box_up{margin:0}.abh_box{position:absolute;width:0;height:0}.abh_tabs{display:none;position:absolute;top:57px;left:-3px;width:55px;display:none;list-style:none;padding:0px 0px 5px 0px;margin:0px;font:13px arial}.abh_tabs li{display:block;width:100%;text-align:center;line-height:11px;height:15px}.abh_tabs li a{font-size:10px;border:0px solid #ccc;text-decoration:none;border-bottom:none;padding:0px}.abh_tabs li.abh_active a{padding:0px}.abh_tabs li a.icon_accept{background-image:url(accept.png);background-position:5px;background-repeat:no-repeat;padding-left:24px}.abh_tabs li a.icon_accept:hover{padding-left:24px}.abh_tabs_content_container{border:2px solid #ccc;border-top:none;padding:10px;width:400px}.abh_tab_content{display:block;position:absolute;width:80px;min-height:245px;top:-10px;left:-125px;text-align:right;padding:0;margin:0}.abh_tab_content .abh_tab{display:none}.abh_tab_content .abh_about{display:block}.abh_tab_content .abh_image{position:absolute;top:0;left:0;display:block;float:left}.abh_tab_content .abh_image img{max-width:100%;box-shadow:0 1px 4px rgba(0, 0, 0, 0.2);overflow:hidden;-webkit-border-radius:50% 50% 50% 50%;-moz-border-radius:50% 50% 50% 50%;border-radius:50% 50% 50% 50%;cursor:pointer}.abh_tab_content .abh_text{line-height:1.5}.abh_tab_content .abh_text h3,.abh_tab_content .abh_text h4{clear:both;font-weight:normal;text-transform:capitalize;text-align:center;font-size:12px;line-height:14px !important;text-decoration:none;margin:83px 0 0 0 !important;padding:0 0 4px 0;border-bottom:1px solid #ddd;cursor:pointer}.abh_tab_content .abh_text h3 a:hover,.abh_tab_content .abh_text h4 a:hover{text-decoration:none}.abh_tab_content .abh_text h3 .abh_arrow{float:right;background:transparent url('../img/sprite.png') no-repeat;background-position:0% -29px;display:inline-block;font-size:14px;padding-right:13px;margin:0;width:8px;height:17px}.abh_tab_content .abh_text h3 .abh_active{background-position:0% -49px}.abh_tab_content .abh_text .fn a{text-decoration:none}.abh_tab_content .abh_text .abh_job{display:none}.abh_tab_content .abh_text .abh_job span{font-size:13px;margin-bottom:15px}.abh_tab_content .abh_description{display:none;width:100%;margin-top:5px}.abh_tab_content .abh_text .abh_allposts{display:none;font-size:11px;vertical-align:middle}.abh_tab_content .abh_text ul{list-style:none;padding:0;margin:5px 0 0 10px}.abh_tab_content .abh_social{display:none;position:absolute;width:80px;top:130px;line-height:1px;padding:0;margin:3px 0 0 0;text-align:center}.abh_tab_content .abh_social div{width:auto !important}.abh_tab_content .abh_social a{display:inline-block;background:transparent url('../img/sprite.png') no-repeat;width:24px;height:24px;margin:1px !important;padding:0 !important;opacity:.5;transition:opacity .2s;-moz-transition:opacity .2s;-webkit-transition:opacity .2s;-o-transition:opacity .2s;border-radius:5px;-webkit-border-radius:5px;-moz-border-radius:5px}.abh_tab_content .abh_social a:hover{opacity:1}.abh_tab_content .abh_social a.abh_facebook{background-position:0px 0px}.abh_tab_content .abh_social a.abh_flickr{background-position:-24px 0px}.abh_tab_content .abh_social a.abh_google{background-position:-48px 0px}.abh_tab_content .abh_social a.abh_instagram{background-position:-72px 0px}.abh_tab_content .abh_social a.abh_linkedin{background-position:-96px 0px}.abh_tab_content .abh_social a.abh_pinterest{background-position:-120px 0px}.abh_tab_content .abh_social a.abh_tumblr{background-position:-144px 0px}.abh_tab_content .abh_social a.abh_twitter{background-position:-168px 0px}.abh_tab_content .abh_social a.abh_vimeo{background-position:-192px 0px}.abh_tab_content .abh_social a.abh_youtube{background-position:-216px 0px}.abh_tab_content .abh_social a.abh_klout{background-position:-240px 0px;border-radius:5px 5px 0 0;-webkit-border-radius:5px 5px 0 0;-moz-border-radius:5px 5px 0 0}.abh_tab_content .abh_social a.abh_klout_score{text-align:center;color:#fff;font-size:11px;background-position:-264px 0px;background-repeat:no-repeat;height:0px;padding:10px 0 15px 0 !important;text-decoration:none;border-radius:5px 5px 0 0;-webkit-border-radius:5px 5px 0 0;-moz-border-radius:5px 5px 0 0;vertical-align:top;text-shadow:1px 1px #888}.abh_box .vcard{background:none;font-size:100%;border:none}.abh_box .abh_pwb{display:none}
|
themes/topstar-round/img/sprite.png
ADDED
Binary file
|
themes/topstar-round/js/frontend.js
ADDED
@@ -0,0 +1,6 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
|
2 |
+
var abh_loadbox_loaded=false;function abh_loadbox(){abh_loadbox_loaded=true;jQuery(".abh_tab_content").mouseenter(function(){jQuery(this).find(".abh_social").stop().fadeIn('slow');}).mouseleave(function(){jQuery(this).find(".abh_social").stop().fadeOut('fast');});}
|
3 |
+
jQuery(document).ready(function(){if(abh_loadbox_loaded===false)
|
4 |
+
abh_loadbox();});var abh_timeout_loadbox=setTimeout(function(){if(abh_loadbox_loaded===false)
|
5 |
+
abh_loadbox();else
|
6 |
+
clearTimeout(abh_timeout_loadbox);},1000);
|
themes/topstar/css/frontend.css
ADDED
@@ -0,0 +1 @@
|
|
|
1 |
+
.abh_box_down{margin:0}.abh_box_up{margin:0}.abh_box{position:absolute;width:0;height:0}.abh_tabs{display:none;position:absolute;top:57px;left:-3px;width:55px;display:none;list-style:none;padding:0px 0px 5px 0px;margin:0px;font:13px arial}.abh_tabs li{display:block;width:100%;text-align:center;line-height:11px;height:15px}.abh_tabs li a{font-size:10px;border:0px solid #ccc;text-decoration:none;border-bottom:none;padding:0px}.abh_tabs li.abh_active a{padding:0px}.abh_tabs li a.icon_accept{background-image:url(accept.png);background-position:5px;background-repeat:no-repeat;padding-left:24px}.abh_tabs li a.icon_accept:hover{padding-left:24px}.abh_tabs_content_container{border:2px solid #ccc;border-top:none;padding:10px;width:400px}.abh_tab_content{display:block;position:absolute;width:80px;min-height:245px;top:-10px;left:-125px;text-align:right;padding:0;margin:0}.abh_tab_content .abh_tab{display:none}.abh_tab_content .abh_about{display:block}.abh_tab_content .abh_image{position:absolute;top:0;left:0;display:block;float:left}.abh_tab_content .abh_image img{max-width:100%;box-shadow:0 1px 4px rgba(0, 0, 0, 0.2);overflow:hidden;cursor:pointer}.abh_tab_content .abh_text{line-height:1.5}.abh_tab_content .abh_text h3,.abh_tab_content .abh_text h4{clear:both;font-weight:normal;text-transform:capitalize;text-align:right;font-size:12px;line-height:14px !important;text-decoration:none;margin:83px 0 0 0 !important;padding:0 0 4px 0;border-bottom:1px solid #ddd;cursor:pointer}.abh_tab_content .abh_text h3 a,.abh_tab_content .abh_text h4 a,.abh_tab_content .abh_text h3 a:hover,.abh_tab_content .abh_text h4 a:hover{text-decoration:none}.abh_tab_content .abh_text h3 .abh_arrow{float:right;background:transparent url('../img/sprite.png') no-repeat;background-position:0% -29px;display:inline-block;font-size:14px;padding-right:13px;margin:0;width:8px;height:17px}.abh_tab_content .abh_text h3 .abh_active{background-position:0% -49px}.abh_tab_content .abh_text .fn a{text-decoration:none}.abh_tab_content .abh_text .abh_job{display:none}.abh_tab_content .abh_text .abh_job span{font-size:13px;margin-bottom:15px}.abh_tab_content .abh_description{display:none;width:100%;margin-top:5px}.abh_tab_content .abh_text .abh_allposts{display:none;font-size:11px;vertical-align:middle}.abh_tab_content .abh_text ul{list-style:none;padding:0;margin:5px 0 0 10px}.abh_tab_content .abh_social{display:none;position:absolute;width:80px;top:130px;line-height:1px;padding:0;margin:3px 0 0 0;text-align:center}.abh_tab_content .abh_social div{width:auto !important}.abh_tab_content .abh_social a{display:inline-block;background:transparent url('../img/sprite.png') no-repeat;width:24px;height:24px;margin:1px !important;padding:0 !important;opacity:.5;transition:opacity .2s;-moz-transition:opacity .2s;-webkit-transition:opacity .2s;-o-transition:opacity .2s;border-radius:5px;-webkit-border-radius:5px;-moz-border-radius:5px}.abh_tab_content .abh_social a:hover{opacity:1}.abh_tab_content .abh_social a.abh_facebook{background-position:0px 0px}.abh_tab_content .abh_social a.abh_flickr{background-position:-24px 0px}.abh_tab_content .abh_social a.abh_google{background-position:-48px 0px}.abh_tab_content .abh_social a.abh_instagram{background-position:-72px 0px}.abh_tab_content .abh_social a.abh_linkedin{background-position:-96px 0px}.abh_tab_content .abh_social a.abh_pinterest{background-position:-120px 0px}.abh_tab_content .abh_social a.abh_tumblr{background-position:-144px 0px}.abh_tab_content .abh_social a.abh_twitter{background-position:-168px 0px}.abh_tab_content .abh_social a.abh_vimeo{background-position:-192px 0px}.abh_tab_content .abh_social a.abh_youtube{background-position:-216px 0px}.abh_tab_content .abh_social a.abh_klout{background-position:-240px 0px;border-radius:5px 5px 0 0;-webkit-border-radius:5px 5px 0 0;-moz-border-radius:5px 5px 0 0}.abh_tab_content .abh_social a.abh_klout_score{text-align:center;color:#fff;font-size:11px;background-position:-264px 0px;background-repeat:no-repeat;height:0px;padding:10px 0 15px 0 !important;text-decoration:none;border-radius:5px 5px 0 0;-webkit-border-radius:5px 5px 0 0;-moz-border-radius:5px 5px 0 0;vertical-align:top;text-shadow:1px 1px #888}.abh_box .vcard{background:none;font-size:100%;border:none}.abh_box .abh_pwb{display:none}
|
themes/topstar/img/sprite.png
ADDED
Binary file
|
themes/topstar/js/frontend.js
ADDED
@@ -0,0 +1,6 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
|
2 |
+
var abh_loadbox_loaded=false;function abh_loadbox(){abh_loadbox_loaded=true;jQuery(".abh_tab_content").mouseenter(function(){jQuery(this).find(".abh_social").stop().fadeIn('slow');}).mouseleave(function(){jQuery(this).find(".abh_social").stop().fadeOut('fast');});}
|
3 |
+
jQuery(document).ready(function(){if(abh_loadbox_loaded===false)
|
4 |
+
abh_loadbox();});var abh_timeout_loadbox=setTimeout(function(){if(abh_loadbox_loaded===false)
|
5 |
+
abh_loadbox();else
|
6 |
+
clearTimeout(abh_timeout_loadbox);},1000);
|
uninstall.php
ADDED
@@ -0,0 +1,14 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
/**
|
4 |
+
* Called on plugin uninstall
|
5 |
+
*/
|
6 |
+
if (!defined('ABSPATH') && !defined('WP_UNINSTALL_PLUGIN'))
|
7 |
+
exit();
|
8 |
+
|
9 |
+
/* Call config files */
|
10 |
+
require(dirname(__FILE__) . '/config/config.php');
|
11 |
+
|
12 |
+
/* Delete the record from database */
|
13 |
+
//delete_option(ABH_OPTION);
|
14 |
+
|