diff -uprN -x CVS facebook_status-DRUPAL-6--3/facebook_status.module facebook_status/facebook_status.module --- facebook_status-DRUPAL-6--3/facebook_status.module 2011-01-27 00:51:01.000000000 +0000 +++ facebook_status/facebook_status.module 2011-01-31 00:01:30.000000000 +0000 @@ -27,9 +27,9 @@ */ define("FACEBOOK_STATUS_OVERRIDE_TIMER", 10); -//============= -//DRUPAL HOOKS. -//============= +//============== +// DRUPAL HOOKS. +//============== /** * Implementation of hook_help(). @@ -133,7 +133,6 @@ function facebook_status_menu() { 'access callback' => 'facebook_status_user_access', 'access arguments' => array('view', 1), 'type' => MENU_CALLBACK, - 'file' => 'includes/utility/facebook_status.status-page.inc', ); $items['facebook_status/js'] = array( 'title' => 'Save status update form', @@ -230,12 +229,12 @@ function facebook_status_perm() { */ function facebook_status_user($op, &$edit, &$account, $category = NULL) { if ($op == 'delete') { - //Remove abandoned statuses from the database on user account deletion. + // Remove abandoned statuses from the database on user account deletion. db_query("DELETE FROM {facebook_status} WHERE sender = %d OR (recipient = %d AND type = 'user')", $account->uid, $account->uid); } elseif ($op == 'view' && variable_get('facebook_status_profile', 1)) { $value = theme('facebook_status_form_display', $account, 'user'); - //Don't show this section if there's nothing there or the user doesn't have permission to see it. + // Don't show this section if there's nothing there or the user doesn't have permission to see it. if (empty($value)) { return; } @@ -244,7 +243,7 @@ function facebook_status_user($op, &$edi } $account->content['facebook_status'] += array( '#type' => 'user_profile_category', - '#attributes' => array('class' => 'facebook_status-profile-category'), + '#attributes' => array('class' => 'facebook-status-profile-category'), '#weight' => -5, '#title' => t('Messages'), ); @@ -252,7 +251,7 @@ function facebook_status_user($op, &$edi '#type' => 'user_profile_item', '#title' => '', '#value' => $value, - '#attributes' => array('class' => 'facebook_status profile'), + '#attributes' => array('class' => 'facebook-status profile'), ); } } @@ -295,40 +294,40 @@ function facebook_status_link($type, $st $links['edit'] = array( 'href' => 'statuses/'. $status->sid .'/edit', 'title' => t('edit'), - 'attributes' => array('class' => 'facebook_status-edit-link facebook_status-action-link'), + 'attributes' => array('class' => 'facebook-status-edit-link facebook-status-action-link'), ); } if (facebook_status_user_access('delete', $status)) { $links['delete'] = array( 'href' => 'statuses/'. $status->sid .'/delete', 'title' => t('delete'), - 'attributes' => array('class' => 'facebook_status-delete-link facebook_status-action-link'), + 'attributes' => array('class' => 'facebook-status-delete-link facebook-status-action-link'), ); } - //If not self update by current user (because if it is a self update by the current user, there is no need for a response) + // If not self update by current user (because if it is a self update by the current user, there is no need for a response) if ($status->type != 'user' || $status->recipient != $status->sender || $status->sender != $user->uid) { - //If permission to respond + // If permission to respond if (facebook_status_user_access('add', facebook_status_user_load($status->sender), 'user', $user)) { - //If to current user (not a self update) + // If to current user (not a self update) if ($status->type == 'user' && $status->recipient == $user->uid) { $title = t('reply'); } - //If self update (not by current user) + // If self update (not by current user) elseif ($status->type == 'user' && $status->recipient == $status->sender) { $title = t('respond'); } - //If from one user to another and the current user is not the recipient + // If from one user to another and the current user is not the recipient elseif ($status->type == 'user') { $title = t('view conversation'); } - //If not to a user + // If not to a user else { $title = t('discuss'); } $links['respond'] = array( 'href' => 'statuses/conversation/'. $status->sender .','. $user->uid, 'title' => $title, - 'attributes' => array('class' => 'facebook_status-respond-link facebook_status-action-link'), + 'attributes' => array('class' => 'facebook-status-respond-link facebook-status-action-link'), ); } } @@ -337,7 +336,7 @@ function facebook_status_link($type, $st 'href' => 'statuses/share', 'title' => t('share'), 'query' => array('sid' => $status->mid, 'destination' => $_GET['q']), - 'attributes' => array('class' => 'facebook_status-share-link facebook_status-action-link'), + 'attributes' => array('class' => 'facebook-status-share-link facebook-status-action-link'), ); } return $links; @@ -377,9 +376,9 @@ function facebook_status_theme($existing ); } -//================ -//THEME FUNCTIONS. -//================ +//================= +// THEME FUNCTIONS. +//================= /** * Display a status message. @@ -424,9 +423,9 @@ function theme_facebook_status_time($tim } } -//================================== -//APPLICATION PROGRAMMING INTERFACE. -//================================== +//=================================== +// APPLICATION PROGRAMMING INTERFACE. +//=================================== /** * Checks that users have permission to perform various status-related tasks. @@ -558,12 +557,12 @@ function facebook_status_determine_conte $contexts = facebook_status_all_contexts(); if (empty($type)) { $context = array(); - //The user context is our base case, so we never end up with no context. + // The user context is our base case, so we never end up with no context. foreach ($contexts as $context) { if (!empty($context['file']) && file_exists($context['file'])) { require_once $context['file']; } - //Make sure the parent class is always loaded. + // Make sure the parent class is always loaded. if (empty($context['parent'])) { module_load_include('inc', 'facebook_status', '/includes/utility/facebook_status.contexts'); } @@ -581,7 +580,7 @@ function facebook_status_determine_conte if (!empty($context['file']) && file_exists($context['file'])) { require_once $context['file']; } - //Make sure the parent class is always loaded. + // Make sure the parent class is always loaded. if (empty($context['parent'])) { module_load_include('inc', 'facebook_status', '/includes/utility/facebook_status.contexts'); } @@ -591,10 +590,10 @@ function facebook_status_determine_conte $context['handler'] = new $context['handler'](); } else { - //We can't find the requested context, so abort. + // We can't find the requested context, so abort. return; } - //title and handler are required. + // title and handler are required. $context += array( 'description' => '', 'view' => '', @@ -647,7 +646,7 @@ function facebook_status_delete_status($ if (is_object($sid)) { $sid = $sid->sid; } - //Trigger integration. + // Trigger integration. if (module_exists('trigger')) { module_invoke_all('facebook_status', 'fbss_deleted', $sid); } @@ -684,17 +683,17 @@ function facebook_status_save_status($re $recipient_id = $context['handler']->recipient_id($recipient); $time = time(); $message = trim($message); - //Merge in defaults. + // Merge in defaults. $options += array( 'discard duplicates' => TRUE, 'timed override' => TRUE, 'discard blank statuses' => TRUE, ); - //Calls hook_facebook_status_save_options_alter(&$options). + // Calls hook_facebook_status_save_options_alter(&$options). drupal_alter('facebook_status_save_options', $options); - //Pretend to have set a new status if the submitted status is exactly the same as the old one. + // Pretend to have set a new status if the submitted status is exactly the same as the old one. $status = _facebook_status_get_status_fast($sender->uid); - //The status object to be saved. + // The status object to be saved. $object = (object) array( 'message' => $message, 'created' => $time, @@ -704,9 +703,9 @@ function facebook_status_save_status($re ); if ($message != $status->message || $type != $status->type || $recipient_id != $status->recipient || !$options['discard duplicates']) { $edit = FALSE; - //If a new status is submitted on one's own profile within - //FACEBOOK_STATUS_OVERRIDE_TIMER seconds of the old one, we assume the user - //didn't mean to post the first one. + // If a new status is submitted on one's own profile within + // FACEBOOK_STATUS_OVERRIDE_TIMER seconds of the old one, we assume the user + // didn't mean to post the first one. if ($time - $status->created < FACEBOOK_STATUS_OVERRIDE_TIMER && $type = 'user' && $sender->uid == $recipient_id && $options['timed override']) { $sql = "UPDATE {facebook_status} SET status = '%s', status_time = %d WHERE sid = %d ORDER BY sid DESC"; db_query($sql, $message, $time, $status->sid); @@ -714,15 +713,15 @@ function facebook_status_save_status($re $edit = TRUE; } else { - //Don't save blank messages unless to clear the user's own last status update. - //The only reason clearing the last status update would even be needed would be if the most recent status update was displayed by itself somewhere. + // Don't save blank messages unless to clear the user's own last status update. + // The only reason clearing the last status update would even be needed would be if the most recent status update was displayed by itself somewhere. if ($type != 'user' || $sender->uid != $recipient_id || !empty($message) || !$options['discard blank statuses']) { drupal_write_record('facebook_status', $object); } } - //Invokes hook_facebook_status_save($status, $context, $edit). + // Invokes hook_facebook_status_save($status, $context, $edit). module_invoke_all('facebook_status_save', $object, $context, $edit); - //Trigger integration. Don't call if the status is blank because usually nothing interesting is happening. + // Trigger integration. Don't call if the status is blank because usually nothing interesting is happening. if (module_exists('trigger') && !empty($message)) { $op = 'fbss_submitted_'. $type; if ($type == 'user') { @@ -737,9 +736,9 @@ function facebook_status_save_status($re return $object; } -//================= -//HELPER FUNCTIONS. -//================= +//================== +// HELPER FUNCTIONS. +//================== /** * A saner sort function for use in uasort(). @@ -812,9 +811,9 @@ function _facebook_status_user_load_by_n return $accounts[$name]; } -//======================== -//STREAM TYPE DEFINITIONS. -//======================== +//========================= +// STREAM TYPE DEFINITIONS. +//========================= /** * Implementation of hook_facebook_status_context_info(). @@ -852,9 +851,9 @@ function facebook_status_facebook_status ); } -//==================== -//TRIGGER INTEGRATION. -//==================== +//===================== +// TRIGGER INTEGRATION. +//===================== /** * Implementation of hook_hook_info(). @@ -890,7 +889,7 @@ function facebook_status_hook_info() { ); } else { - $info['facebook_status']['facebook_status']['fbss_submitted'. $type ] = array( + $info['facebook_status']['facebook_status']['fbss_submitted_'. $type ] = array( 'runs when' => t('A user has posted a new status to a stream of type %type', array('%type' => $type)), ); } @@ -918,7 +917,7 @@ function facebook_status_facebook_status $recipient = $context['handler']->load_recipient($status->recipient); $sender = _facebook_status_user_load($status->sender); - //Reduce the amount of recalculation we will need to do later. + // Reduce the amount of recalculation we will need to do later. $sender->facebook_status = $status; $sender->context = $context; @@ -934,9 +933,9 @@ function facebook_status_facebook_status actions_do(array_keys($aids), $sender, $activity_context); } -//================== -//TOKEN INTEGRATION. -//================== +//=================== +// TOKEN INTEGRATION. +//=================== /** * Implementation of hook_token_list(). @@ -954,19 +953,19 @@ function facebook_status_token_list($typ 'recipient-name' => t('The safe name of the recipient of the status message.'), 'recipient-name-raw' => t('The raw name of the recipient of the status message. WARNING: raw user input.'), 'recipient-id' => t('The ID of the recipient of the status message.'), - 'status-unformatted' => t('The new status, with HTML escaped but no filters or anything run over it.'), - 'status-formatted' => t('The new status completely themed.'), - 'status-raw' => t('The completely unfiltered status text. WARNING: raw user input.'), + 'message-unformatted' => t('The new status text, with HTML escaped but no filters or anything run over it.'), + 'message-formatted' => t('The new status text completely themed.'), + 'message-raw' => t('The completely unfiltered status text. WARNING: raw user input.'), 'status-themed' => t('The new status completely themed, including usernames and times.'), 'status-id' => t('The Status ID.'), 'status-edit' => t('Edit status link.'), 'status-delete' => t('Delete status link.'), - 'status-time' => t('The themed time the status was submitted.'), + 'created' => t('The themed time the status was submitted.'), ); if (module_exists('fbssc')) { $tokens['facebook_status']['status-comment-count'] = t('The number of comments on the status.'); } - $tokens['facebook_status'] += token_get_date_token_info(t('The status created'), 'status-time-'); + $tokens['facebook_status'] += token_get_date_token_info(t('The status created'), 'created-'); return $tokens; } } @@ -978,9 +977,8 @@ function facebook_status_token_values($t if ($type != 'facebook_status' || empty($data)) { return; } - //@todo: Figure out whether this actually works. - $status = $data->facebook_status; - $context = $data->context; + $status = $data; + $context = facebook_status_determine_context($status->type); $message_formatted = _facebook_status_run_filter($status->message); if (variable_get('facebook_status_nl2br', 0)) { @@ -989,13 +987,13 @@ function facebook_status_token_values($t $edit = ''; $delete = ''; if (facebook_status_user_access('edit', $status)) { - $edit = ''. l(t('Edit'), 'statuses/'. $status->sid .'/edit') .''; + $edit = ''. l(t('Edit'), 'statuses/'. $status->sid .'/edit') .''; } if (facebook_status_user_access('delete', $status)) { - $delete = ''. l(t('Delete'), 'statuses/'. $status->sid .'/delete') .''; + $delete = ''. l(t('Delete'), 'statuses/'. $status->sid .'/delete') .''; } $sender = _facebook_status_user_load($status->sender); - $recipient = _facebook_status_user_load($status->recipient); + $recipient = $context['handler']->load_recipient($status->recipient); $values = array( 'sender-themed' => theme('username', $sender), 'sender-name' => check_plain($sender->name), @@ -1007,23 +1005,23 @@ function facebook_status_token_values($t 'recipient-name' => check_plain($context['handler']->recipient_name($recipient)), 'recipient-name-raw' => $context['handler']->recipient_name($recipient), 'recipient-id' => $context['handler']->recipient_id($recipient), - 'status-unformatted' => check_plain($status->message), - 'status-formatted' => $message_formatted, - 'status-raw' => $status->message, + 'message-unformatted' => check_plain($status->message), + 'message-formatted' => $message_formatted, + 'message-raw' => $status->message, 'status-themed' => theme('facebook_status_item', $status), 'status-id' => $status->sid, 'status-edit' => $edit, 'status-delete' => $delete, - 'status-comment-count' => (module_exists('fbssc')) ? fbssc_count_comments($status->sid) : 0, - 'status-time' => format_date($status->status_time, 'small'), + 'status-comment-count' => (module_exists('facebook_status_comments')) ? facebook_status_comments_count_comments($status->sid) : 0, + 'created' => format_date($status->created, 'small'), ); - $values += token_get_date_token_values($status->created, 'status-time-'); + $values += token_get_date_token_values($status->created, 'created-'); return $values; } -//================== -//VIEWS INTEGRATION. -//================== +//=================== +// VIEWS INTEGRATION. +//=================== /** * Implementation of hook_views_api(). @@ -1044,9 +1042,9 @@ function facebook_status_display_user_pi return theme('user_picture', $account); } -//========================== -//SMS FRAMEWORK INTEGRATION. -//========================== +//=========================== +// SMS FRAMEWORK INTEGRATION. +//=========================== /** * Implementation of hook_sms_incoming(). @@ -1063,9 +1061,9 @@ function facebook_status_sms_incoming($o } } -//================================== -//VIEWS BULK OPERATIONS INTEGRATION. -//================================== +//=================================== +// VIEWS BULK OPERATIONS INTEGRATION. +//=================================== /** * Implementation of hook_views_bulk_operations_object_info(). @@ -1081,9 +1079,9 @@ function facebook_status_views_bulk_oper ); } -//=================== -//CTOOLS INTEGRATION. -//=================== +//==================== +// CTOOLS INTEGRATION. +//==================== /** * Implementation of hook_ctools_plugin_directory(). diff -uprN -x CVS facebook_status-DRUPAL-6--3/includes/views/facebook_status.views_default.inc facebook_status/includes/views/facebook_status.views_default.inc --- facebook_status-DRUPAL-6--3/includes/views/facebook_status.views_default.inc 2011-01-22 09:45:41.000000000 +0000 +++ facebook_status/includes/views/facebook_status.views_default.inc 2011-01-30 21:28:34.000000000 +0000 @@ -16,7 +16,7 @@ function facebook_status_views_default_v $view = new view; $view->name = 'facebook_status_all'; $view->description = 'Displays all status updates.'; - $view->tag = 'Facebook-style Statuses'; + $view->tag = 'facebook_status'; $view->view_php = ''; $view->base_table = 'facebook_status'; $view->is_cacheable = FALSE; @@ -360,7 +360,7 @@ function facebook_status_views_default_v $view = new view; $view->name = 'facebook_status_conversation'; $view->description = 'Displays the conversation in status messages between two users.'; - $view->tag = 'Facebook-style Statuses'; + $view->tag = 'facebook_status'; $view->view_php = ''; $view->base_table = 'facebook_status'; $view->is_cacheable = FALSE; @@ -709,7 +709,7 @@ function facebook_status_views_default_v $view = new view; $view->name = 'facebook_status_stream'; $view->description = 'Displays status updates that match the current recipient context.'; - $view->tag = 'Facebook-style Statuses'; + $view->tag = 'facebook_status'; $view->view_php = ''; $view->base_table = 'facebook_status'; $view->is_cacheable = FALSE; diff -uprN -x CVS facebook_status-DRUPAL-6--3/resources/facebook_status.css facebook_status/resources/facebook_status.css --- facebook_status-DRUPAL-6--3/resources/facebook_status.css 2011-01-20 02:53:39.000000000 +0000 +++ facebook_status/resources/facebook_status.css 2011-01-30 23:35:33.000000000 +0000 @@ -13,7 +13,7 @@ margin-left: 0.25em; } -.facebook_status-profile-category .profile { +.facebook-status-profile-category .profile { clear: none; } diff -uprN -x CVS facebook_status-DRUPAL-6--3/submodules/facebook_status_tags/facebook_status_tags.install facebook_status/submodules/facebook_status_tags/facebook_status_tags.install --- facebook_status-DRUPAL-6--3/submodules/facebook_status_tags/facebook_status_tags.install 2011-01-27 00:51:01.000000000 +0000 +++ facebook_status/submodules/facebook_status_tags/facebook_status_tags.install 2011-01-30 23:40:48.000000000 +0000 @@ -61,7 +61,7 @@ function facebook_status_tags_install() if (module_exists('taxonomy')) { $message .= ' '. st('You should now create a vocabulary for use with #hashtags and set FBSST to use it.', array('!vocab' => url('admin/content/taxonomy/add/vocabulary'), - '!fbss' => url('admin/settings/facebook_status/advanced'), + '!fbss' => url('admin/settings/facebook_status/basic'), ) ); } diff -uprN -x CVS facebook_status-DRUPAL-6--3/submodules/facebook_status_tags/facebook_status_tags.module facebook_status/submodules/facebook_status_tags/facebook_status_tags.module --- facebook_status-DRUPAL-6--3/submodules/facebook_status_tags/facebook_status_tags.module 2011-01-27 00:51:01.000000000 +0000 +++ facebook_status/submodules/facebook_status_tags/facebook_status_tags.module 2011-01-30 21:57:03.000000000 +0000 @@ -13,9 +13,9 @@ * - "Term" means a taxonomy term. */ -//============= -//DRUPAL HOOKS. -//============= +//============== +// DRUPAL HOOKS. +//============== /** * Implementation of hook_help(). @@ -164,9 +164,9 @@ function theme_facebook_status_popular_t } } -//==== -//API. -//==== +//===== +// API. +//===== /** * Gets statuses that have a given tag by tag name. @@ -314,7 +314,7 @@ function facebook_status_tags_get_status * @see facebook_status_tags_popular() */ function facebook_status_tags_popular_terms($count = 5, $time = 'all', $options = array()) { - //Backwards compatibility. + // Backwards compatibility. if ($options === FALSE) { $options = array( 'current user only' => FALSE, @@ -427,9 +427,9 @@ function facebook_status_tags_popular($t return $tags; } -//================= -//HELPER FUNCTIONS. -//================= +//================== +// HELPER FUNCTIONS. +//================== /** * Replaces tags with a themed version. @@ -561,9 +561,19 @@ function _facebook_status_tags_get_term( return db_fetch_object(db_query("SELECT tid, name FROM {term_data} WHERE LOWER(name) = LOWER('%s') AND vid = %d", $name, variable_get('facebook_status_tags_vid', -1))); } -//================= -//FBSS INTEGRATION. -//================= +/** + * Convert tags in message to links. + */ +function facebook_status_tags_display_message($message) { + // $status_text comes in pre-encoded. Temporarily replace the single-quote + // character encoding so it doesn't get unintentionally linkified. + $message = str_replace("'", ''', _facebook_status_tags_filter(str_replace(''', "'", $message))); + return $message; +} + +//================== +// FBSS INTEGRATION. +//================== /** * Implementation of hook_preprocess_facebook_status_item(). @@ -627,15 +637,35 @@ function facebook_status_tags_facebook_s db_query("DELETE FROM {facebook_status_tags} WHERE sid = %d", $sid); } -//=================== -//OTHER INTEGRATIONS. -//=================== +//==================== +// OTHER INTEGRATIONS. +//==================== /** * Implementation of hook_views_api(). */ function facebook_status_tags_views_api() { - return array('api' => 2); + return array( + 'api' => 2, + 'path' => drupal_get_path('module', 'facebook_status_tags') .'/views', + ); +} + +/** + * Override message handler to convert tags to links. + */ +function facebook_status_tags_views_data_alter(&$data) { + $data['facebook_status']['message'] = array( + 'title' => t('Status message (tags linked)'), + 'help' => t('The text of the status update with tags converted to links.'), + 'field' => array( + 'handler' => 'facebook_status_tags_views_handler_field_message', + 'click sortable' => TRUE, + ), + 'filter' => array( + 'handler' => 'views_handler_filter_string', + ), + ); } /** diff -uprN -x CVS facebook_status-DRUPAL-6--3/submodules/facebook_status_tags/views/facebook_status_tags.views.inc facebook_status/submodules/facebook_status_tags/views/facebook_status_tags.views.inc --- facebook_status-DRUPAL-6--3/submodules/facebook_status_tags/views/facebook_status_tags.views.inc 2011-01-27 00:51:01.000000000 +0000 +++ facebook_status/submodules/facebook_status_tags/views/facebook_status_tags.views.inc 2011-01-30 23:15:50.000000000 +0000 @@ -136,7 +136,7 @@ function facebook_status_tags_views_data function facebook_status_tags_views_handlers() { return array( 'info' => array( - 'path' => drupal_get_path('module', 'facebook_status'), + 'path' => drupal_get_path('module', 'facebook_status_tags') .'/views', ), 'handlers' => array( 'facebook_status_tags_views_handler_argument_has_this_tag' => array( @@ -160,6 +160,9 @@ function facebook_status_tags_views_hand 'facebook_status_tags_views_handler_filter_string_type' => array( 'parent' => 'views_handler_filter_in_operator', ), + 'facebook_status_tags_views_handler_field_message' => array( + 'parent' => 'views_handler_field', + ), ), ); } diff -uprN -x CVS facebook_status-DRUPAL-6--3/submodules/facebook_status_tags/views/facebook_status_tags.views_default.inc facebook_status/submodules/facebook_status_tags/views/facebook_status_tags.views_default.inc --- facebook_status-DRUPAL-6--3/submodules/facebook_status_tags/views/facebook_status_tags.views_default.inc 2011-01-27 00:51:01.000000000 +0000 +++ facebook_status/submodules/facebook_status_tags/views/facebook_status_tags.views_default.inc 2011-01-30 23:15:55.000000000 +0000 @@ -21,7 +21,7 @@ function facebook_status_tags_views_defa $view->disabled = !module_exists('taxonomy'); $handler = $view->new_display('default', 'Tag Reference', 'default'); $handler->override_option('fields', array( - 'pid_extra' => array( + 'user_contextual_pic' => array( 'label' => '', 'alter' => array( 'alter_text' => 0, @@ -40,12 +40,12 @@ function facebook_status_tags_views_defa 'html' => 0, ), 'exclude' => 1, - 'id' => 'pid_extra', + 'id' => 'user_contextual_pic', 'table' => 'facebook_status', - 'field' => 'pid_extra', + 'field' => 'user_contextual_pic', 'relationship' => 'none', ), - 'status' => array( + 'message' => array( 'label' => '', 'alter' => array( 'alter_text' => 0, @@ -64,16 +64,16 @@ function facebook_status_tags_views_defa 'html' => 0, ), 'exclude' => 1, - 'id' => 'status', + 'id' => 'message', 'table' => 'facebook_status', - 'field' => 'status', + 'field' => 'message', 'relationship' => 'none', ), - 'status_time' => array( + 'created' => array( 'label' => '', 'alter' => array( 'alter_text' => 1, - 'text' => '[pid_extra] [status] [status_time]', + 'text' => '', 'make_link' => 0, 'path' => '', 'alt' => '', @@ -89,19 +89,47 @@ function facebook_status_tags_views_defa ), 'date_format' => 'time ago', 'custom_date_format' => '1', - 'exclude' => 0, - 'id' => 'status_time', + 'exclude' => 1, + 'id' => 'created', 'table' => 'facebook_status', - 'field' => 'status_time', + 'field' => 'created', + 'relationship' => 'none', + ), + 'nothing' => array( + 'label' => '', + 'alter' => array( + 'text' => '
[user_contextual_pic] [message] [created]
', + 'make_link' => 0, + 'path' => '', + 'link_class' => '', + 'alt' => '', + 'prefix' => '', + 'suffix' => '', + 'target' => '', + 'help' => '', + 'trim' => 0, + 'max_length' => '', + 'word_boundary' => 1, + 'ellipsis' => 1, + 'html' => 0, + 'strip_tags' => 0, + ), + 'empty' => '', + 'hide_empty' => 0, + 'empty_zero' => 0, + 'exclude' => 0, + 'id' => 'nothing', + 'table' => 'views', + 'field' => 'nothing', 'relationship' => 'none', ), )); $handler->override_option('sorts', array( - 'status_time' => array( + 'created' => array( 'order' => 'DESC', - 'id' => 'status_time', + 'id' => 'created', 'table' => 'facebook_status', - 'field' => 'status_time', + 'field' => 'created', 'relationship' => 'none', ), 'sid' => array( @@ -166,36 +194,6 @@ function facebook_status_tags_views_defa 'validate_argument_php' => '', ), )); - $handler->override_option('filters', array( - 'sid_extra' => array( - 'operator' => '=', - 'value' => '0', - 'group' => '0', - 'exposed' => FALSE, - 'expose' => array( - 'operator' => FALSE, - 'label' => '', - ), - 'id' => 'sid_extra', - 'table' => 'facebook_status', - 'field' => 'sid_extra', - 'relationship' => 'none', - ), - 'pid_extra_3' => array( - 'operator' => '=', - 'value' => '0', - 'group' => '0', - 'exposed' => FALSE, - 'expose' => array( - 'operator' => FALSE, - 'label' => '', - ), - 'id' => 'pid_extra_3', - 'table' => 'facebook_status', - 'field' => 'pid_extra_3', - 'relationship' => 'none', - ), - )); $handler->override_option('access', array( 'type' => 'perm', 'perm' => 'view all statuses', @@ -210,19 +208,19 @@ function facebook_status_tags_views_defa 'sticky' => 0, 'order' => 'asc', 'columns' => array( - 'pid_extra' => 'pid_extra', - 'status' => 'status', - 'status_time' => 'status_time', + 'user_contextual_pic' => 'user_contextual_pic', + 'message' => 'message', + 'created' => 'created', ), 'info' => array( - 'pid_extra' => array( + 'user_contextual_pic' => array( 'separator' => '', ), - 'status' => array( + 'message' => array( 'sortable' => 0, 'separator' => '', ), - 'status_time' => array( + 'created' => array( 'sortable' => 0, 'separator' => '', ), @@ -284,7 +282,7 @@ function facebook_status_tags_views_defa $view->disabled = FALSE; $handler = $view->new_display('default', 'User Reference', 'default'); $handler->override_option('fields', array( - 'pid_extra' => array( + 'user_contextual_pic' => array( 'label' => '', 'alter' => array( 'alter_text' => 0, @@ -303,12 +301,12 @@ function facebook_status_tags_views_defa 'html' => 0, ), 'exclude' => 1, - 'id' => 'pid_extra', + 'id' => 'user_contextual_pic', 'table' => 'facebook_status', - 'field' => 'pid_extra', + 'field' => 'user_contextual_pic', 'relationship' => 'none', ), - 'status' => array( + 'message' => array( 'label' => '', 'alter' => array( 'alter_text' => 0, @@ -327,16 +325,16 @@ function facebook_status_tags_views_defa 'html' => 0, ), 'exclude' => 1, - 'id' => 'status', + 'id' => 'message', 'table' => 'facebook_status', - 'field' => 'status', + 'field' => 'message', 'relationship' => 'none', ), - 'status_time' => array( + 'created' => array( 'label' => '', 'alter' => array( 'alter_text' => 1, - 'text' => '[pid_extra] [status] [status_time]', + 'text' => '', 'make_link' => 0, 'path' => '', 'alt' => '', @@ -352,19 +350,47 @@ function facebook_status_tags_views_defa ), 'date_format' => 'time ago', 'custom_date_format' => '1', - 'exclude' => 0, - 'id' => 'status_time', + 'exclude' => 1, + 'id' => 'created', 'table' => 'facebook_status', - 'field' => 'status_time', + 'field' => 'created', + 'relationship' => 'none', + ), + 'nothing' => array( + 'label' => '', + 'alter' => array( + 'text' => '
[user_contextual_pic] [message] [created]
', + 'make_link' => 0, + 'path' => '', + 'link_class' => '', + 'alt' => '', + 'prefix' => '', + 'suffix' => '', + 'target' => '', + 'help' => '', + 'trim' => 0, + 'max_length' => '', + 'word_boundary' => 1, + 'ellipsis' => 1, + 'html' => 0, + 'strip_tags' => 0, + ), + 'empty' => '', + 'hide_empty' => 0, + 'empty_zero' => 0, + 'exclude' => 0, + 'id' => 'nothing', + 'table' => 'views', + 'field' => 'nothing', 'relationship' => 'none', ), )); $handler->override_option('sorts', array( - 'status_time' => array( + 'created' => array( 'order' => 'DESC', - 'id' => 'status_time', + 'id' => 'created', 'table' => 'facebook_status', - 'field' => 'status_time', + 'field' => 'created', 'relationship' => 'none', ), 'sid' => array( @@ -423,59 +449,7 @@ function facebook_status_tags_views_defa 'validate_argument_type' => 'tid', 'validate_argument_transform' => 0, 'validate_user_restrict_roles' => 0, - 'validate_argument_php' => '//If this view is overridden and then FBSS is disabled, it can -//cause a WSOD if these lines are not included here. -if (!function_exists(\'_facebook_status_user_load_by_name\')) { - return; -} - -if (is_numeric($argument)) { - return TRUE; -} -if (strpos($argument, \',\') !== FALSE) { - $names = explode(\',\', $argument); - $type = \',\'; -} -else if (strpos($argument, \'+\') !== FALSE) { - $names = explode(\'+\', $argument); - $type = \'+\'; -} -else { - $names = array($argument); - $type = \'\'; -} -$uids = array(); -foreach ($names as $name) { - if (is_numeric($name)) { - $uids[] = $name; - continue; - } - $account = _facebook_status_user_load_by_name($name); - if ($account->uid) { - $uids[] = $account->uid; - } -} -if (!empty($uids)) { - $handler->argument = implode($type, $uids); - return TRUE; -} -return FALSE;', - ), - )); - $handler->override_option('filters', array( - 'pid_extra_3' => array( - 'operator' => '=', - 'value' => '0', - 'group' => '0', - 'exposed' => FALSE, - 'expose' => array( - 'operator' => FALSE, - 'label' => '', - ), - 'id' => 'pid_extra_3', - 'table' => 'facebook_status', - 'field' => 'pid_extra_3', - 'relationship' => 'none', + 'validate_argument_php' => '', ), )); $handler->override_option('access', array( @@ -494,20 +468,20 @@ return FALSE;', 'sticky' => 0, 'order' => 'asc', 'columns' => array( - 'name' => 'name', - 'status' => 'status', - 'status_time' => 'status_time', + 'user_contextual_pic' => 'user_contextual_pic', + 'message' => 'message', + 'created' => 'created', ), 'info' => array( - 'name' => array( + 'user_contextual_pic' => array( 'sortable' => 0, 'separator' => '', ), - 'status' => array( + 'message' => array( 'sortable' => 0, 'separator' => '', ), - 'status_time' => array( + 'created' => array( 'sortable' => 0, 'separator' => '', ), @@ -584,70 +558,9 @@ return FALSE;', 'validate_argument_type' => 'tid', 'validate_argument_transform' => 0, 'validate_user_restrict_roles' => 0, - 'validate_argument_php' => '//If this view is overridden and then FBSS is disabled, it can -//cause a WSOD if these lines are not included here. -if (!function_exists(\'_facebook_status_user_load\')) { - return; -} - -//If the argument is not present, get it from the UID in the URL instead. -if (arg(0) == \'user\' && !is_string($argument)) { - $account = _facebook_status_user_load(arg(1)); - if ($account->uid) { - $handler->argument = $account->name; - return TRUE; - } -} -else if (is_string($argument)) { - $account = _facebook_status_user_load_by_name($argument); - if ($account->uid) { - return TRUE; - } -} -return FALSE;', + 'validate_argument_php' => '', ), )); - if (module_exists('php')) { - $handler->override_option('footer', 'uid && $account->uid != $user->uid) { - echo l(\'View mentions between you and \'. $account->name, \'statuses/conversation/\'. check_plain($account->name) .\',\'. check_plain($user->name)); - } - */ - ?>'); - $handler->override_option('footer_format', '3'); - $handler->override_option('footer_empty', 0); - $handler->override_option('empty', 'uid == $account->uid) { - echo t(\'No one has mentioned you yet.\'); - } - else { - echo t(\'No one has mentioned @name.\', array(\'@name\' => $account->name)); - } - } - ?>'); - $handler->override_option('empty_format', '3'); - } $handler->override_option('items_per_page', 5); $handler->override_option('use_pager', '0'); $handler->override_option('pager_element', 11); diff -uprN -x CVS facebook_status-DRUPAL-6--3/submodules/facebook_status_tags/views/facebook_status_tags_views_handler_field_message.inc facebook_status/submodules/facebook_status_tags/views/facebook_status_tags_views_handler_field_message.inc --- facebook_status-DRUPAL-6--3/submodules/facebook_status_tags/views/facebook_status_tags_views_handler_field_message.inc 1970-01-01 01:00:00.000000000 +0100 +++ facebook_status/submodules/facebook_status_tags/views/facebook_status_tags_views_handler_field_message.inc 2011-01-30 23:16:12.000000000 +0000 @@ -0,0 +1,22 @@ +{$this->field_alias}); + $message = $values->{$this->field_alias}; +/* if (variable_get('facebook_status_nl2br', 0)) { + $message = nl2br($message); + }*/ + return facebook_status_tags_display_message($message); + } +} + diff -uprN -x CVS facebook_status-DRUPAL-6--3/submodules/fbss_activity/fbss_activity.module facebook_status/submodules/fbss_activity/fbss_activity.module --- facebook_status-DRUPAL-6--3/submodules/fbss_activity/fbss_activity.module 2010-11-30 07:20:45.000000000 +0000 +++ facebook_status/submodules/fbss_activity/fbss_activity.module 2011-01-30 23:33:42.000000000 +0000 @@ -21,6 +21,16 @@ function fbss_activity_facebook_status_d } /** + * Major hack. This shouldn't be needed. + */ +function fbss_activity_hook_info() { + $info = facebook_status_hook_info(); + $info['fbss_activity'] = $info['facebook_status']; + unset($info['facebook_status']); + return $info; +} + +/** * Implementation of hook_activity_info(). */ function fbss_activity_activity_info() { @@ -29,9 +39,18 @@ function fbss_activity_activity_info() { $info->name = 'facebook_status'; $info->object_type = 'facebook_status'; $info->eid_field = 'sid'; - $info->objects = array('Owner' => 'facebook_status', 'Poster' => 'poster'); - $info->hooks = array('facebook_status' => array('fbss_deleted', 'fbss_edited', 'fbss_submitted', 'fbss_submitted_other')); - $info->realms = array('facebook_status_poster' => 'Facebook-style Statuses Poster', 'facebook_status_owner' => 'Facebook-style Statuses Owner'); + $info->objects = array('Recipient' => 'facebook_status', 'Sender' => 'sender'); + $hooks = array('fbss_deleted', 'fbss_edited', 'fbss_submitted', 'fbss_submitted_other'); + foreach (facebook_status_all_contexts() as $type => $details) { + if ($type == 'user') { + array_push($hooks, 'fbss_submitted_user_self', 'fbss_submitted_user_other'); + } + else { + array_push($hooks, 'fbss_submitted_'. $type); + } + } + $info->hooks = array('facebook_status' => $hooks); + $info->realms = array('facebook_status_sender' => 'Facebook-style Statuses Sender', 'facebook_status_recipient' => 'Facebook-style Statuses Recipient'); return $info; } @@ -41,9 +60,9 @@ function fbss_activity_activity_info() { function fbss_activity_activity_grants($activity) { $realms = array(); if ($activity->type == 'facebook_status') { - $realms['facebook_status_owner'] = array($activity->uid); - $result = db_fetch_object(db_query("SELECT pid FROM {facebook_status} WHERE sid = %d", $activity->eid)); - $realms['facebook_status_poster'] = array($result->pid); + $realms['facebook_status_sender'] = array($activity->uid); + $result = db_fetch_object(db_query("SELECT recipient FROM {facebook_status} WHERE sid = %d", $activity->eid)); + $realms['facebook_status_recipient'] = array($result->recipient); } return $realms; } @@ -53,8 +72,8 @@ function fbss_activity_activity_grants($ */ function fbss_activity_activity_access_grants($account) { return array( - 'facebook_status_owner' => array($account->uid), - 'facebook_status_poster' => array($account->uid), + 'facebook_status_recipient' => array($account->uid), + 'facebook_status_sender' => array($account->uid), ); } diff -uprN -x CVS facebook_status-DRUPAL-6--3/submodules/fbssc/fbssc.css facebook_status/submodules/fbssc/fbssc.css --- facebook_status-DRUPAL-6--3/submodules/fbssc/fbssc.css 2011-01-27 00:19:26.000000000 +0000 +++ facebook_status/submodules/fbssc/fbssc.css 2011-01-30 21:31:02.000000000 +0000 @@ -4,7 +4,7 @@ padding: 0.75em; } -.fbssc_comment { +.fbssc-comment { border-bottom: 1px solid #E0E0E0; margin: 0.5em 0; padding: 0.5em 0.25em 0.75em; @@ -20,55 +20,55 @@ padding: 0; } -.fbssc_author { +.fbssc-author { display: inline; padding-right: 0.5em; } -.fbssc_text { +.fbssc-text { display: inline; padding: 0.5em 0 0; } -.fbssc_closure { +.fbssc-closure { font-size: 90%; margin-top: 0.25em; } -.fbssc_closure span { +.fbssc-closure span { padding-right: 1em; } -.fbssc_created { +.fbssc-created { font-style: italic; } -.fbssc_form .resizable-textarea { +.fbssc-form .resizable-textarea { margin: 1.5em 1.5em 1em; } -.fbssc_form .form-submit { +.fbssc-form .form-submit { margin: 0 1.5em; } -.fbssc_hide { +.fbssc-hide { display: none; } /* The "Comment" link. */ -.fbssc_show_comment_form { +.fbssc-show-comment-form { display: inline; font-size: 90%; margin-left: 0.5em; } -.fbssc_show_comment_form_inner { +.fbssc-show-comment-form-inner { display: inline; font-size: 90%; margin-left: 2.25em; } /* The "Show all comments" link. */ -.fbssc_show_comments_link { +.fbssc-show-comments-link { border-bottom: 1px solid #E0E0E0; display: block; font-size: 90%; @@ -76,4 +76,4 @@ } /* The "Show all comments" link when it expands instead of redirecting. */ -.fbssc_show_comments {} +.fbssc-show-comments {} diff -uprN -x CVS facebook_status-DRUPAL-6--3/submodules/fbssc/fbssc.js facebook_status/submodules/fbssc/fbssc.js --- facebook_status-DRUPAL-6--3/submodules/fbssc/fbssc.js 2011-01-27 00:19:27.000000000 +0000 +++ facebook_status/submodules/fbssc/fbssc.js 2011-01-30 21:34:07.000000000 +0000 @@ -1,18 +1,18 @@ // $Id$ Drupal.behaviors.fbssc = function (context) { - $('.fbssc_show_comment_form').one('click', function() { + $('.fbssc-show-comment-form').one('click', function() { $(this).hide(); $('#'+ this.id +' + div').show(); return false; }); - $('.fbssc_show_comment_form_inner').one('click', function() { + $('.fbssc-show-comment-form-inner').one('click', function() { $(this).hide(); $('#'+ this.id +' + div').show(); return false; }); - $('a.fbssc_show_comments').one('click', function() { + $('a.fbssc-show-comments').one('click', function() { $(this).hide(); - $('#'+ this.id +' ~ div.fbssc_hide').show(); + $('#'+ this.id +' ~ div.fbssc-hide').show(); return false; }); } diff -uprN -x CVS facebook_status-DRUPAL-6--3/submodules/fbssc/fbssc.module facebook_status/submodules/fbssc/fbssc.module --- facebook_status-DRUPAL-6--3/submodules/fbssc/fbssc.module 2011-01-27 00:19:26.000000000 +0000 +++ facebook_status/submodules/fbssc/fbssc.module 2011-01-30 23:47:12.000000000 +0000 @@ -18,9 +18,9 @@ * - Turn the comment theme functions into templates. */ -//============= -//DRUPAL HOOKS. -//============= +//============== +// DRUPAL HOOKS. +//============== /** * Implementation of hook_init(). @@ -140,15 +140,15 @@ function theme_fbssc_item($comment, $cla if (!fbssc_can_view($comment)) { return FALSE; } - array_unshift($classes, 'fbssc_comment'); + array_unshift($classes, 'fbssc-comment'); $classes = implode(' ', $classes); $output = '
'; - $output .= '
'. theme('username', _facebook_status_user_load($comment->uid)) .'
'; + $output .= '
'. theme('username', _facebook_status_user_load($comment->uid)) .'
'; $comment_text = _facebook_status_run_filter($comment->comment); $comment_text = nl2br($comment_text); - $output .= '
'. $comment_text .'
'; - $output .= '
'; - $output .= ''. theme('facebook_status_time', $comment->created) .''; + $output .= '
'. $comment_text .'
'; + $output .= '
'; + $output .= ''. theme('facebook_status_time', $comment->created) .''; $q = $_GET['q']; if ($destination) { $q = $destination; @@ -157,12 +157,12 @@ function theme_fbssc_item($comment, $cla $q = ''; } if (fbssc_can_edit($comment)) { - $output .= ''. + $output .= ''. l(t('Edit'), 'statuses/comment/'. $comment->cid .'/edit', array('query' => array('destination' => $q))) .''; } if (fbssc_can_delete($comment)) { - $output .= ''. + $output .= ''. l(t('Delete'), 'statuses/comment/'. $comment->cid .'/delete', array('query' => array('destination' => $q))) .''; } @@ -199,9 +199,9 @@ function theme_fbssc_items($comments, $d drupal_add_js($path .'/fbssc.js'); $output = '
'; if ($count > 3 && $delay_load) { - $options = array('attributes' => array('class' => 'fbssc_show_comments_link fbssc_show_comments', 'id' => 'fbssc_toggle_'. $comments[0]->sid)); + $options = array('attributes' => array('class' => 'fbssc-show-comments-link fbssc-show-comments', 'id' => 'fbssc-toggle-'. $comments[0]->sid)); if ($count > 9) { - $options['attributes']['class'] = 'fbssc_show_comments_link'; + $options['attributes']['class'] = 'fbssc-show-comments-link'; } $output .= l(t('Show all @count comments', array('@count' => $count)), 'statuses/'. $comments[0]->sid, $options); } @@ -258,18 +258,18 @@ function theme_fbssc_form_display($sid, drupal_add_js($path .'/fbssc.js'); $output = ''; if ($delay_load_form && !fbssc_count_comments($sid)) { - $output = '
'. - l(t('Comment'), 'statuses/'. $sid, array('attributes' => array('class' => 'fbssc_show_comment_form_link'))) + $output = '
'. + l(t('Comment'), 'statuses/'. $sid, array('attributes' => array('class' => 'fbssc-show-comment-form-link'))) .'
'; - return $output .'
'. drupal_get_form('fbssc_box', $sid, $delay_load_comments) .'
'; + return $output .'
'. drupal_get_form('fbssc_box', $sid, $delay_load_comments) .'
'; } - return '
'. drupal_get_form('fbssc_box', $sid, $delay_load_comments) .'
'; + return '
'. drupal_get_form('fbssc_box', $sid, $delay_load_comments) .'
'; } } -//============== -//API FUNCTIONS. -//============== +//=============== +// API FUNCTIONS. +//=============== /** * Loads a status comment. @@ -460,9 +460,9 @@ function fbssc_can_delete($comment, $acc && $account->uid == _fbssc_get_thread_author($comment->sid); } -//================= -//HELPER FUNCTIONS. -//================= +//================== +// HELPER FUNCTIONS. +//================== /** * Determines the author of a status. @@ -504,12 +504,12 @@ function fbssc_box($form_state, $sid, $d $form['#qu'] = $form_state['fbssc']['q']; } $comments = fbssc_get_comments($sid); - $form['before'] = array('#value' => '
'); + $form['before'] = array('#value' => '
'); $form['comments'] = array('#value' => theme('fbssc_items', $comments, $delay_load, $form['#qu'])); if (count($comments)) { - $form['start-hide'] = array('#value' => '
'. - l(t('Comment'), 'statuses/'. $sid, array('attributes' => array('class' => 'fbssc_show_comment_inner_form_link'))) - .'
'); + $form['start-hide'] = array('#value' => '
'. + l(t('Comment'), 'statuses/'. $sid, array('attributes' => array('class' => 'fbssc-show-comment-inner-form-link'))) + .'
'); } $form['status-comment'] = array( '#type' => 'textarea', @@ -521,7 +521,7 @@ function fbssc_box($form_state, $sid, $d '#value' => t('Comment'), '#ahah' => array( 'path' => 'fbssc/js/refresh', - 'wrapper' => 'fbssc_replace_'. $sid, + 'wrapper' => 'fbssc-replace-'. $sid, 'effect' => 'fade', 'method' => 'replace', ), @@ -576,9 +576,9 @@ function fbssc_save_js() { drupal_json(array('status' => TRUE, 'data' => $output)); } -//============= -//INTEGRATIONS. -//============= +//============== +// INTEGRATIONS. +//============== /** * Implementation of hook_facebook_status_delete(). @@ -656,9 +656,9 @@ function fbssc_views_default_views_alter $t = drupal_substr($t, 0, -6) . ' [comment-box]
'; } else { - $t .= "\n\n
[comment-box]
"; + $t = "\n\n
[comment-box]
"; } - $view->display['default']->display_options['fields']['nothing']['alter']['text'] .= $t; + $view->display['default']->display_options['fields']['nothing']['alter']['text'] = $t; } } }