/** * * * @see WP_List_Table::::single_row_columns() * @param array $item A singular item (one full row's worth of data) * @return string Text to be placed inside the column <td> (movie title only) */ function column_title($item) { $message_id = array_search($item->ID, get_option(SI_Messaging::NOTIFICATIONS_OPTION_NAME, array())); $name = $message_id ? SI_Messaging::$messages[$message_id]['name'] : sc__('Unassigned'); $message = SC_Message::get_instance($item->ID); $status = $message->get_disabled() ? '<span style="color:red">' . sc__('disabled') . '</span>' : '<span>' . sc__('active') . '</span>'; //Build row actions $actions = array('edit' => sprintf('<a href="%s">Edit</a>', get_edit_post_link($item->ID))); //Return the title contents return sprintf('%1$s <span style="color:silver">(status: %2$s)</span>%3$s', $name, $status, $this->row_actions($actions)); }
/** * Get message instance. * @param string $message the slug for the message * @return SC_Message/false */ public static function get_message_instance($message) { if (isset(self::$messages[$message])) { $messages = get_option(self::NOTIFICATIONS_OPTION_NAME); if (isset($messages[$message])) { $message_id = $messages[$message]; $message = SC_Message::get_instance($message_id); if ($message != null) { $post = $message->get_post(); // Don't return the message if isn't published (excludes deleted, draft, and future posts) if ('publish' == $post->post_status) { return $message; } } } } return null; // return null and not a boolean for the sake of validity checks elsewhere }
/** * Load the SC application * * @package Sprout_Clients * @return void */ function sprout_clients_load() { if (class_exists('Sprout_Client')) { sc_deactivate_plugin(); return; // already loaded, or a name collision } do_action('sprout_clients_preload'); ////////// // Load // ////////// /** * Master class */ require_once SC_PATH . '/Sprout_Clients.php'; // models require_once SC_PATH . '/models/_Model.php'; require_once SC_PATH . '/models/Client.php'; require_once SC_PATH . '/models/Message.php'; require_once SC_PATH . '/models/Record.php'; // controllers require_once SC_PATH . '/controllers/_Controller.php'; require_once SC_PATH . '/languages/Sprout_Clients_l10n.php'; if (!class_exists('Sprout_Invoices')) { require_once SC_PATH . '/controllers/admin/_Settings.php'; } require_once SC_PATH . '/controllers/admin/Settings.php'; // controllers -- clients require_once SC_PATH . '/controllers/clients/Clients.php'; require_once SC_PATH . '/controllers/clients/Clients_Users.php'; require_once SC_PATH . '/controllers/clients/Clients_Admin_Meta_Boxes.php'; require_once SC_PATH . '/controllers/clients/Clients_Admin_Table.php'; require_once SC_PATH . '/controllers/clients/Clients_AJAX.php'; // controllers -- history require_once SC_PATH . '/controllers/history/Client_History.php'; require_once SC_PATH . '/controllers/history/SI_History.php'; // controllers -- messages require_once SC_PATH . '/controllers/messages/Messages.php'; require_once SC_PATH . '/controllers/messages/Message_Triggers.php'; require_once SC_PATH . '/controllers/messages/Messages_Admin_Meta_Boxes.php'; require_once SC_PATH . '/controllers/messages/Messages_Admin_Settings.php'; require_once SC_PATH . '/controllers/messages/Messages_Admin_Table.php'; require_once SC_PATH . '/controllers/messages/Messages_Route.php'; require_once SC_PATH . '/controllers/messages/Messages_Shortcodes.php'; require_once SC_PATH . '/controllers/messages/Messages_Templates.php'; require_once SC_PATH . '/controllers/records/Internal_Records.php'; require_once SC_PATH . '/controllers/records/Records_Admin_Table.php'; require_once SC_PATH . '/controllers/updates/Updates.php'; // template-tags require_once SC_PATH . '/template-tags/sprout-clients.php'; require_once SC_PATH . '/template-tags/forms.php'; require_once SC_PATH . '/template-tags/ui.php'; require_once SC_PATH . '/template-tags/users.php'; require_once SC_PATH . '/template-tags/utility.php'; /** * Master Model */ SC_Post_Type::init(); /** * Client Model */ Sprout_Client::init(); /** * Messages Model */ SC_Message::init(); /** * Shared Models */ SC_Record::init(); /** * Master Controller */ SC_Controller::init(); /** * Records is shared with Sprout Invoices */ SC_Internal_Records::init(); /** * l10n */ SC_l10n::init(); /** * Settings */ if (!class_exists('Sprout_Invoices')) { SA_Settings_API::init(); } SC_Settings::init(); /** * Clients */ SC_Clients::init(); SC_Users::init(); SC_Clients_Admin_Meta_Boxes::init(); SC_Clients_Admin_Table::init(); SC_Clients_AJAX::init(); SC_Client_History::init(); SC_Invoices_History::init(); /** * Messaging */ /*/ SC_Messages::init(); SC_Messages_Meta::init(); SC_Messages_Admin_Settings::init(); SC_Messages_Route::init(); SC_Message_Shortcodes::init(); SC_Templates::init(); SC_Message_Triggers::init(); /**/ SC_Updates::init(); do_action('sprout_clients_loaded'); }
/** * main cllback for saving the message * @param object $message * @param string $message_id * @return */ public static function save_meta_box_message_submit($post_id, $post, $callback_args, $message_type = null) { if (null === $message_type && isset($_POST['message_type'])) { $message_type = $_POST['message_type']; } if (is_null($post_id)) { if (isset($_POST['ID'])) { $post_id = $_POST['ID']; } } if (get_post_type($post_id) != SC_Message::POST_TYPE) { return; } // Remove any existing message types that point to the post currently being saved $message_set = get_option(self::NOTIFICATIONS_OPTION_NAME, array()); foreach ($message_set as $op_type => $note_id) { if ($note_id == $post_id) { unset($message_set[$post_id]); } } if (isset(self::$messages[$message_type])) { // Associate this post with the given message type $message_set[$message_type] = $post_id; update_option(self::NOTIFICATIONS_OPTION_NAME, $message_set); } $message = SC_Message::get_instance($post_id); // Mark as disabled or not. if (isset($_POST['message_type_disabled']) && $_POST['message_type_disabled'] == 'TRUE') { $message->set_disabled('TRUE'); } else { $message->set_disabled(0); } }