Интеграция с arrowchat

#1 16 августа 2012 в 16:16
Решил я сделать интеграцию системы ICMS 1.9 с arrowchat Практически все готово но осталось правильно написать один файлик с get запросами на профиль и друзей С этим у меня возникла проблемка Пожалуйста помогите написать Вот код стандартного файла
  1. <?php
  2.  
  3. /*
  4. || #################################################################### ||
  5. || # ArrowChat # ||
  6. || # ---------------------------------------------------------------- # ||
  7. || # Copyright ©2010-2012 ArrowSuites LLC. All Rights Reserved. # ||
  8. || # This file may not be redistributed in whole or significant part. # ||
  9. || # ---------------- ARROWCHAT IS NOT FREE SOFTWARE ---------------- # ||
  10. || # http://www.arrowchat.com | http://www.arrowchat.com/license/ # ||
  11. || #################################################################### ||
  12. */
  13.  
  14. /**
  15. * READ THIS FIRST
  16. *
  17. * The variables in ALL CAPS are filled out during the installation process to help with this part
  18. * so that the getFriendsList function typically needs almost no customization.
  19. *
  20. * TABLE_PREFIX = The prefix your database tables use
  21. * DB_USERTABLE = The name of the user's table
  22. * DB_USERTABLE_USERID = The field for the user ID in the user's table
  23. * DB_USERTABLE_NAME = The field for the username in the user's table
  24. * DB_USERTABLE_AVATAR = The field (if applicable) for the avatar
  25. * DB_FRIENDSTABLE = The name of the friend's table
  26. * DB_FRIENDSTABLE_USERID = The field for the user ID in the friend's table
  27. * DB_FRIENDSTABLE_FRIENDID = The field for the relationship/friend ID in the firned's table
  28. * DB_FRIENDSTABLE_FRIENDS = The field (if applicable) to check if the users are friends
  29. *
  30. * All the friends stuff is optional. If your site does not have a friend's list, just copy the
  31. * getOnlineList function and place it in your getFriendsList function.
  32. *
  33. * PLEASE VISIT OUR DOCUMENTATION FOR ADDITIONAL HELP: http://www.arrowchat.com/documentation/
  34. */
  35.  
  36. /**
  37. * This function returns the user ID of the logged in user on your site. Technical support will not
  38. * help you with this for stand-alone installations. You must purchase the professional installation
  39. * if you are having trouble.
  40. *
  41. * Suggestion: Check out the other integration files in the functions/integrations directory for
  42. * many examples of how this can be done. The easiest way is to get the user ID through a cookie.
  43. *
  44. * @return the user ID of the logged in user or NULL if not logged in
  45. */
  46. function get_user_id()
  47. {
  48. $userid = NULL;
  49.  
  50. if (isset($_COOKIE['userid']))
  51. {
  52. $userid = $_COOKIE['userid'];
  53. }
  54.  
  55. return $userid;
  56. }
  57.  
  58. /**
  59. * This function returns the SQL statement for the buddylist of the user. You should retrieve
  60. * all ONLINE friends that the user is friends with. Do not retrieve offline users. You can use
  61. * global $online_timeout to get the online timeout.
  62. * ex: AND (arrowchat_status.session_time + 60 + " . $online_timeout . ") > " . time() . "
  63. *
  64. * @param userid the user ID of the person receiving the buddylist
  65. * @param the time of the buddylist request
  66. * @return the SQL statement to retrieve the user's friend list
  67. */
  68. function get_friend_list($userid, $time)
  69. {
  70. global $db;
  71. global $online_timeout;
  72.  
  73. $sql = ("
  74. SELECT DISTINCT " . TABLE_PREFIX . DB_USERTABLE . "." . DB_USERTABLE_USERID . " userid, " . TABLE_PREFIX . DB_USERTABLE . "." . DB_USERTABLE_NAME . " username, arrowchat_status.session_time lastactivity, " . TABLE_PREFIX . DB_USERTABLE . "." . DB_USERTABLE_AVATAR . " avatar, " . TABLE_PREFIX . DB_USERTABLE . "." . DB_USERTABLE_USERID . " link, arrowchat_status.is_admin, arrowchat_status.status
  75. FROM " . TABLE_PREFIX . DB_FRIENDSTABLE . "
  76. JOIN " . TABLE_PREFIX . DB_USERTABLE . "
  77. ON " . TABLE_PREFIX . DB_FRIENDSTABLE . "." . DB_FRIENDSTABLE_FRIENDID . " = " . TABLE_PREFIX . DB_USERTABLE . "." . DB_USERTABLE_USERID . "
  78. LEFT JOIN arrowchat_status
  79. ON " . TABLE_PREFIX . DB_USERTABLE . "." . DB_USERTABLE_USERID . " = arrowchat_status.userid
  80. WHERE " . TABLE_PREFIX . DB_FRIENDSTABLE . "." . DB_FRIENDSTABLE_USERID . " = '" . $db->escape_string($userid) . "'
  81. AND " . TABLE_PREFIX . DB_FRIENDSTABLE . "." . DB_FRIENDSTABLE_FRIENDS . " = 1
  82. AND (arrowchat_status.session_time + 60 + " . $online_timeout . ") > " . time() . "
  83. ORDER BY " . TABLE_PREFIX . DB_USERTABLE . "." . DB_USERTABLE_NAME . " ASC
  84. ");
  85.  
  86. return $sql;
  87. }
  88.  
  89. /**
  90. * This function returns the SQL statement for all online users. You should retrieve
  91. * all ONLINE users regardless of friend status. Do not retrieve offline users. You can use
  92. * global $online_timeout to get the online timeout.
  93. * ex: AND (arrowchat_status.session_time + 60 + " . $online_timeout . ") > " . time() . "
  94. *
  95. * @param userid the user ID of the person receiving the buddylist
  96. * @param the time of the buddylist request
  97. * @return the SQL statement to retrieve all online users
  98. */
  99. function get_online_list($userid, $time)
  100. {
  101. global $db;
  102. global $online_timeout;
  103.  
  104. $sql = ("
  105. SELECT DISTINCT " . TABLE_PREFIX . DB_USERTABLE . "." . DB_USERTABLE_USERID . " userid, " . TABLE_PREFIX . DB_USERTABLE . "." . DB_USERTABLE_NAME . " username, arrowchat_status.session_time lastactivity, " . TABLE_PREFIX . DB_USERTABLE . "." . DB_USERTABLE_AVATAR . " avatar, " . TABLE_PREFIX . DB_USERTABLE . "." . DB_USERTABLE_USERID . " link, arrowchat_status.is_admin, arrowchat_status.status
  106. FROM " . TABLE_PREFIX . DB_USERTABLE . "
  107. JOIN arrowchat_status
  108. ON " . TABLE_PREFIX . DB_USERTABLE . "." . DB_USERTABLE_USERID . " = arrowchat_status.userid
  109. WHERE ('" . time() . "' - arrowchat_status.session_time - 60 < '" . $online_timeout . "')
  110. AND " . TABLE_PREFIX . DB_USERTABLE . "." . DB_USERTABLE_USERID . " <> '" . $db->escape_string($userid) . "'
  111. ORDER BY " . TABLE_PREFIX . DB_USERTABLE . "." . DB_USERTABLE_NAME . " ASC
  112. ");
  113.  
  114. return $sql;
  115. }
  116.  
  117. /**
  118. * This function returns the SQL statement to get the user details of a specific user. You should
  119. * get the user's ID, username, last activity time in unix, link to their profile, avatar, and status.
  120. *
  121. * @param userid the user ID to get the details of
  122. * @return the SQL statement to retrieve the user's defaults
  123. */
  124. function get_user_details($userid)
  125. {
  126. global $db;
  127.  
  128. $sql = ("
  129. SELECT " . TABLE_PREFIX . DB_USERTABLE . "." . DB_USERTABLE_USERID . " userid, " . TABLE_PREFIX . DB_USERTABLE . "." . DB_USERTABLE_NAME . " username, arrowchat_status.session_time lastactivity, " . TABLE_PREFIX . DB_USERTABLE . "." . DB_USERTABLE_USERID . " link, " . TABLE_PREFIX . DB_USERTABLE . "." . DB_USERTABLE_AVATAR . " avatar, arrowchat_status.is_admin, arrowchat_status.status
  130. FROM " . TABLE_PREFIX . DB_USERTABLE . "
  131. LEFT JOIN arrowchat_status
  132. ON " . TABLE_PREFIX . DB_USERTABLE . "." . DB_USERTABLE_USERID . " = arrowchat_status.userid
  133. WHERE " . TABLE_PREFIX . DB_USERTABLE . "." . DB_USERTABLE_USERID . " = '" . $db->escape_string($userid) . "'
  134. ");
  135.  
  136. return $sql;
  137. }
  138.  
  139. /**
  140. * This function returns the profile link of the specified user ID.
  141. *
  142. * @param userid the user ID to get the profile link of
  143. * @return the link of the user ID's profile
  144. */
  145. function get_link($link, $user_id)
  146. {
  147. global $base_url;
  148.  
  149. return $base_url . '../users.php?id=' . $link;
  150. }
  151.  
  152. /**
  153. * This function returns the URL of the avatar of the specified user ID.
  154. *
  155. * @param userid the user ID of the user
  156. * @param image if the image includes more than just a user ID, this param is passed
  157. * in from the avatar row in the buddylist and get user details functions.
  158. * @return the link of the user ID's profile
  159. */
  160. function get_avatar($image, $user_id)
  161. {
  162. global $base_url;
  163.  
  164. if (is_file(dirname(dirname(dirname(__FILE__))) . '/images/' . $image . '.gif'))
  165. {
  166. return $base_url . '../images/' . $image . '.gif';
  167. }
  168. else
  169. {
  170. return $base_url . AC_FOLDER_ADMIN . "/images/img-no-avatar.gif";
  171. }
  172. }
  173.  
  174. /**
  175. * This function returns the name of the logged in user. You should not need to
  176. * change this function.
  177. *
  178. * @param userid the user ID of the user
  179. * @return the name of the user
  180. */
  181. function get_username($userid)
  182. {
  183. global $db;
  184. global $language;
  185. global $show_full_username;
  186.  
  187. $users_name = $language[83];
  188.  
  189. $result = $db->execute("
  190. SELECT " . DB_USERTABLE_NAME . " name
#2 16 августа 2012 в 16:40

никто вам здесь не поможет бесплатно

CeeJay
Помогут бесплатно но нужно написать доходчиво что нужно
#3 16 августа 2012 в 16:44
Бесплатно сообщество помогает, но не в большом объеме или же под хорошим настроением :)
#4 16 августа 2012 в 20:48


eoleg, я понял так: весь исходный код который дал ТС, нужно перевести в стандартный icms формат.

CeeJay

Да исходный код что я дал нужно переделать под icms
#5 16 августа 2012 в 20:56
В чем она объемная? В том чтоб сделать правильно три get запроса(профиль, статус, друзья)?
#6 16 августа 2012 в 21:26

В чем она объемная? В том чтоб сделать правильно три get запроса(профиль, статус, друзья)?

Bars
работа действительно плевая но я не программист к сожалению, но структура базы и таблиц есть и можно разобратся, время конечно больше у вас уйдет чем у того кто это часто делает
#7 17 августа 2012 в 13:44
Ну что кто нибудь поможет?
#8 17 августа 2012 в 16:23
а какая у тебя версия чата? а то как бы там бесплатный только триал на 10 дней, интегрировать можно, но не для одного же человека делать…
#9 17 августа 2012 в 17:06


а какая у тебя версия чата? а то как бы там бесплатный только триал на 10 дней, интегрировать можно, но не для одного же человека делать...

Максим Шорин

Версия чата последняя нуленая (с русс языком) после того как сделаю интеграцию и проверю на работоспособность выложу сюда для всех
#10 17 августа 2012 в 17:26
Я бы тоже вложился в интеграцию…
#11 17 августа 2012 в 17:30


Я бы тоже вложился в интеграцию...

Алфей

Так помогай если можешь Общими силами соберем
#12 18 августа 2012 в 00:51
Bars, Дык еще разработчик не найден…
#13 21 августа 2012 в 21:46
По ходу ни кто не поможет :(
#14 21 августа 2012 в 22:03


По ходу ни кто не поможет :(

Bars

Походу что да(
Вы не можете отвечать в этой теме.
Войдите или зарегистрируйтесь, чтобы писать на форуме.
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.