示例#1
0
 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();
 }
示例#2
0
 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();
 }
示例#3
0
 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();
 }
示例#4
0
 public function remove()
 {
     $res = new responseGmp();
     if (!$this->getModel()->remove(reqGmp::get('post'))) {
         $res->pushError($this->getModel()->getErrors());
     }
     return $res->ajaxExec();
 }
示例#5
0
 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');
 }
示例#6
0
 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();
 }
示例#7
0
 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();
 }
示例#8
0
 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();
 }
示例#9
0
 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();
 }
示例#10
0
 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();
 }
示例#11
0
 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();
 }
示例#12
0
 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();
 }
示例#13
0
 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();
 }