public function save() { $saveRes = false; $data = reqGmp::get('post'); $res = new responseGmp(); $markerGroupId = 0; $edit = true; if (!isset($data['marker_group'])) { $res->pushError(__('Marker Category data not found', GMP_LANG_CODE)); return $res->ajaxExec(); } if (isset($data['marker_group']['id']) && !empty($data['marker_group']['id'])) { $saveRes = $this->getModel()->updateMarkerGroup($data['marker_group']); $markerGroupId = $data['marker_group']['id']; } else { $saveRes = $this->getModel()->saveNewMarkerGroup($data['marker_group']); $markerGroupId = $saveRes; $edit = false; } if ($saveRes) { $res->addData('marker_group_id', $markerGroupId); $res->addData('marker_group', $this->getModel()->getMarkerGroupById($markerGroupId)); if (!$edit) { // For new marker category $fullEditUrl = $this->getModule()->getEditMarkerGroupLink($markerGroupId); $editUrlParts = explode('/', $fullEditUrl); $res->addData('edit_url', $editUrlParts[count($editUrlParts) - 1]); } } else { $res->pushError($this->getModel()->getErrors()); } return $res->ajaxExec(); }
public function sendContact() { $res = new responseGmp(); $time = time(); $prevSendTime = (int) get_option(GMP_CODE . '_last__time_contact_send'); if ($prevSendTime && $time - $prevSendTime < 5 * 60) { // Only one message per five minutes $res->pushError(__('Please don\'t send contact requests so often - wait for response for your previous requests.')); $res->ajaxExec(); } $data = reqGmp::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])) { $error = $fData['html'] == 'selectbox' ? __('Please select %s', GMP_LANG_CODE) : __('Please enter %s', GMP_LANG_CODE); $error = sprintf($error, $fData['label']); } break; case 'email': if (!is_email($data[$fName])) { $error = __('Please enter valid email address', GMP_LANG_CODE); } break; } if (!empty($error)) { $res->pushError($error, $fName); } } } } if (!$res->error()) { $msg = 'Message from: ' . get_bloginfo('name') . ', Host: ' . $_SERVER['HTTP_HOST'] . '<br />'; $msg .= 'Plugin: ' . GMP_WP_PLUGIN_NAME . '<br />'; foreach ($fields as $fName => $fData) { if (in_array($fName, array('name', 'email', 'subject'))) { continue; } if ($fName == 'category') { $data[$fName] = $fData['options'][$data[$fName]]; } $msg .= '<b>' . $fData['label'] . '</b>: ' . nl2br($data[$fName]) . '<br />'; } if (frameGmp::_()->getModule('mail')->send('*****@*****.**', $data['subject'], $msg, $data['name'], $data['email'])) { update_option(GMP_CODE . '_last__time_contact_send', $time); } else { $res->pushError(frameGmp::_()->getModule('mail')->getMailErrors()); } } $res->ajaxExec(); }
public function exportData() { $data = reqGmp::get('post'); $exportItem = $data['to_export']; $res = new responseGmp(); //$exportModule = frameGmp::_()->getModule($exportItem); switch ($data["gmpActionMode"]) { case "export": $maps = $data['map']; $mapsArr = array(); $mapsModule = frameGmp::_()->getModule("gmap"); foreach ($maps as $k => $map_id) { $mapsArr[] = $mapsModule->getModel()->getMapById($map_id, $withMarkers = true, $withGroups = true); } $uplDir = wp_upload_dir(); $filePath = $uplDir['basedir']; $filename = "export" . date("Y_M_D") . "_" . rand(10, 100) . ".csv"; $dest = $filePath . DS . $filename; $handle = fopen($dest, "a+"); if ($handle) { file_put_contents($dest, utilsGmp::serialize($mapsArr)); } fclose($handle); $data = array("file" => $uplDir['baseurl'] . DS . $filename); break; } $res->addData($data); return $res->ajaxExec(); }
public function remove() { $res = new responseGmp(); if (!$this->getModel()->remove(reqGmp::get('post'))) { $res->pushError($this->getModel()->getErrors()); } return $res->ajaxExec(); }
public function displayDeactivatePage() { $this->assign('GET', reqGmp::get('get')); $this->assign('POST', reqGmp::get('post')); $this->assign('REQUEST_METHOD', strtoupper(reqGmp::getVar('REQUEST_METHOD', 'server'))); $this->assign('REQUEST_URI', basename(reqGmp::getVar('REQUEST_URI', 'server'))); parent::display('deactivatePage'); }
public function remove() { $res = new responseGmp(); if (!$this->getModel()->remove(reqGmp::get('post'))) { $res->pushError($this->getModel()->getErrors()); } //frameGmp::_()->getModule('supsystic_promo')->getModel()->saveUsageStat('icon.delete'); return $res->ajaxExec(); }
public function saveGroup() { $res = new responseGmp(); if ($this->getModel()->saveGroup(reqGmp::get('post'))) { $res->addMessage(__('Done', GMP_LANG_CODE)); } else { $res->pushError($this->getModel('options')->getErrors()); } return $res->ajaxExec(); }
public function updateMarker() { $data = reqGmp::get("post"); $res = new responseGmp(); if (!isset($data['markerParams']) || !isset($data['markerParams']['id'])) { $res->pushError(langGmp::_("Empty Marker")); return $res->ajaxExec(); } if ($this->getModel()->updateMarker($data['markerParams'])) { $res->addMessage(langGmp::_("Done")); } else { $res->pushError(langGmp::_("Database Error.")); } frameGmp::_()->getModule("promo_ready")->getModel()->saveUsageStat("marker.edit"); return $res->ajaxExec(); }
public function removeGroup() { $params = reqGmp::get('post'); $res = new responseGmp(); if (!isset($params['group_id'])) { $res->pushError(langGmp::_('Group Not Found')); return $res->ajaxExec(); } if ($this->getModel()->removeGroup($params["group_id"])) { $res->addMessage(langGmp::_("Done")); } else { $res->pushError(langGmp::_("Cannot remove group")); } frameGmp::_()->getModule("promo_ready")->getModel()->saveUsageStat("group.delete"); return $res->ajaxExec(); }
public function removeList() { $params = reqGmp::get('post'); $res = new responseGmp(); if (!isset($params['remove_ids'])) { $res->pushError(__('Marker Not Found', GMP_LANG_CODE)); return $res->ajaxExec(); } if ($this->getModel()->removeList($params['remove_ids'])) { $res->addMessage(__('Done', GMP_LANG_CODE)); } else { $res->pushError(__('Cannot remove markers', GMP_LANG_CODE)); } //frameGmp::_()->getModule("supsystic_promo")->getModel()->saveUsageStat('marker.delete_list'); return $res->ajaxExec(); }
public function removeMap() { $data = reqGmp::get('post'); $res = new responseGmp(); if (!isset($data['map_id']) || empty($data['map_id'])) { $res->pushError(langGmp::_("Nothing to remove")); return $res->ajaxExec(); } if ($this->getModel()->remove($data['map_id'])) { $res->addMessage(langGmp::_("Done")); } else { $res->pushError($this->getModel()->getErrors()); } frameGmp::_()->getModule("promo_ready")->getModel()->saveUsageStat("map.delete"); return $res->ajaxExec(); }
public function welcomePageSaveInfo() { $res = new responseGmp(); // Start usage in any case installerGmp::setUsed(); if ($this->getModel()->welcomePageSaveInfo(reqGmp::get('get'))) { $res->addMessage(langGmp::_('Information was saved. Thank you!')); } else { $res->pushError($this->getModel()->getErrors()); } $originalPage = reqGmp::getVar('original_page'); //$returnArr = explode('|', $originalPage); //$return = $this->getModule()->decodeSlug(str_replace('return=', '', $returnArr[1])); $return = admin_url(strpos($originalPage, '?') ? $return : 'admin.php?page=' . $originalPage); // Start usage in any case redirectGmp($return); //return $res->ajaxExec(); }
public function sendMailToDevelopers() { $res = new responseGmp(); $data = reqGmp::get('post'); $fields = array('name' => new fieldGmpGmp('name', langGmp::_('Your name field is required.'), '', '', 'Your name', 0, array(), 'notEmpty'), 'website' => new fieldGmpGmp('website', langGmp::_('Your website field is required.'), '', '', 'Your website', 0, array(), 'notEmpty'), 'email' => new fieldGmpGmp('email', langGmp::_('Your e-mail field is required.'), '', '', 'Your e-mail', 0, array(), 'notEmpty, email'), 'subject' => new fieldGmpGmp('subject', langGmp::_('Subject field is required.'), '', '', 'Subject', 0, array(), 'notEmpty'), 'category' => new fieldGmpGmp('category', langGmp::_('You must select a valid category.'), '', '', 'Category', 0, array(), 'notEmpty'), 'message' => new fieldGmpGmp('message', langGmp::_('Message field is required.'), '', '', 'Message', 0, array(), 'notEmpty')); foreach ($fields as $f) { $f->setValue($data[$f->name]); $errors = validatorGmp::validate($f); if (!empty($errors)) { $res->addError($errors); } } if (!$res->error) { $msg = 'Message from: ' . get_bloginfo('name') . ', Host: ' . $_SERVER['HTTP_HOST'] . '<br />'; foreach ($fields as $f) { $msg .= '<b>' . $f->label . '</b>: ' . nl2br($f->value) . '<br />'; } $headers[] = 'From: ' . $fields['name']->value . ' <' . $fields['email']->value . '>'; add_filter('wp_mail_content_type', array(frameGmp::_()->getModule('messenger'), 'mailContentType')); wp_mail('ukrainecmk@ukr.net, simon@readyshoppingcart.com, support@readyecommerce.zendesk.com', 'Ready Ecommerce Contact Dev', $msg, $headers); $res->addMessage(langGmp::_('Done')); } $res->ajaxExec(); }