admin_head.php
9 years ago
admin_init.php
5 years ago
admin_menu.php
4 years ago
admin_notices.php
8 years ago
init.php
8 years ago
pmxe_after_export.php
8 years ago
pmxe_before_export.php
8 years ago
pmxe_exported_post.php
10 years ago
wp_ajax_dismiss_export_warnings.php
9 years ago
wp_ajax_dismiss_warnings.php
4 years ago
wp_ajax_generate_zapier_api_key.php
10 years ago
wp_ajax_redirect_after_addon_installed.php
6 years ago
wp_ajax_save_scheduling.php
8 years ago
wp_ajax_scheduling_dialog_content.php
5 years ago
wp_ajax_wpae_available_rules.php
8 years ago
wp_ajax_wpae_filtering.php
4 years ago
wp_ajax_wpae_filtering_count.php
4 years ago
wp_ajax_wpae_preview.php
8 years ago
wp_ajax_wpae_upgrade_notice.php
4 years ago
wp_ajax_wpallexport.php
8 years ago
wp_loaded.php
4 years ago
wpmu_new_blog.php
10 years ago
wp_ajax_save_scheduling.php
57 lines
| 1 | <?php |
| 2 | |
| 3 | use Wpae\Scheduling\Interval\ScheduleTime; |
| 4 | use Wpae\Scheduling\Scheduling; |
| 5 | |
| 6 | /** |
| 7 | * @throws Exception |
| 8 | */ |
| 9 | function pmxe_wp_ajax_save_scheduling() |
| 10 | { |
| 11 | |
| 12 | if (!check_ajax_referer('wp_all_export_secure', 'security', false)) { |
| 13 | exit(__('Security check', 'wp_all_export_plugin')); |
| 14 | } |
| 15 | |
| 16 | if (!current_user_can(PMXE_Plugin::$capabilities)) { |
| 17 | exit(__('Security check', 'wp_all_export_plugin')); |
| 18 | } |
| 19 | |
| 20 | $elementId = $_POST['element_id']; |
| 21 | |
| 22 | $post = $_POST; |
| 23 | |
| 24 | foreach($post['scheduling_times'] as $schedulingTime) { |
| 25 | if(!preg_match('/^(0?[1-9]|1[012])(:[0-5]\d)[APap][mM]$/', $schedulingTime) && $schedulingTime != '') { |
| 26 | header('HTTP/1.1 400 Bad request', true, 400); |
| 27 | die('Invalid times provided'); |
| 28 | } |
| 29 | } |
| 30 | |
| 31 | try{ |
| 32 | $scheduling = Scheduling::create(); |
| 33 | $scheduling->handleScheduling($elementId, $post); |
| 34 | } catch (\Wpae\Scheduling\Exception\SchedulingHttpException $e) { |
| 35 | header('HTTP/1.1 503 Service unavailable', true, 503); |
| 36 | echo json_encode(array('success' => false)); |
| 37 | |
| 38 | die; |
| 39 | } |
| 40 | |
| 41 | $export = new PMXE_Export_Record(); |
| 42 | $export->getById($elementId); |
| 43 | $export->set(array('options' => array_merge($export->options, $post))); |
| 44 | $export->save(); |
| 45 | |
| 46 | echo json_encode(array('success' => true)); |
| 47 | die; |
| 48 | } |
| 49 | |
| 50 | /** |
| 51 | * @return bool |
| 52 | */ |
| 53 | function convertStringToBoolean($string) |
| 54 | { |
| 55 | return ($string == 'true' || $string == 1 || $string === true) ? true : false; |
| 56 | } |
| 57 |