public function plugin_activation() { $userIdManager = new Ionic_User_UserId_Manager(); $userIdManager->create_user_id_table(); $historyManager = new Ionic_User_History_Manager(); $historyManager->create_push_history_table(); $scheduledManager = new Ionic_User_Scheduled_Manager(); $scheduledManager->create_scheduled_table(); }
/** * @return WP_Error */ public function send_scheduled_push_notification() { $scheduledManager = new Ionic_User_Scheduled_Manager(); $result = $scheduledManager->get_passed_scheduled(); foreach ($result as $row) { if ($row->userIds === 'all') { $userIds = Ionic_User_UserId_Manager::get_all_userIds(); } else { $userIds = explode(';', $row->userIds); } $scheduledManager->delete_scheduled($row->id); $this->send_push_notification($row->text, $userIds, $this->load_options()); } }
public function admin_menu_options() { if (!current_user_can('manage_options')) { wp_die(__('You do not have sufficient permissions to access this page.')); } // Store / load data from / to options $storeData = self::store_option(self::OPTION_NAME, $_POST); $options = self::load_options(self::OPTION_NAME); $totalUserIds = Ionic_User_UserId_Manager::get_total_userIds(); if (filter_input(INPUT_POST, 'store-scheduled-push')) { if (filter_input(INPUT_POST, 'scheduled-send-to-all')) { $userIds = 'all'; } else { $userIds = filter_input(INPUT_POST, 'scheduled-user-ids'); } $scheduledStoreReturn = Ionic_User_Scheduled_Manager::store_scheduled(filter_input(INPUT_POST, 'scheduled-date'), filter_input(INPUT_POST, 'scheduled-time'), filter_input(INPUT_POST, 'scheduled-text'), $userIds); if (is_wp_error($scheduledStoreReturn)) { $error = $scheduledStoreReturn->get_error_message(); } } if (filter_input(INPUT_GET, 'deleteScheduledId')) { Ionic_User_Scheduled_Manager::delete_scheduled(filter_input(INPUT_GET, 'deleteScheduledId')); } if (filter_input(INPUT_POST, 'send-push')) { // Send push notification if (filter_input(INPUT_POST, 'send-to-all') !== null) { $userIds = Ionic_User_UserId_Manager::get_all_userIds(); } else { $userIds = explode(';', filter_input(INPUT_POST, 'send-user-ids')); } $sendPushReturn = Ionic_User_Send_Push::send_push_notification(filter_input(INPUT_POST, 'send-text'), $userIds, $options); if (is_wp_error($sendPushReturn)) { $error = $sendPushReturn->get_error_message(); } } $tab = $_REQUEST['tab'] ? $_REQUEST['tab'] : 'settings'; if ($tab === 'userIds') { $pagenum = filter_input(INPUT_GET, 'pagenum') ? absint(filter_input(INPUT_GET, 'pagenum')) : 1; $userIdsPages = Ionic_User_UserId_Manager::get_userIds_page_links($pagenum); } if ($tab === 'scheduled') { $pagenum = filter_input(INPUT_GET, 'pagenum') ? absint(filter_input(INPUT_GET, 'pagenum')) : 1; $scheduledPages = Ionic_User_Scheduled_Manager::get_scheduled_page_links($pagenum); } if ($tab === 'history') { $pagenum = filter_input(INPUT_GET, 'pagenum') ? absint(filter_input(INPUT_GET, 'pagenum')) : 1; $historyPages = Ionic_User_History_Manager::get_history_page_links($pagenum); } $template = IUP_PLUGIN_DIR_PATH . 'assets/html/iup-admin-' . $tab . '.html'; if (is_file($template) === true) { require $template; } }