/**
  *
  *
  * @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));
 }
Ejemplo n.º 2
0
 /**
  * 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
 }
Ejemplo n.º 3
0
/**
 * 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);
     }
 }