/** * Output an error message generated by the API. */ function dfrapi_output_api_error($data) { $error = @$data['dfrapi_api_error']; $params = @$data['dfrapi_api_error']['params']; ?> <div class="dfrapi_api_error"> <div class="dfrapi_head"><?php _e('Datafeedr API Error', DFRAPI_DOMAIN); ?> </div> <div class="dfrapi_msg"><strong><?php _e('Message:', DFRAPI_DOMAIN); ?> </strong> <?php echo $error['msg']; ?> </div> <div class="dfrapi_code"><strong><?php _e('Code:', DFRAPI_DOMAIN); ?> </strong> <?php echo $error['code']; ?> </div> <div class="dfrapi_class"><strong><?php _e('Class:', DFRAPI_DOMAIN); ?> </strong> <?php echo $error['class']; ?> </div> <?php if (is_array($params)) { ?> <div class="dfrps_query"><strong><?php _e('Query:', DFRAPI_DOMAIN); ?> </strong> <span><?php echo dfrapi_display_api_request($params); ?> </span></div> <?php } ?> </div> <?php }
function updates_disabled_email_user($obj) { $params = array(); $params['to'] = get_bloginfo('admin_email'); $params['subject'] = get_bloginfo('name') . __(': Datafeedr API Message (Product Set Update Failed)', DFRPS_DOMAIN); $params['message'] = "<p>" . __("This is an automated message generated by: ", DFRPS_DOMAIN) . get_bloginfo('wpurl') . "</p>"; $params['message'] .= "<p>" . __("An error occurred during the update of the ", DFRPS_DOMAIN); $params['message'] .= "<a href=\"" . admin_url('post.php?post=' . $this->set['ID'] . '&action=edit') . "\">" . $this->set['post_title'] . "</a>"; $params['message'] .= __(" product set.", DFRPS_DOMAIN) . "</p>"; if (isset($obj['dfrapi_api_error']['class'])) { // Have we exceeded the API request limit? if ($obj['dfrapi_api_error']['class'] == 'DatafeedrLimitExceededError') { $params['message'] .= "<p>" . __("You have used <strong>100%</strong> of your allocated Datafeedr API requests for this period. <u>You are no longer able to query the Datafeedr API to get product information.</u>", DFRPS_DOMAIN) . "</p>"; $params['message'] .= "<p><strong>" . __("What to do next?", DFRPS_DOMAIN) . "</strong></p>"; $params['message'] .= "<p>" . __("We strongly recommend that you upgrade to prevent your product information from becoming outdated.", DFRPS_DOMAIN) . "</p>"; $params['message'] .= "<p><a href=\"" . dfrapi_user_pages('change') . "?utm_source=email&utm_medium=link&utm_campaign=updatesdisablednotice\"><strong>" . __("UPGRADE NOW", DFRPS_DOMAIN) . "</strong></a></p>"; $params['message'] .= "<p>" . __("Upgrading only takes a minute. You will have <strong>instant access</strong> to more API requests. Any remaining credit for your current plan will be applied to your new plan.", DFRPS_DOMAIN) . "</p>"; $params['message'] .= "<p>" . __("You are under no obligation to upgrade. You may continue using your current plan for as long as you would like.", DFRPS_DOMAIN) . "</p>"; } else { $params['message'] .= "<p>" . __("The details of the error are below.", DFRPS_DOMAIN) . "</p>"; $params['message'] .= "<tt>"; $params['message'] .= "#################################################<br />"; $params['message'] .= __("CLASS: ", DFRPS_DOMAIN) . $obj['dfrapi_api_error']['class'] . "<br />"; $params['message'] .= __("CODE: ", DFRPS_DOMAIN) . $obj['dfrapi_api_error']['code'] . "<br />"; $params['message'] .= __("MESSAGE: ", DFRPS_DOMAIN) . $obj['dfrapi_api_error']['msg'] . "<br />"; if (!empty($obj['dfrapi_api_error']['params'])) { $query = dfrapi_display_api_request($obj['dfrapi_api_error']['params']); $params['message'] .= __("<br />QUERY:<br />", DFRPS_DOMAIN) . $query . "<br />"; } $params['message'] .= "#################################################"; $params['message'] .= "</tt>"; } } $params['message'] .= "<p>" . __("In the meantime, all product updates have been disabled on your site. After you fix this problem you will need to ", DFRPS_DOMAIN); $params['message'] .= "<a href=\"" . admin_url('admin.php?page=dfrps_configuration') . "\">" . __("enable updates again", DFRPS_DOMAIN) . ".</p>"; $params['message'] .= "<p>" . __("If you have any questions about your account, please ", DFRPS_DOMAIN); $params['message'] .= "<a href=\"" . DFRAPI_EMAIL_US_URL . "?utm_source=email&utm_medium=link&utm_campaign=updatesdisablednotice\">" . __("contact us", DFRPS_DOMAIN) . "</a>.</p>"; $params['message'] .= "<p>" . __("Thanks,<br />Eric & Stefan<br />The Datafeedr Team", DFRPS_DOMAIN) . "</p>"; $params['message'] .= "<p>"; $params['message'] .= "<a href=\"" . admin_url('admin.php?page=dfrapi_account') . "\">" . __("Account Information", DFRPS_DOMAIN) . "</a> | "; $params['message'] .= "<a href=\"" . dfrapi_user_pages('change') . "?utm_source=email&utm_medium=link&utm_campaign=updatesdisablednotice\">" . __("Upgrade Account", DFRPS_DOMAIN) . "</a> | "; $params['message'] .= "<a href=\"" . admin_url('admin.php?page=dfrps_configuration') . "\">" . __("Enable Updates", DFRPS_DOMAIN) . "</a>"; $params['message'] .= "</p>"; add_filter('wp_mail_content_type', 'dfrps_set_html_content_type'); wp_mail($params['to'], $params['subject'], $params['message']); remove_filter('wp_mail_content_type', 'dfrps_set_html_content_type'); }
function dfrps_format_product_list($data, $context) { $msg = ''; // Get manually included product IDs. $manually_included_ids = get_post_meta($data['postid'], '_dfrps_cpt_manually_added_ids', true); if (!is_array($manually_included_ids)) { $manually_included_ids = array(); } $manually_included_ids = array_filter($manually_included_ids); // Get manually blocked product IDs. $manually_blocked_ids = get_post_meta($data['postid'], '_dfrps_cpt_manually_blocked_ids', true); if (!is_array($manually_blocked_ids)) { $manually_blocked_ids = array(); } $manually_blocked_ids = array_filter($manually_blocked_ids); //Get pagination. $pagination = dfrps_pagination($data, $context); // Message on "Search" tab. if (empty($data)) { if ($context == 'div_dfrps_tab_search') { $msg .= '<div class="dfrps_alert dfrps_alert-info">'; $msg .= __('Click the [Search] button to view products that match your search.', DFRPS_DOMAIN); $msg .= '</div>'; } } elseif (empty($data['products'])) { if ($context == 'div_dfrps_tab_search') { $msg .= '<div class="dfrps_alert dfrps_alert-info">'; $msg .= __('No products matched your search.', DFRPS_DOMAIN); $msg .= '</div>'; } } if (empty($data) || empty($data['products'])) { if ($context == 'div_dfrps_tab_saved_search') { $msg .= '<div class="dfrps_alert dfrps_alert-info">'; $msg .= __('You have not saved a search.', DFRPS_DOMAIN); $msg .= '</div>'; } elseif ($context == 'div_dfrps_tab_included') { $msg .= '<div class="dfrps_alert dfrps_alert-info">'; $msg .= __('You have not added any individual products to this Product Set.', DFRPS_DOMAIN); $msg .= '</div>'; } elseif ($context == 'div_dfrps_tab_blocked') { $msg .= '<div class="dfrps_alert dfrps_alert-info">'; $msg .= __('You have not blocked any products from this Product Set.', DFRPS_DOMAIN); $msg .= '</div>'; } } else { $args = array('manually_included_ids' => $manually_included_ids, 'manually_blocked_ids' => $manually_blocked_ids, 'context' => $context); if ($context == 'div_dfrps_tab_search') { $msg .= ''; } elseif ($context == 'div_dfrps_tab_saved_search') { $msg .= ''; } elseif ($context == 'div_dfrps_tab_included') { $msg .= ''; } elseif ($context == 'div_dfrps_tab_blocked') { $msg .= ''; } } // Loop through products and display them. echo $msg; // Query info if (isset($data['params']) && !empty($data['params'])) { ?> <div class="dfrps_api_info" id="dfrps_raw_api_query"> <div class="dfrps_head"><?php _e('API Reqest', DFRPS_DOMAIN); ?> </div> <div class="dfrps_query"><span><?php echo dfrapi_display_api_request($data['params']); ?> </span></div> </div> <?php } echo $pagination; echo '<div class="product_list">'; if (isset($data['products']) && !empty($data['products'])) { foreach ($data['products'] as $product) { dfrps_html_product_list($product, $args); } } echo '</div>'; echo $pagination; }