Адаптировать модуль для 1.10.6

#1 13 марта 2015 в 10:07
Здраствуйте сообщество, обновил версию движка до последней, есть сторонние модули, помогите адаптировать в робочее сосотояние для 1.10.6, вот код модуля:
  1. <?php
  2. function mod_music_latest($module_id){
  3. $inDB = cmsDatabase::getInstance();
  4. $inCore = cmsCore::getInstance();
  5. $cfg = $inCore->loadModuleConfig($module_id);
  6. $inCore->loadModel("music");
  7. $model = cms_model_music::initmodel();
  8. $model->orderBy($cfg['orderby'], $cfg['orderto']);
  9. $model->limitPage(1, $cfg['limit']);
  10. $musics = $model->getMusics();
  11. if (!$musics){ echo "<p>Песни не найдены.</p>"; return true;}
  12. $html = "<table width=\"100%\">";
  13. $k = 1;
  14. foreach ($musics as $music){
  15. if ($k == 1){ $html .= "<tr>"; }
  16. $html .= "<td><img src=\"/components/music/images/music.png\"><a href=\"".$music['seo_music_url']."\" title=\"Cкачать и Слушать ".htmlspecialchars($music['singer'])." - ".htmlspecialchars($music['name'])." \">".substr($music['singer'],0,$cfg['singer_cut'])." - ".substr($music['name'],0,$cfg['name_cut'])."</a></td>";
  17. if ($k == $cfg['maxcol']){ $html .= "</tr>"; $k = 1; }else{ $k++; }
  18. }
  19. if ($k != 1){ $html .= "</tr>"; }
  20. $html .= "</table>";
  21. echo $html;
  22. return true;
  23. }
  24. ?>
#2 13 марта 2015 в 10:33
Учитывая, что вы не написали что за ошибка у вас при показе этого модуля, а так же изначальный ужас в коде, модуль под 1.10.6 должен выглядеть как то так:

  1. function mod_music_latest(array $mod, $cfg){
  2.  
  3. cmsCore::loadModel('music');
  4. $model = cms_model_music::initmodel();
  5. $model->orderBy($cfg['orderby'], $cfg['orderto']);
  6. $model->limitPage(1, $cfg['limit']);
  7. $musics = $model->getMusics();
  8.  
  9. if (!$musics) {
  10. echo "<p>Песни не найдены.</p>";
  11. return true;
  12. }
  13.  
  14. $html = "<table width=\"100%\">";
  15. $k = 1;
  16. foreach ($musics as $music) {
  17.  
  18. if ($k == 1) {
  19. $html .= "<tr>";
  20. }
  21.  
  22. $html .= "<td><img src=\"/components/music/images/music.png\"><a href=\"" . $music['seo_music_url'] . "\" title=\"Cкачать и Слушать " . htmlspecialchars($music['singer']) . " - " . htmlspecialchars($music['name']) . " \">" . substr($music['singer'], 0, $cfg['singer_cut']) . " - " . substr($music['name'], 0, $cfg['name_cut']) . "</a></td>";
  23.  
  24. if ($k == $cfg['maxcol']) {
  25. $html .= "</tr>";
  26. $k = 1;
  27. } else {
  28. $k++;
  29. }
  30. }
  31.  
  32. if ($k != 1) {
  33. $html .= "</tr>";
  34. }
  35.  
  36. $html .= "</table>";
  37. echo $html;
  38. return true;
  39.  
  40. }
  41. ?>
Но и без этих правок модуль должен был работать у вас. Но, как говорится, какой вопрос, такой ответ.
#3 13 марта 2015 в 10:48
Проблема в том что это модуль последних песен от компонента музыки от DS SOFT, после обновления в модуле списка последних песень просто появилась надпись песни не найдены, при том что сам компонент роботает нормально. Пробывал Ваш код, вот что получилось
Группе, к которой вы принадлежите, запрещено просматривать этот скрытый текст
Вы не можете отвечать в этой теме.
Войдите или зарегистрируйтесь, чтобы писать на форуме.
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.