Exemplo n.º 1
0
 public function finish_step()
 {
     $transaction = $this->get_transaction();
     $messages = $this->messages;
     $send_email = false;
     if (is_null($transaction)) {
         $message = __('We were unable to find a Payment Transaction assigned to this operation.', 'AWPCP');
         return $this->render('content', awpcp_print_error($message));
     }
     $ad = AWPCP_Ad::find_by_id($transaction->get('ad-id', 0));
     if (is_null($ad)) {
         $message = __('The Ad associated with this transaction doesn\'t exists.', 'AWPCP');
         return $this->render('content', awpcp_print_error($message));
     }
     if (!$transaction->is_completed()) {
         awpcp_payments_api()->set_transaction_status_to_completed($transaction, $errors);
         if (!empty($errors)) {
             return $this->render('content', join(',', array_map('awpcp_print_error', $errors)));
         }
         $transaction->save();
     }
     // reload Ad, since modifications were probably made as part of the
     // transaction handling workflow
     $ad = AWPCP_Ad::find_by_id($transaction->get('ad-id', 0));
     $params = array('edit' => false, 'ad' => $ad, 'messages' => array_merge($messages, awpcp_listings_api()->get_ad_alerts($ad)), 'transaction' => $transaction, 'transaction_id' => $transaction->id);
     $template = AWPCP_DIR . '/frontend/templates/page-place-ad-finish-step.tpl.php';
     return $this->render($template, $params);
 }
Exemplo n.º 2
0
 /**
  * Single entry point for AWPCP plugin.
  *
  * This is functional but still a work in progress...
  */
 public function setup()
 {
     global $wpdb;
     if (!$this->is_up_to_date()) {
         $this->installer->install_or_upgrade();
         // we can't call flush_rewrite_rules() because
         // $wp_rewrite is not available yet. It is initialized
         // after plugins_load hook is executed.
         $this->flush_rewrite_rules = true;
     }
     if (!$this->is_up_to_date()) {
         return;
     }
     $this->setup_register_settings_handlers();
     // Ad metadata integration.
     $wpdb->awpcp_admeta = AWPCP_TABLE_AD_META;
     $this->settings->setup();
     $this->modules_manager = awpcp_modules_manager();
     $this->modules_updater = awpcp_modules_updater();
     $this->payments = awpcp_payments_api();
     $this->listings = awpcp_listings_api();
     $this->admin = new AWPCP_Admin();
     $this->panel = new AWPCP_User_Panel();
     $this->compatibility = new AWPCP_Compatibility();
     $this->compatibility->load_plugin_integrations();
     add_action('generate_rewrite_rules', array($this, 'clear_categories_list_cache'));
     add_action('init', array($this, 'init'));
     add_action('init', array($this, 'register_custom_style'), 1000000);
     add_action('admin_init', array($this, 'check_compatibility_with_premium_modules'));
     add_action('admin_notices', array($this, 'admin_notices'));
     add_action('admin_notices', array($this->modules_manager, 'show_admin_notices'));
     add_action('awpcp_register_settings', array($this, 'register_settings'));
     add_action('awpcp-register-payment-term-types', array($this, 'register_payment_term_types'));
     add_action('awpcp-register-payment-methods', array($this, 'register_payment_methods'));
     add_filter('pre_set_site_transient_update_plugins', array($this->modules_updater, 'filter_plugins_version_information'));
     add_filter('plugins_api', array($this->modules_updater, 'filter_detailed_plugin_information'), 10, 3);
     add_filter('http_request_args', array($this->modules_updater, 'filter_http_request_args'), 10, 2);
     add_action('wp_enqueue_scripts', array($this, 'enqueue_scripts'), 1000);
     add_action('admin_enqueue_scripts', array($this, 'enqueue_scripts'), 1000);
     add_action('wp_footer', array($this, 'localize_scripts'), 15000);
     add_action('admin_footer', array($this, 'localize_scripts'), 15000);
     // some upgrade operations can't be done in background.
     // if one those is pending, we will disable all other features
     // until the user executes the upgrade operaton
     if (!get_option('awpcp-pending-manual-upgrade')) {
         $this->pages = new AWPCP_Pages();
         add_action('awpcp-process-payment-transaction', array($this, 'process_transaction_update_payment_status'));
         add_action('awpcp-process-payment-transaction', array($this, 'process_transaction_notify_wp_affiliate_platform'));
         add_action('wp_ajax_awpcp-get-regions-options', array($this, 'get_regions_options'));
         add_action('wp_ajax_nopriv_awpcp-get-regions-options', array($this, 'get_regions_options'));
         // actions and filters from functions_awpcp.php
         add_action('phpmailer_init', 'awpcp_phpmailer_init_smtp');
         add_action('widgets_init', array($this, 'register_widgets'));
         if (get_awpcp_option('awpcppagefilterswitch') == 1) {
             add_filter('wp_list_pages_excludes', 'exclude_awpcp_child_pages');
         }
         awpcp_schedule_activation();
         $this->modules_manager->load_modules();
     }
 }
Exemplo n.º 3
0
 public function ajax_flag_ad()
 {
     $response = 0;
     if (check_ajax_referer('flag_ad', 'nonce')) {
         $ad = AWPCP_Ad::find_by_id(intval(awpcp_request_param('ad', 0)));
         if (!is_null($ad)) {
             $response = awpcp_listings_api()->flag_listing($ad);
         }
     }
     echo $response;
     die;
 }
Exemplo n.º 4
0
 public function mark_as_verified()
 {
     $ad = AWPCP_Ad::find_by_id($this->id);
     awpcp_listings_api()->verify_ad($ad);
     awpcp_flash(__('The Ad was marked as verified.', 'AWPCP'));
     return $this->redirect('index');
 }
Exemplo n.º 5
0
/**
 * @since 3.3
 */
function awpcp_clean_up_non_verified_ads_handler()
{
    return awpcp_clean_up_non_verified_ads(awpcp_listings_api(), awpcp()->settings);
}
function awpcp_listing_payment_transaction_handler()
{
    return new AWPCP_ListingPaymentTransactionHandler(awpcp_listings_collection(), awpcp_listings_api());
}
Exemplo n.º 7
0
 /**
  * @since 3.0.2
  * @deprecated 3.4
  */
 public static function instance()
 {
     _deprecated_function(__FUNCTION__, '3.4', 'awpcp_listings_api');
     return awpcp_listings_api();
 }
Exemplo n.º 8
0
 public function finish_step()
 {
     $ad = $this->get_ad();
     if (is_null($ad)) {
         $message = __('The specified Ad doesn\'t exists.', 'AWPCP');
         return $this->render('content', awpcp_print_error($message));
     }
     awpcp_listings_api()->consolidate_existing_ad($ad);
     if (is_admin()) {
         $message = __('The Ad has been edited successfully. <a href="%s">Go back to view listings</a>.', 'AWPCP');
         $page = awpcp_current_user_is_moderator() ? 'awpcp-listings' : 'awpcp-panel';
         $url = add_query_arg('page', $page, admin_url('admin.php'));
         $this->messages[] = sprintf($message, esc_url($url));
     }
     $template = AWPCP_DIR . '/frontend/templates/page-place-ad-finish-step.tpl.php';
     $params = array('messages' => array_merge($this->messages, awpcp_listings_api()->get_ad_alerts($ad)), 'edit' => true, 'ad' => $ad);
     return $this->render($template, $params);
 }