Advertisement
Guest User

Untitled

a guest
May 16th, 2016
143
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 6.57 KB | None | 0 0
  1. <?php
  2.  
  3. class Dark_TaigaChat_Helper_Global
  4. {
  5. public static function getTaigaChatStuff(&$response, $action, $dis=false){
  6. $options = XenForo_Application::get('options');
  7. $visitor = XenForo_Visitor::getInstance();
  8. /** @var Dark_TaigaChat_Model_TaigaChat */
  9. $taigamodel = XenForo_Model::create("Dark_TaigaChat_Model_TaigaChat");
  10.  
  11. $visitor = XenForo_Visitor::getInstance();
  12. /** @var Dark_TaigaChat_Model_TaigaChat */
  13. $taigamodel->updateActivity($visitor['user_id'], false);
  14.  
  15. $smilies = array();
  16. $toolbar_bbcode = array();
  17. if($options->dark_taigachat_toolbar){
  18. $toolbar_bbcode_temp2 = preg_replace('#(^//.+$)#mi', '', trim($options->dark_taigachat_toolbar_bbcode));
  19. $toolbar_bbcode_temp2 = str_replace("\r", "", $toolbar_bbcode_temp2);
  20.  
  21. if(!empty($toolbar_bbcode_temp2)){
  22. $toolbar_bbcode_temp = explode("\n", $toolbar_bbcode_temp2);
  23.  
  24. foreach($toolbar_bbcode_temp as $bbcode){
  25. $bbcode = trim($bbcode);
  26. if(!empty($bbcode)){
  27. $bbcode = explode(":", trim($bbcode));
  28. if(!empty($bbcode))
  29. $toolbar_bbcode[$bbcode[0]] = $bbcode[1];
  30. }
  31. }
  32. }
  33.  
  34. if (XenForo_Application::isRegistered('smilies'))
  35. {
  36. $smilies = XenForo_Application::get('smilies');
  37. }
  38. else
  39. {
  40. $smilies = XenForo_Model::create('XenForo_Model_Smilie')->getAllSmiliesForCache();
  41. XenForo_Application::set('smilies', $smilies);
  42. }
  43.  
  44. foreach($smilies as &$smilie){
  45. $smilie['text'] = $smilie['smilieText'][0];
  46. $smilie['sprite_mode'] = array_key_exists('sprite_params', $smilie);
  47. }
  48. }
  49.  
  50. if(empty($response->params['taigachat']))
  51. $response->params['taigachat'] = array();
  52.  
  53. if (!XenForo_Application::isRegistered('config'))
  54. {
  55. $path = 'data';
  56. }
  57. else
  58. {
  59. $path = XenForo_Application::get('config')->externalDataPath;
  60. }
  61.  
  62. if($path == 'data' && $options->dark_taigachat_speedmode == 'Https')
  63. $path = $options->boardUrl . '/' . $path;
  64.  
  65. $isSidebar = $response->viewName != "Dark_TaigaChat_ViewPublic_TaigaChat_Index" && $action != 'popup' && $action != 'xenporta_alt';
  66.  
  67. //$bbCodeParser = new XenForo_BbCode_Parser(XenForo_BbCode_Formatter_Base::create('Base'));
  68. //$motd = new XenForo_BbCode_TextWrapper($options->dark_taigachat_motd, $bbCodeParser);
  69. $motd = false;
  70. if(!empty($options->dark_taigachat_motd)){
  71. $motd = " ";
  72. }
  73.  
  74. // Don't forget to add to dark_taigachat template too
  75. $response->params['taigachat'] += array(
  76. "focusedrefreshtime" => $options->dark_taigachat_focusedrefreshtime,
  77. "unfocusedrefreshtime" => $options->dark_taigachat_unfocusedrefreshtime,
  78. "tabunfocusedrefreshtime" => $options->dark_taigachat_tabunfocusedrefreshtime,
  79. "enabled" => true,///$options->dark_taigachat_enabled,
  80. "maxlength" => $options->dark_taigachat_maxlength,
  81. "reverse" => $options->dark_taigachat_direction,
  82. "height" => $options->dark_taigachat_height,
  83. "route" => $options->dark_taigachat_route,
  84. "timedisplay" => $options->dark_taigachat_timedisplay,
  85. "toolbar" => $options->dark_taigachat_toolbar,
  86. "ignorehide" => $options->dark_taigachat_ignorehide,
  87. "showAlert" => $options->dark_taigachat_showalert,
  88. "toolbar_bbcode" => $toolbar_bbcode,
  89. "toolbar_smilies" => $smilies,
  90. "activity_newtab" => $options->dark_taigachat_activity_newtab,
  91. "newtab" => $options->dark_taigachat_newtab,
  92. "thumbzoom" => $options->dark_taigachat_imagemode == 'ThumbZoom',
  93. "js_modification" => filemtime("js/dark/taigachat.js"),
  94. "canView" => $visitor->hasPermission('dark_taigachat', 'view'),
  95. "canPost" => $visitor->hasPermission('dark_taigachat', 'post'),
  96. "canBan" => $visitor->hasPermission('dark_taigachat', 'ban'),
  97. "canColor" => $taigamodel->canUseColor(),
  98. "color" => $visitor->taigachat_color,
  99. "canModify" => $visitor->hasPermission('dark_taigachat', 'modify'),
  100. "canModifyAll" => $visitor->hasPermission('dark_taigachat', 'modifyAll'),
  101. "canMotd" => $visitor->hasPermission('dark_taigachat', 'motd'),
  102. "motd" => $motd,
  103. //"numInChat" => $taigamodel->getActivityUserCount(),
  104. "sidebar" => $isSidebar,
  105. "popup" => $action == 'popup',
  106. "limit" => $isSidebar ? $options->dark_taigachat_sidebarperpage : $options->dark_taigachat_fullperpage,
  107. "speed" => $options->dark_taigachat_speedmode != 'Disabled',
  108. "speedurl" => $isSidebar ? ($path.'/taigachat/messagesmini.html') : ($path.'/taigachat/messages.html'),
  109. );
  110. }
  111.  
  112.  
  113. public static function processMessagesForView(&$params, &$view){
  114.  
  115. $options = XenForo_Application::get('options');
  116. $formatter = XenForo_BbCode_Formatter_Base::create('Dark_TaigaChat_BbCode_Formatter_Tenori', array('view' => $view));
  117.  
  118. switch($options->dark_taigachat_bbcode){
  119. case 'Full':
  120. $formatter->displayableTags = true;
  121. break;
  122. case 'Basic':
  123. default:
  124. $formatter->displayableTags = array('img', 'url', 'email', 'b', 'u', 'i', 's', 'color');
  125. break;
  126. case 'None':
  127. $formatter->displayableTags = array('url', 'email', 'user');
  128. break;
  129. }
  130. $formatter->getTagsAgain();
  131.  
  132. $parser = new XenForo_BbCode_Parser($formatter);
  133.  
  134. if($options->dark_taigachat_imagemode == 'Link')
  135. foreach($params['taigachat']['messages'] as &$message){
  136. $message['message'] = str_ireplace(array("[img]", "[/img]"), array("[url]", "[/url]"), $message['message']);
  137. }
  138.  
  139. $maxid = $params['taigachat']['lastrefresh'];
  140. foreach($params['taigachat']['messages'] as &$message){
  141.  
  142. if($options->dark_taigachat_bbcode == 'Full')
  143. $message['message'] = XenForo_Helper_String::autoLinkBbCode($message['message']);
  144. else
  145. {
  146. // We don't want to parse youtube etc. urls if [media] is disabled
  147. $autoLinkParser = new XenForo_BbCode_Parser(XenForo_BbCode_Formatter_Base::create('Dark_TaigaChat_BbCode_Formatter_BbCode_AutoLink', false));
  148. $message['message'] = $autoLinkParser->render($message['message']);
  149. }
  150.  
  151. if($message['id'] > $maxid)
  152. $maxid = $message['id'];
  153.  
  154. if(substr($message['message'], 0, 3) == '/me'){
  155. $message['message'] = substr($message['message'], 4);
  156. $message['me'] = true;
  157. }
  158. }
  159.  
  160. if($options->dark_taigachat_smilies)
  161. XenForo_ViewPublic_Helper_Message::bbCodeWrapMessages($params['taigachat']['messages'], $parser);
  162. else
  163. XenForo_ViewPublic_Helper_Message::bbCodeWrapMessages($params['taigachat']['messages'], $parser, array("states" => array("stopSmilies" => true)));
  164.  
  165.  
  166. if($options->dark_taigachat_direction)
  167. $params['taigachat']['messages'] = array_reverse($params['taigachat']['messages']);
  168.  
  169. return $maxid;
  170.  
  171. }
  172. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement