Current File : /home/resuelf/www/wp-content/plugins/starbox/core/UserSettings.php |
<?php defined('ABSPATH') || die('Cheatin\' uh?'); ?>
<?php
/**
* Affiliate settings
*/
class ABH_Core_UserSettings extends ABH_Classes_BlockController {
public $user;
public $author = array();
public $themes = array();
public function init($user = null) {
$this->user = $user;
if (isset($this->user->ID))
$this->author = ABH_Classes_Tools::getOption('abh_author' . $this->user->ID);
$default = array(
'abh_use' => 1,
'abh_nofollow_social' => 1,
'abh_noopener_social' => 0,
'abh_noreferrer_social' => 0,
// --
'abh_title' => "",
'abh_company' => "",
'abh_company_url' => "",
'abh_extra_description' => "",
// --
'abh_socialtext' => "",
'abh_twitter' => "",
'abh_facebook' => "",
'abh_google' => "",
'abh_linkedin' => "",
'abh_instagram' => "",
'abh_flickr' => "",
'abh_pinterest' => "",
'abh_tumblr' => "",
'abh_youtube' => "",
'abh_vimeo' => "",
'abh_klout' => "",
'abh_gravatar' => "",
'abh_theme' => "default",
'abh_position' => "default",
);
if (!isset($this->author) || empty($this->author)) {
$this->author = $default;
}else{
$this->author = @array_merge($default,$this->author);
}
$this->themes = @array_merge(array('default'), ABH_Classes_Tools::getOption('abh_themes'));
parent::init();
}
public function action() {
switch (ABH_CLasses_Tools::getValue('action')) {
//Update the user data in User Profile
case 'update':
case 'createuser':
$user_id = ABH_CLasses_Tools::getValue('user_id');
//Get the default settings
$settings = ABH_Classes_Tools::getOption('abh_author' . $user_id);
$settings['abh_use'] = (int)ABH_CLasses_Tools::getValue('abh_use');
$settings['abh_nofollow_social'] = (int)ABH_CLasses_Tools::getValue('abh_nofollow_social');
$settings['abh_noopener_social'] = (int)ABH_CLasses_Tools::getValue('abh_noopener_social');
$settings['abh_noreferrer_social'] = (int)ABH_CLasses_Tools::getValue('abh_noreferrer_social');
$settings['abh_title'] = ABH_CLasses_Tools::getValue('abh_title');
$settings['abh_company'] = ABH_CLasses_Tools::getValue('abh_company');
$settings['abh_company_url'] = ABH_CLasses_Tools::getValue('abh_company_url');
if (isset($_POST['abh_extra_description'])) {
$allowed_html = array(
'a' => array('href' => array(), 'target' => array(), 'title' => array(), 'style' => array(), 'class' => array()),
'img' => array('src' => array(), 'alt' => array(), 'style' => array(), 'class' => array()),
'br' => array(), 'p' => array(),
'em' => array(), 'b' => array(), 'strong' => array(),
'h2' => array(), 'h3' => array(), 'h4' => array(), 'h5' => array(), 'h6' => array(),
);
$settings['abh_extra_description'] = wp_unslash(trim(wp_kses($_POST['abh_extra_description'], $allowed_html)));
}
// --
$settings['abh_socialtext'] = ABH_CLasses_Tools::getValue('abh_socialtext');
$settings['abh_twitter'] = ABH_CLasses_Tools::getValue('abh_twitter');
$settings['abh_facebook'] = ABH_CLasses_Tools::getValue('abh_facebook');
$settings['abh_google'] = ABH_CLasses_Tools::getValue('abh_google');
$settings['abh_linkedin'] = ABH_CLasses_Tools::getValue('abh_linkedin');
$settings['abh_instagram'] = ABH_CLasses_Tools::getValue('abh_instagram');
$settings['abh_flickr'] = ABH_CLasses_Tools::getValue('abh_flickr');
$settings['abh_pinterest'] = ABH_CLasses_Tools::getValue('abh_pinterest');
$settings['abh_tumblr'] = ABH_CLasses_Tools::getValue('abh_tumblr');
$settings['abh_youtube'] = ABH_CLasses_Tools::getValue('abh_youtube');
$settings['abh_vimeo'] = ABH_CLasses_Tools::getValue('abh_vimeo');
// --
$settings['abh_theme'] = ABH_CLasses_Tools::getValue('abh_theme');
$settings['abh_position'] = ABH_CLasses_Tools::getValue('abh_position');
/* if there is an icon to upload */
if (isset($_FILES['abh_gravatar']['name']) && $_FILES['abh_gravatar']['name'] <> '') {
$return = $this->model->addImage($_FILES['abh_gravatar']);
if ($return['name'] <> '')
$settings['abh_gravatar'] = $return['name'];
if ($return['message'] <> '')
define('ABH_MESSAGE_FAVICON', $return['message']);
}
////////////////////////////////////
if (ABH_CLasses_Tools::getValue('abh_resetgravatar') == 1) {
$settings['abh_gravatar'] = '';
}
ABH_Classes_Tools::saveOptions('abh_author' . $user_id, $settings);
ABH_Classes_Tools::emptyCache();
ABH_Classes_Tools::checkErrorSettings();
/* Force call of error display */
ABH_Classes_ObjController::getController('ABH_Classes_Error')->hookNotices();
break;
case 'abh_get_box':
$user_id = ABH_CLasses_Tools::getValue('user_id');
$theme = ABH_CLasses_Tools::getValue('abh_theme');
ABH_CLasses_Tools::setOption('abh_titlefontsize', ABH_CLasses_Tools::getValue('abh_titlefontsize', 'default'));
ABH_CLasses_Tools::setOption('abh_descfontsize', ABH_CLasses_Tools::getValue('abh_descfontsize', 'default'));
if ($theme == 'default')
$theme = ABH_Classes_Tools::getOption('abh_theme');
$str = '';
$str .= '<script type="text/javascript" src="' . _ABH_ALL_THEMES_URL_ . $theme . '/js/frontend.js?ver=' . ABH_VERSION . '"></script>';
$str .= '<link rel="stylesheet" href="' . _ABH_ALL_THEMES_URL_ . $theme . '/css/frontend.css?ver=' . ABH_VERSION . '" type="text/css" media="all" />';
$str .= ABH_Classes_ObjController::getController('ABH_Controllers_Frontend')->showBox($user_id);
ABH_Classes_Tools::setHeader('json');
echo json_encode(array('box' => $str));
exit();
}
}
}