PageRenderTime 47ms CodeModel.GetById 16ms RepoModel.GetById 0ms app.codeStats 0ms

/webapp/lib/smarty_plugins/modifier.bbcode2del4pne.php

https://github.com/usagi-project/mynets1
PHP | 221 lines | 182 code | 11 blank | 28 comment | 44 complexity | 1a20831f7bb5d84720c45511c41ac9b7 MD5 | raw file
  1. <?php
  2. /*
  3. * ------------------------------------------------------------
  4. * @license This source file is subject to version 3.01 of the PHP license,
  5. * that is available at http://www.php.net/license/3_01.txt
  6. * If you did not receive a copy of the PHP license and are unable
  7. * to obtain it through the world-wide-web, please send a note to
  8. * license@php.net so we can mail you a copy immediately.
  9. * @category BBCode Smarty Plugin
  10. * @project OpenPNE Extension Module Project 2007
  11. * @package BBCode Input Suppot Module
  12. * @author Naoya Shimada
  13. * @copyright 2007 Naoya Shimada
  14. * @version 0.1.0
  15. * @since File available since Release OpenPNE 2.6.9,2.8.2, MyNETS 1.1.0 Nighty
  16. * @chengelog [2007/08/07] Modifier for Special Tags of OpenPNE/MyNETS
  17. * ------------------------------------------------------------
  18. */
  19. function _smarty_modifier_delete_link4pnetags($preg)
  20. {
  21. //OpenPNE専用タグ [member][topic][event][commu][community][diary][review][docci]
  22. if(defined('BBCODE_USE_PNE_TAG') && BBCODE_USE_PNE_TAG){
  23. $preg['/\[member\](.*?)\[\/member\]/esi'] = '_smarty_modifier_delete_link4member("\\1")';
  24. $preg['/\[diary\](.*?)(,.*?)?\[\/diary\]/esi'] = '_smarty_modifier_delete_link4diary("\\1","\\2")';
  25. $preg['/\[topic\](.*?)(,.*?)?\[\/topic\]/esi'] = '_smarty_modifier_delete_link4topic("\\1","\\2")';
  26. $preg['/\[event\](.*?)(,.*?)?\[\/event\]/esi'] = '_smarty_modifier_delete_link4event("\\1","\\2")';
  27. $preg['/\[commu\](.*?)\[\/commu\]/esi'] = '_smarty_modifier_delete_link4commu("\\1")';
  28. $preg['/\[community\](.*?)\[\/community\]/esi'] = '_smarty_modifier_delete_link4commu("\\1")';
  29. $preg['/\[review\](.*?)\[\/review\]/esi'] = '_smarty_modifier_delete_link4review("\\1")';
  30. if(defined('BBCODE_USE_DOCCI_TAG') && BBCODE_USE_DOCCI_TAG){
  31. $preg['/\[docci\](.*?)\[\/docci\]/esi'] = '_smarty_modifier_delete_link4docci("\\1")';
  32. }
  33. }
  34. return $preg;
  35. }
  36. function _smarty_modifier_delete_link4member($member_id) {
  37. if(isKtaiUserAgent()){
  38. $link_url = OPENPNE_URL . '?m=ktai&amp;a=page_f_home&amp;target_c_member_id=' . h($member_id);
  39. }else{
  40. $link_url = OPENPNE_URL . '?m=pc&amp;a=page_f_home&amp;target_c_member_id=' . h($member_id);
  41. }
  42. if(function_exists("smarty_modifier_t_url2pne")){
  43. $link_str = $link_url;
  44. }else{
  45. if(function_exists(db_common_c_member_with_profile)){
  46. $member = db_common_c_member_with_profile($member_id);
  47. }else{
  48. $member = db_common_c_member4c_member_id_LIGHT($member_id);
  49. }
  50. if (empty($member['nickname'])){
  51. if(isKtaiUserAgent()){
  52. $link_str = '【該当するメンバーはいません】';
  53. }else{
  54. $link_str = '<span title="member=' . h($member_id) . '" class="bb-red">【該当するメンバーはいません】</span>';
  55. }
  56. } else {
  57. $link_str = h($member['nickname']) . "<br>" . h($link_url) ."<br>";
  58. }
  59. }
  60. return $link_str;
  61. }
  62. function _smarty_modifier_delete_link4diary($diary_id,$comment_id) {
  63. if(isKtaiUserAgent()){
  64. $link_url = OPENPNE_URL . '?m=ktai&amp;a=page_fh_diary&amp;target_c_diary_id=' . h($diary_id);
  65. }else{
  66. $link_url = OPENPNE_URL . '?m=pc&amp;a=page_fh_diary&amp;target_c_diary_id=' . h($diary_id);
  67. }
  68. if(function_exists("smarty_modifier_t_url2pne")){
  69. $link_str = $link_url;
  70. }else{
  71. $db_msg = db_diary_get_c_diary4id($diary_id);
  72. if(function_exists(db_common_c_member_with_profile)){
  73. $member = db_common_c_member_with_profile($db_msg['c_member_id']);
  74. }else{
  75. $member = db_common_c_member4c_member_id_LIGHT($db_msg['c_member_id']);
  76. }
  77. if (empty($db_msg['subject'])){
  78. if(isKtaiUserAgent()){
  79. $link_str = '【該当する日記はありません】';
  80. }else{
  81. $link_str = '<span title="diary=' . h($diary_id) . '" class="bb-red">【該当する日記はありません】</span>';
  82. }
  83. } else {
  84. $link_str = "【" . h($db_msg['subject']) . "】(" . h($member['nickname']) . "さん)" . "<br>" . h($link_url) ."<br>";
  85. }
  86. }
  87. return $link_str;
  88. }
  89. function _smarty_modifier_delete_link4topic($topic_id,$comment_id) {
  90. if(isKtaiUserAgent()){
  91. $link_url = OPENPNE_URL . '?m=ktai&amp;a=page_c_bbs&amp;target_c_commu_topic_id=' . h($topic_id);
  92. }else{
  93. $link_url = OPENPNE_URL . '?m=pc&amp;a=page_c_topic_detail&amp;target_c_commu_topic_id=' . h($topic_id);
  94. }
  95. if(function_exists("smarty_modifier_t_url2pne")){
  96. $link_str = $link_url;
  97. }else{
  98. $db_msg = _do_c_bbs_c_commu_topic4c_commu_topic_id($topic_id);
  99. if (empty($db_msg['name']) || $db_msg['event_flag'] == 1) {
  100. if(isKtaiUserAgent()){
  101. $link_str = '【該当するトピックはありません】';
  102. }else{
  103. $link_str = '<span title="topic=' . h($topic_id) . '" class="bb-red">【該当するトピックはありません】</span>';
  104. }
  105. } else {
  106. $db_cmmu = _db_c_commu4c_commu_id($db_msg['c_commu_id']);
  107. $link_str = "【" . h($db_msg['name']) . "】トピック(コミュニティ:" . h($db_cmmu['name']) .")<br>" . h($link_url) ."<br>";
  108. }
  109. }
  110. return $link_str;
  111. }
  112. function _smarty_modifier_delete_link4event($topic_id,$comment_id) {
  113. if(isKtaiUserAgent()){
  114. $link_url = OPENPNE_URL . '?m=ktai&amp;a=page_c_bbs&amp;target_c_commu_topic_id=' . h($topic_id);
  115. }else{
  116. $link_url = OPENPNE_URL . '?m=pc&amp;a=page_c_event_detail&amp;target_c_commu_topic_id=' . h($topic_id);
  117. }
  118. if(function_exists("smarty_modifier_t_url2pne")){
  119. $link_str = $link_url;
  120. }else{
  121. $db_msg = _do_c_bbs_c_commu_topic4c_commu_topic_id($topic_id);
  122. if (empty($db_msg['name']) || $db_msg['event_flag'] != 1) {
  123. if(isKtaiUserAgent()){
  124. $link_str = '【該当するイベントはありません】';
  125. }else{
  126. $link_str = '<span title="event=' . h($topic_id) . '" class="bb-red">【該当するイベントはありません】</span>';
  127. }
  128. } else {
  129. $db_cmmu = _db_c_commu4c_commu_id($db_msg['c_commu_id']);
  130. $link_str = "【" . h($db_msg['name']) . "】イベント(コミュニティ:" . h($db_cmmu['name']) .")<br>" . h($link_url) ."<br>";
  131. }
  132. }
  133. return $link_str;
  134. }
  135. function _smarty_modifier_delete_link4commu($commu_id) {
  136. if(isKtaiUserAgent()){
  137. $link_url = OPENPNE_URL . '?m=ktai&amp;a=page_c_home&amp;target_c_commu_id=' . h($commu_id);
  138. }else{
  139. $link_url = OPENPNE_URL . '?m=pc&amp;a=page_c_home&amp;target_c_commu_id=' . h($commu_id);
  140. }
  141. if(function_exists("smarty_modifier_t_url2pne")){
  142. $link_str = $link_url;
  143. }else{
  144. $db_msg = _db_c_commu4c_commu_id($commu_id);
  145. if (empty($db_msg['name'])) {
  146. if(isKtaiUserAgent()){
  147. $link_str = '【該当するコミュニティはありません】';
  148. }else{
  149. $link_str = '<span title="commu=' . h($commu_id) . '" class="bb-red">【該当するコミュニティはありません】</span>';
  150. }
  151. } else {
  152. $link_str = "【" . h($db_msg['name']) . "】コミュニティ<br>" . h($link_url) ."<br>";
  153. }
  154. }
  155. return $link_str;
  156. }
  157. function _smarty_modifier_delete_link4review($review_id) {
  158. if(isKtaiUserAgent()){
  159. //携帯の場合はレビューはない
  160. $link_url = "";
  161. }else{
  162. $link_url = OPENPNE_URL . '?m=pc&amp;a=page_h_review_list_product&amp;c_review_id=' . h($review_id);
  163. }
  164. /*
  165. smarty_modifier_t_url2pneには存在しない
  166. if(function_exists("smarty_modifier_t_url2pne")){
  167. $link_str = $link_url;
  168. }else{
  169. */
  170. if(function_exists("db_review_list_product_c_review4c_review_id")){
  171. $db_msg = db_review_list_product_c_review4c_review_id($review_id);
  172. }else{
  173. $db_msg = p_h_review_list_product_c_review4c_review_id($review_id);
  174. }
  175. if (empty($db_msg['title'])) {
  176. if(isKtaiUserAgent()){
  177. $link_str = '【該当するレビューはありません】';
  178. }else{
  179. $link_str = '<span title="review=' . h($review_id) . '" class="bb-red">【該当するレビューはありません】</span>';
  180. }
  181. } else {
  182. $link_str = "【" . h($db_msg['title']) . "】のレビュー<br>" . h($link_url) ."<br>";
  183. }
  184. //}
  185. return $link_str;
  186. }
  187. // ドッチを使用する場合に有効
  188. // https://sourceforge.jp/projects/openpneplus
  189. function _smarty_modifier_delete_link4docci($docci_id) {
  190. if(isKtaiUserAgent()){
  191. $link_url = OPENPNE_URL . '?m=ktai_docci&amp;a=page_view&amp;docci_topic_id=' . h($docci_id);
  192. }else{
  193. $link_url = OPENPNE_URL . '?m=pc_docci&amp;a=page_view&amp;docci_topic_id=' . h($docci_id);
  194. }
  195. $sql = "SELECT value FROM docci_config where name = 'docci_name'";
  196. $docci_name = db_get_one($sql);
  197. $sql = 'SELECT * FROM docci_topic WHERE docci_topic_id = ?';
  198. $db_msg = db_get_row($sql, array(intval($docci_id)));
  199. if (empty($db_msg['topic'])) {
  200. if(isKtaiUserAgent()){
  201. $link_str = '【該当する' . h($docci_name) . 'はありません】';
  202. }else{
  203. $link_str = '<span title="docci=' . h($review_id) . '" class="bb-red">【該当する' . h($docci_name) . 'はありません】</span>';
  204. }
  205. } else {
  206. $link_str = "【" . h($db_msg['topic']) . "】の" . $docci_name . "<br>" . h($link_url) ."<br>";
  207. }
  208. return $link_str;
  209. }
  210. ?>