public function dispatch($page) { $this->page = $page; $action = $page->get_current_action(); $ad = AWPCP_Ad::find_by_id(awpcp_request_param('id', awpcp_request_param('adid', false))); $media = awpcp_media_api()->find_by_id(awpcp_request_param('picid')); $current_user_id = get_current_user_id(); $is_admin_user = awpcp_current_user_is_admin(); $ad_belongs_to_user = AWPCP_Ad::belongs_to_user($ad->ad_id, $current_user_id); if (!$is_admin_user && !$ad_belongs_to_user) { $message = _x("You don't have sufficient permissions to modify that Ad's media", 'media manager', 'AWPCP'); return $this->page->render('content', awpcp_print_error($message)); } if (!is_null($media) && $ad->ad_id != $media->ad_id) { $message = _x('The specified file does not belongs to the specified Ad. No action will be performed.', 'media managear', 'AWPCP'); awpcp_flash($message, 'error'); $action = 'show_images'; } $media_actions = array('deletepic', 'rejectpic', 'approvepic', 'set-primary-image'); if (is_null($media) && in_array($action, $media_actions)) { $message = _x('The specified file does not exists. No action will be performed.', 'media managear', 'AWPCP'); awpcp_flash($message, 'error'); $action = 'show_images'; } switch ($action) { case 'deletepic': return $this->delete_file($ad, $media); case 'rejectpic': return $this->disable_picture($ad, $media); case 'approvepic': return $this->enable_picture($ad, $media); case 'approve-file': return $this->approve_file($ad, $media); case 'reject-file': return $this->reject_file($ad, $media); case 'set-primary-image': return $this->set_primary_image($ad, $media); case 'add-image': return $this->add_image($ad, $media); default: return $this->show_images($ad); } }
public function enable_ad_action($ad) { if (!is_null($ad) && $ad->enable()) { $is_ad_owner = AWPCP_Ad::belongs_to_user($ad->ad_id, wp_get_current_user()->ID); if (!$is_ad_owner && get_awpcp_option('send-ad-enabled-email')) { awpcp_ad_enabled_email($ad); } return true; } return false; }