File "controller.php"
Full Path: /home/vantageo/public_html/cache/cache/cache/cache/cache/cache/cache/.wp-cli/wp-content/plugins/woo-product-filter/modules/promo/controller.php
File size: 5.42 KB
MIME-type: text/x-php
Charset: utf-8
<?php
class PromoControllerWpf extends ControllerWpf {
public function welcomePageSaveInfo() {
$res = new ResponseWpf();
InstallerWpf::setUsed();
if ($this->getModel()->welcomePageSaveInfo(ReqWpf::get('get'))) {
$res->addMessage(esc_html__('Information was saved. Thank you!', 'woo-product-filter'));
} else {
$res->pushError($this->getModel()->getErrors());
}
$originalPage = ReqWpf::getVar('original_page');
$http = isset($_SERVER['HTTPS']) && !empty($_SERVER['HTTPS']) ? 'https://' : 'http://';
if ( strpos($originalPage, $http . ( empty($_SERVER['HTTP_HOST']) ? '' : sanitize_text_field($_SERVER['HTTP_HOST']) ) ) !== 0 ) {
$originalPage = '';
}
redirectWpf($originalPage);
}
public function sendContact() {
$res = new ResponseWpf();
$time = time();
$prevSendTime = (int) get_option(WPF_CODE . '_last__time_contact_send');
if ( $prevSendTime && ( $time - $prevSendTime ) < 5 * 60 ) { // Only one message per five minutes
$res->pushError(esc_html__('Please don\'t send contact requests so often - wait for response for your previous requests.', 'woo-product-filter'));
$res->ajaxExec();
}
$data = ReqWpf::get('post');
$fields = $this->getModule()->getContactFormFields();
foreach ($fields as $fName => $fData) {
$validate = isset($fData['validate']) ? $fData['validate'] : false;
$data[ $fName ] = isset($data[ $fName ]) ? trim($data[ $fName ]) : '';
if ($validate) {
$error = '';
foreach ($validate as $v) {
if (!empty($error)) {
break;
}
switch ($v) {
case 'notEmpty':
if (empty($data[ $fName ])) {
/* translators: %s: label */
$error = 'selectbox' == $fData['html'] ? esc_html__('Please select %s', 'woo-product-filter') : esc_html__('Please enter %s', 'woo-product-filter');
$error = sprintf($error, $fData['label']);
}
break;
case 'email':
if (!is_email($data[ $fName ])) {
$error = esc_html__('Please enter valid email address', 'woo-product-filter');
}
break;
}
if (!empty($error)) {
$res->pushError($error, $fName);
}
}
}
}
if (!$res->error()) {
$msg = 'Message from: ' . get_bloginfo('name') . ', Host: ' . ( empty($_SERVER['HTTP_HOST']) ? '' : sanitize_text_field($_SERVER['HTTP_HOST']) ) . '<br />';
$msg .= 'Plugin: ' . WPF_WP_PLUGIN_NAME . '<br />';
foreach ($fields as $fName => $fData) {
if (in_array($fName, array('name', 'email', 'subject'))) {
continue;
}
if ('category' == $fName) {
$data[ $fName ] = $fData['options'][ $data[ $fName ] ];
}
$msg .= '<b>' . $fData['label'] . '</b>: ' . nl2br($data[ $fName ]) . '<br />';
}
/*if (FrameWpf::_()->getModule('mail')->send('support@supsystic.zendesk.com', $data['subject'], $msg, $data['name'], $data['email'])) {
update_option(WPF_CODE . '_last__time_contact_send', $time);
} else {
$res->pushError( FrameWpf::_()->getModule('mail')->getMailErrors() );
}*/
}
$res->ajaxExec();
}
public function addNoticeAction() {
$res = new ResponseWpf();
$code = ReqWpf::getVar('code', 'post');
$choice = ReqWpf::getVar('choice', 'post');
if (!empty($code) && !empty($choice)) {
$optModel = FrameWpf::_()->getModule('options')->getModel();
switch ($choice) {
case 'hide':
$optModel->save('hide_' . $code, 1);
break;
case 'later':
$optModel->save('later_' . $code, time());
break;
case 'done':
$optModel->save('done_' . $code, 1);
if ('enb_promo_link_msg' == $code) {
$optModel->save('add_love_link', 1);
}
break;
}
$this->getModel()->saveUsageStat($code . '.' . $choice, true);
$this->getModel()->checkAndSend( true );
}
$res->ajaxExec();
}
public function addTourStep() {
$res = new ResponseWpf();
if ($this->getModel()->addTourStep(ReqWpf::get('post'))) {
$res->addMessage(esc_html__('Information was saved. Thank you!', 'woo-product-filter'));
} else {
$res->pushError($this->getModel()->getErrors());
}
$res->ajaxExec();
}
public function closeTour() {
$res = new ResponseWpf();
if ($this->getModel()->closeTour(ReqWpf::get('post'))) {
$res->addMessage(esc_html__('Information was saved. Thank you!', 'woo-product-filter'));
} else {
$res->pushError($this->getModel()->getErrors());
}
$res->ajaxExec();
}
public function addTourFinish() {
$res = new ResponseWpf();
if ($this->getModel()->addTourFinish(ReqWpf::get('post'))) {
$res->addMessage(esc_html__('Information was saved. Thank you!', 'woo-product-filter'));
} else {
$res->pushError($this->getModel()->getErrors());
}
$res->ajaxExec();
}
public function saveDeactivateData() {
$res = new ResponseWpf();
if ($this->getModel()->saveDeactivateData(ReqWpf::get('post'))) {
$res->addMessage(esc_html__('Thank you for Feedback!', 'woo-product-filter'));
} else {
$res->pushError($this->getModel()->getErrors());
}
$res->ajaxExec();
}
public function enbStatsOpt() {
$res = new ResponseWpf();
FrameWpf::_()->getModule('options')->getModel()->save('send_stats', 1);
$res->ajaxExec();
}
public function getPermissions() {
return array(
WPF_USERLEVELS => array(
WPF_ADMIN => array('welcomePageSaveInfo', 'sendContact', 'addNoticeAction',
'addStep', 'closeTour', 'addTourFinish', 'saveDeactivateData', 'enbStatsOpt')
),
);
}
}