Подскажите где ошибка в модуле:?

#1 7 ноября 2012 в 01:07
Пытаюсь перевести модуль "Случайные лица" на 1.10.

Вайлы перековертил в ютф, но вот не могу найти что обновить в файле модуля.

Код:
  1. <?php
  2.  
  3. function mod_users_random($module_id){
  4.  
  5. $inCore = cmsCore::getInstance(); // ядро
  6. $inDB = cmsDatabase::getInstance(); // БД
  7. global $_LANG; // Язык общий модуль
  8.  
  9. $cfg = array();
  10. $cfg = $inCore->loadModuleConfig($module_id); // грузим конфиг модуля
  11.  
  12. if (!isset($cfg['count'])) { $cfg['count'] = 60; }
  13.  
  14. $count = $inDB->rows_count('cms_users','is_deleted = 0 AND is_locked=0');
  15.  
  16. $sql = "SELECT u.id, u.login, u.nickname, u.is_deleted, p.imageurl, u.status
  17. FROM cms_users u
  18. LEFT JOIN cms_user_profiles p ON p.user_id = u.id
  19. WHERE u.is_deleted = 0 AND u.is_locked = 0
  20. ORDER BY RAND()
  21. LIMIT ".$cfg['count'];
  22. $result = $inDB->query($sql);
  23.  
  24. $users = array();
  25. $is_usr = false;
  26. if ($inDB->num_rows($result)){
  27. $is_usr=true;
  28.  
  29. if (!function_exists('usrImageNOdb')){ //if not included earlier
  30. include_once(PATH.'/components/users/includes/usercore.php');
  31. }
  32.  
  33. while($usr = $inDB->fetch_assoc($result)){
  34. $usr['profileurl'] = cmsUser::getProfileURL($usr['login']);
  35. $usr['usrimage'] = usrImageNOdb($usr['id'], 'small', $usr['imageurl'], $usr['is_deleted']);
  36. $users[] = $usr;
  37. }
  38. }
  39.  
  40. $smarty = $inCore->initSmarty('modules', 'mod_users_random.tpl');
  41. $smarty->assign('users', $users);
  42. $smarty->assign('cfg', $cfg);
  43. $smarty->assign('count', $count);
  44. $smarty->assign('is_usr', $is_usr);
  45. $smarty->display('mod_users_random.tpl');
  46.  
  47. return true;
  48.  
  49. }
#2 7 ноября 2012 в 01:18
include_once(PATH.'/components/users/includes/usercore.php');

такого файла больше нет все функции перенесены в /core/classes/user.class.php
#3 7 ноября 2012 в 01:21
воспользуйтесь аналогичной cmsUser::getUserAvatarUrl($user_id, $size='small', $file_name='', $usr_is_deleted=0) {
#4 7 ноября 2012 в 01:24
if (!function_exists('usrImageNOdb')){ //if not included earlier
include_once(PATH.'/components/users/includes/usercore.php');
}

условие можно убрать целиком оно не нужно
#5 7 ноября 2012 в 01:26

воспользуйтесь аналогичной cmsUser::getUserAvatarUrl($user_id, $size='small', $file_name='', $usr_is_deleted=0) {

• Mike •
это куда прописать? вместо имеющейся цмсюзер?
#6 7 ноября 2012 в 01:41
на всякий случай выкладываю темплейт

  1.  
  2.  
  3. <div style="clear:both"></div>
  4. <div class="mod_users_random-main">
  5. <div class="mod_users_random">
  6. <div class="mod_title">Сообщество</div>
  7. <div class="mod_btn">
  8. <!-- <a class="btn-small btn-danger" href="/users">Новые лица</a>-->
  9. </div>
  10. <div class="users clearfix">
  11. {foreach key=tid item=usr from=$users}
  12. <div class="user_item">
  13. <a href="{profile_url login=$usr.login}" class="new_user_link" title="{$usr.nickname|escape:'html'}"><img border="0" class="usr_img_small" src="{$usrimage}" /></a><a href="{profile_url login=$usr.login}">{$usr.nickname}</a>
  14. </div>
  15. {/foreach}
  16. </div>
  17. <!--<div class="users_count">
  18. Нас уже: {$count}
  19. </div>-->
  20. <div class="users_count_1" style="float: right; width: 97%; text-align: center;">
  21. <a href="/actions" title="Лента активности">Лента активности</a>
  22. </div>
  23. </div>
  24. </div>
#7 7 ноября 2012 в 01:42
вот целиком, если так понятнее:

  1.  
  2. <?php
  3.  
  4. function mod_users_random($module_id){
  5.  
  6. $inCore = cmsCore::getInstance(); // ядро
  7. $inDB = cmsDatabase::getInstance(); // БД
  8. global $_LANG; // Язык общий модуль
  9.  
  10. $cfg = array();
  11. $cfg = $inCore->loadModuleConfig($module_id); // грузим конфиг модуля
  12.  
  13. if (!isset($cfg['count'])) { $cfg['count'] = 60; }
  14.  
  15. $count = $inDB->rows_count('cms_users','is_deleted = 0 AND is_locked=0');
  16.  
  17. $sql = "SELECT u.id, u.login, u.nickname, u.is_deleted, p.imageurl, u.status
  18. FROM cms_users u
  19. LEFT JOIN cms_user_profiles p ON p.user_id = u.id
  20. WHERE u.is_deleted = 0 AND u.is_locked = 0
  21. ORDER BY RAND()
  22. LIMIT ".$cfg['count'];
  23. $result = $inDB->query($sql);
  24.  
  25. $users = array();
  26. $is_usr = false;
  27. if ($inDB->num_rows($result)){
  28. $is_usr=true;
  29.  
  30. while($usr = $inDB->fetch_assoc($result)){
  31. $usr['profileurl'] = cmsUser::getProfileURL($usr['login']);
  32. $usr['usrimage'] = cmsUser::getUserAvatarUrl($usr['id'], 'small', $usr['imageurl'], $usr['is_deleted']);
  33. $users[] = $usr;
  34. }
  35. }
  36.  
  37. $smarty = $inCore->initSmarty('modules', 'mod_users_random.tpl');
  38. $smarty->assign('users', $users);
  39. $smarty->assign('cfg', $cfg);
  40. $smarty->assign('count', $count);
  41. $smarty->assign('is_usr', $is_usr);
  42. $smarty->display('mod_users_random.tpl');
  43.  
  44. return true;
  45.  
  46. }
  47.  
#8 7 ноября 2012 в 01:44
в темплэйте ничего не поменяется всё передаётся через ту же переменную…
#9 7 ноября 2012 в 01:52
почти все гуд) осталось вывести саму картинку, а то выводит как <img border="0" class="usr_img_small" src="" />
#10 7 ноября 2012 в 01:56
о, вывел. поменял в шаблоне на {$usr.usrimage}
#11 7 ноября 2012 в 01:57
• Mike •, спасибо огромное!
#12 7 ноября 2012 в 01:57
в шаблоне
  1.  
  2. <img border="0" class="usr_img_small" src="{$usrimage}" />
  3.  
заменить просто на {$usrimage} функция его уже формирует
#13 7 ноября 2012 в 01:58
да, не за что )
#14 7 ноября 2012 в 02:05
да как же не за что:) очень даже есть!)

ПС. а у тебя какой часовой пояс?)
#15 7 ноября 2012 в 02:36
Europe/Moscow )
Вы не можете отвечать в этой теме.
Войдите или зарегистрируйтесь, чтобы писать на форуме.
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.