public function fixData($data, $override_language = false)
 {
     $baseURL = Application_Plugin_Common::getFullBaseUrl();
     $transl = Zend_Registry::get('Zend_Translate');
     // set default language to network default
     $transl_default = Zend_Registry::get('Zend_Translate');
     if ($override_language) {
         $transl_default->setLocale(Zend_Registry::get('config')->get('default_language'));
     }
     foreach ($data as &$row) {
         $row['bulk_notifications'] = json_decode($row['bulk_notifications'], true);
         $row['html_link'] = '';
         $row['do_send_email'] = true;
         // default, can be overriden
         $row['view_from_name'] = $row['profile_name'];
         $row['view_from_screen_name'] = $row['profile_screen_name'];
         $row['view_from_avatar'] = $row['profile_avatar'];
         switch ($row['notification_type']) {
             // new comment on post/image (inform all users included in this discussion)
             case 1:
                 $row['subject'] = $transl->translate('New comment');
                 $row['subject_email'] = $transl_default->translate('New comment');
                 if ($row['comment_resource_type'] == 'post') {
                     $row['html_link'] .= '<a href="' . $baseURL . '/profiles/showpost/name/' . $row['commented_post_on_wall'] . '/post/' . $row['commented_post_id'] . '">';
                 } elseif ($row['comment_resource_type'] == 'image') {
                     $row['html_link'] .= '<a href="' . $baseURL . '/index/index/showimage/' . $row['commented_image_uid'] . '">';
                 } else {
                     $row['html_link'] .= $transl->translate('Resource not available');
                     $row['view_from_avatar'] = 'default/generic.jpg';
                     break;
                 }
                 $row['html_link'] .= sprintf($transl->translate('%s posted a new comment'), $row['comment_author_screen_name']);
                 $row['html_link'] .= '</a>';
                 $row['html_link'] .= '<p>';
                 $row['html_link'] .= strlen($row['comment_content']) > 150 ? Application_Plugin_Common::mbsubstr($row['comment_content'], 0, 150, 'utf-8') : $row['comment_content'];
                 $row['html_link'] .= '</p>';
                 $row['view_from_name'] = $row['comment_author_name'];
                 $row['view_from_screen_name'] = $row['comment_author_screen_name'];
                 $row['view_from_avatar'] = $row['comment_author_avatar'];
                 break;
                 // 2 - new like on post/comment/image
             // 2 - new like on post/comment/image
             case 2:
                 $row['subject'] = $transl->translate('New like');
                 $row['subject_email'] = $transl_default->translate('New like');
                 $row['html_link'] .= '<a href="' . $baseURL . '/likes/show/like/' . $row['like_id'] . '">';
                 $row['html_link'] .= sprintf($transl->translate('%s likes your %s'), $row['like_user_screen_name'], $transl->translate($row['like_resource_type']));
                 $row['html_link'] .= '</a>';
                 $row['view_from_name'] = $row['like_user_name'];
                 $row['view_from_screen_name'] = $row['like_user_screen_name'];
                 $row['view_from_avatar'] = $row['like_user_avatar'];
                 break;
                 // 3 - new follower
             // 3 - new follower
             case 3:
                 $row['subject'] = $transl->translate('You have new followers');
                 $row['subject_email'] = $transl_default->translate('You have new followers');
                 $row['html_link'] .= '<a href="' . $baseURL . '/' . $row['profile_name'] . '">';
                 $row['html_link'] .= sprintf($transl->translate('%s is now following you'), $row['profile_screen_name']);
                 $row['html_link'] .= '</a>';
                 break;
                 // 4 - new friend
             // 4 - new friend
             case 4:
                 $row['subject'] = $transl->translate('New comment');
                 $row['subject_email'] = $transl_default->translate('New comment');
                 $row['html_link'] .= '<a href="' . $baseURL . '/' . $row['profile_name'] . '">';
                 $row['html_link'] .= sprintf($transl->translate('%s and you are now friends'), $row['profile_screen_name']);
                 $row['html_link'] .= '</a>';
                 break;
                 // 6 - lost a follower
             // 6 - lost a follower
             case 6:
                 $row['subject'] = $transl->translate('You have lost a follower');
                 $row['subject_email'] = $transl_default->translate('You have lost a follower');
                 $row['html_link'] .= '<a href="' . $baseURL . '/' . $row['profile_name'] . '">';
                 $row['html_link'] .= sprintf($transl->translate('%s has stopped following you'), $row['profile_screen_name']);
                 $row['html_link'] .= '</a>';
                 break;
                 // 7 - posted on your wall
             // 7 - posted on your wall
             case 7:
                 if (!$row['post_author_name']) {
                     $row['html_link'] .= $transl->translate('Resource not available');
                     $row['view_from_avatar'] = 'default/generic.jpg';
                     break;
                 }
                 $row['subject'] = $transl->translate('New post on your wall');
                 $row['subject_email'] = $transl_default->translate('New post on your wall');
                 $row['html_link'] .= '<a href="' . $baseURL . '/profiles/showpost/name/' . $row['to_name'] . '/post/' . $row['post_id'] . '">';
                 $row['html_link'] .= sprintf($transl->translate('%s posted on your wall'), $row['post_author_screen_name']);
                 $row['html_link'] .= '</a>';
                 $row['html_link'] .= '<p>';
                 $row['html_link'] .= strlen($row['post_content']) > 150 ? Application_Plugin_Common::mbsubstr($row['comment_content'], 0, 150, 'utf-8') : $row['post_content'];
                 $row['html_link'] .= '</p>';
                 $row['view_from_name'] = $row['post_author_name'];
                 $row['view_from_screen_name'] = $row['post_author_screen_name'];
                 $row['view_from_avatar'] = $row['post_author_avatar'];
                 break;
                 // 8 - new message (send email to notify)
             // 8 - new message (send email to notify)
             case 8:
                 $row['subject'] = $transl->translate('You have a new private message');
                 $row['subject_email'] = $transl_default->translate('You have a new private message');
                 $row['html_link'] .= '<a href="' . $baseURL . '/messages/inbox/user/' . $row['profile_name'] . '">';
                 $row['html_link'] .= sprintf($transl->translate('%s sent you a new private message'), $row['profile_screen_name']);
                 $row['html_link'] .= '</a>';
                 break;
                 // 10 - group membership accepted
             // 10 - group membership accepted
             case 10:
                 $row['do_send_email'] = false;
                 $row['html_link'] .= '<a href="' . $baseURL . '/' . $row['profile_name'] . '">';
                 $row['html_link'] .= $transl->translate('Group membership accepted');
                 $row['html_link'] .= '</a>';
                 break;
                 // 11 - group membership rejected
             // 11 - group membership rejected
             case 11:
                 // no email
                 $row['do_send_email'] = false;
                 $row['html_link'] .= '<a href="' . $baseURL . '/' . $row['profile_name'] . '">';
                 $row['html_link'] .= $transl->translate('Group membership rejected');
                 $row['html_link'] .= '</a>';
                 break;
                 // 12 - request for group membership sent
             // 12 - request for group membership sent
             case 12:
                 $row['do_send_email'] = false;
                 $row['html_link'] .= '<a href="' . $baseURL . '/' . $row['profile_name'] . '">';
                 $row['html_link'] .= $transl->translate('New group membership request');
                 $row['html_link'] .= '</a>';
                 break;
             default:
                 break;
         }
     }
     // trigger hooks
     Zend_Registry::get('hooks')->trigger('hook_data_notificationsfix', $data);
     return $data;
 }
Esempio n. 2
0
 /**
  * limit input to max posts
  */
 static function limitInput($data)
 {
     if (Zend_Registry::get('config')->get('max_post_length') > 0 && strlen($data) > Zend_Registry::get('config')->get('max_post_length')) {
         $data = Application_Plugin_Common::mbsubstr($data, 0, Zend_Registry::get('config')->get('max_post_length'), 'utf-8');
     }
     return $data;
 }