예제 #1
0
파일: webapi.php 프로젝트: tlandn/akvo-web
 public function delete_feeds($feed_ids, $form_id = null)
 {
     self::authorize("gravityforms_edit_forms");
     $count = 0;
     if (empty($feed_ids)) {
         $feeds = GFAPI::get_feeds(null, $form_id);
         foreach ($feeds as $feed) {
             $result = GFAPI::delete_feed($feed["id"]);
             if (is_wp_error($result)) {
                 break;
             }
             $count++;
         }
     } else {
         if (is_array($feed_ids)) {
             foreach ($feed_ids as $feed_id) {
                 $result = GFAPI::delete_feed($feed_id);
                 if (is_wp_error($result)) {
                     break;
                 }
                 $count++;
             }
         } else {
             $result = GFAPI::delete_feed($feed_ids);
             $count++;
         }
     }
     if (isset($result) && is_wp_error($result)) {
         $response = $this->get_error_response($result);
         $status = $this->get_error_status($result);
     } else {
         $status = 200;
         $response = sprintf(__("Feeds deleted successfully: %d", "gravityforms"), $count);
     }
     $this->end($status, $response);
 }
 public function registerInitScripts($form, $field_values, $is_ajax)
 {
     if (!$this->has_feed($form['id'])) {
         return;
     }
     $feeds = GFAPI::get_feeds(null, $form['id']);
     $feed = $feeds[0];
     $cc_field = $this->get_credit_card_field($form);
     $args = array('apiKey' => $this->getPublicApiKey($feed), 'formId' => $form['id'], 'ccFieldId' => $cc_field['id'], 'ccPage' => rgar($cc_field, 'pageNumber'), 'isAjax' => $is_ajax);
     $script = 'new SecureSubmit(' . json_encode($args) . ');';
     GFFormDisplay::add_init_script($form['id'], 'securesubmit', GFFormDisplay::ON_PAGE_RENDER, $script);
 }
예제 #3
0
 public function delete_feeds($feed_ids, $form_id = null)
 {
     $this->log_debug(__METHOD__ . '(): Running.');
     $capability = apply_filters('gform_web_api_capability_delete_feeds', 'gravityforms_edit_forms');
     $this->authorize($capability);
     $count = 0;
     if (empty($feed_ids)) {
         $feeds = GFAPI::get_feeds(null, $form_id);
         foreach ($feeds as $feed) {
             $result = GFAPI::delete_feed($feed['id']);
             if (is_wp_error($result)) {
                 break;
             }
             $count++;
         }
     } else {
         if (is_array($feed_ids)) {
             foreach ($feed_ids as $feed_id) {
                 $result = GFAPI::delete_feed($feed_id);
                 if (is_wp_error($result)) {
                     break;
                 }
                 $count++;
             }
         } else {
             $result = GFAPI::delete_feed($feed_ids);
             $count++;
         }
     }
     if (isset($result) && is_wp_error($result)) {
         $response = $this->get_error_response($result);
         $status = $this->get_error_status($result);
     } else {
         $status = 200;
         $response = sprintf(__('Feeds deleted successfully: %d', 'gravityforms'), $count);
     }
     $this->end($status, $response);
 }
 /**
  * Determines if a form has an active feed with the transactionType of product. If an entry is supplied the feed condition is also checked.
  *
  * @param array $form
  * @param array $entry
  *
  * @return bool
  */
 public function has_product_feed($form = array(), $entry = array())
 {
     if (empty($form)) {
         $form = $this->get_current_form();
     }
     $feeds = GFAPI::get_feeds(null, $form['id']);
     foreach ($feeds as $feed) {
         if (rgars($feed, 'meta/transactionType') == 'product') {
             if (!empty($entry) && !$this->is_feed_condition_met($feed, $form, $entry)) {
                 continue;
             }
             return true;
         }
     }
     return false;
 }