Не работают должным образом ссылки на записи стен

InstantCMS 2.X
#1 28 декабря 2018 в 20:29
Здравствуйте!
Помогите, пожалуйста справиться с такой ситуацией.
Ссылки записей со стены пользователя и со стен групп не работают должным образом (# те которые указывают на сами записи).



При нажатии на ссылку переход осуществляется, но на стене выводится сообщение "Нет записей. Ваша будет первой!"
Хотя ссылка самой первой записи на стене админа работает, на других нет. (на фото под №1).

Ссылки на стенах групп (# на сами записи) — такая же ситуация, выводят "Нет записей..."

При этом
В одной группе ссылки на самые старые 4 записи работают. Ссылка на эту группу wyly.ru/groups/youtube
Удаляю, конкретно с этой стены, самые старые записи, и тогда, те что были созданы после, ссылки на них становятся рабочими.
Ссылка на сайт wyly.ru

Включаю отладку пишет:
Notice: Trying to get property of non-object in system/controllers/wall/model.php on line 33
Строка 33 из файла: $item['is_new'] = (strtotime($item['date_pub']) > strtotime($user->date_log));

Вот только что с этим делать?




  1.  
  2. <?php
  3.  
  4. class modelWall extends cmsModel {
  5.  
  6. public function getEntriesCount(){
  7.  
  8. $this->useCache('wall.count');
  9.  
  10. return $this->getCount('wall_entries');
  11.  
  12. }
  13.  
  14. public function getEntries($user){
  15.  
  16. $this->useCache('wall.entries');
  17.  
  18. $this->select('COUNT(e.id)', 'replies_count')->
  19. joinLeft('wall_entries', 'e', 'e.parent_id = i.id')->
  20. joinUser()->
  21. groupBy('i.id');
  22.  
  23. $this->joinSessionsOnline();
  24.  
  25. return $this->get('wall_entries', function($item, $model) use($user) {
  26.  
  27. $item['user'] = array(
  28. 'id' => $item['user_id'],
  29. 'nickname' => $item['user_nickname'],
  30. 'is_online' => $item['is_online'],
  31. 'avatar' => $item['user_avatar']
  32. );
  33.  
  34. $item['is_new'] = (strtotime($item['date_pub']) > strtotime($user->date_log));
  35.  
  36. return $item;
  37.  
  38. });
  39.  
  40. }
  41.  
  42. public function getReplies($parent_id){
  43.  
  44. $this->useCache('wall.entries');
  45.  
  46. $this->joinUser()->joinSessionsOnline()->
  47. filterEqual('parent_id', $parent_id)->
  48. orderBy('date_pub', 'asc');
  49.  
  50. return $this->get('wall_entries', function($item, $model){
  51.  
  52. $item['user'] = array(
  53. 'id' => $item['user_id'],
  54. 'nickname' => $item['user_nickname'],
  55. 'is_online' => $item['is_online'],
  56. 'avatar' => $item['user_avatar']
  57. );
  58.  
  59. $item['replies_count'] = 0;
  60.  
  61. return $item;
  62.  
  63. });
  64.  
  65. }
  66.  
  67. public function getEntry($id){
  68.  
  69. $entry = $this->
  70. joinUser()->joinSessionsOnline()->
  71. getItemById('wall_entries', $id, function($item, $model){
  72.  
  73. $item['user'] = array(
  74. 'id' => $item['user_id'],
  75. 'nickname' => $item['user_nickname'],
  76. 'is_online' => $item['is_online'],
  77. 'avatar' => $item['user_avatar']
  78. );
  79.  
  80. return $item;
  81.  
  82. });
  83.  
  84. return $entry;
  85.  
  86. }
  87.  
  88. public function getEntryPageNumber($id, $target, $perpage){
  89.  
  90. $entries = $this->getEntries($target['profile_type'], $target['profile_id']);
  91.  
  92. $index = 0;
  93.  
  94. foreach ($entries as $e){
  95. $index++;
  96. if ($e['id'] == $id){ break; }
  97. }
  98.  
  99. if (!$index) { return 1; }
  100.  
  101. return ceil($index / $perpage);
  102.  
  103. }
  104.  
  105. //============================================================================//
  106. //============================================================================//
  107.  
  108. public function addEntry($entry){
  109.  
  110. // для записей-ответов ставим дату у родителя
  111. if(!empty($entry['parent_id'])){
  112. $this->update('wall_entries', $entry['parent_id'], array(
  113. 'date_last_reply' => null
  114. ));
  115. }
  116.  
  117. $entry['date_last_reply'] = null;
  118.  
  119. $id = $this->insert('wall_entries', $entry);
  120.  
  121. cmsCache::getInstance()->clean('wall.entries');
  122. cmsCache::getInstance()->clean('wall.count');
  123.  
  124. return $id;
  125.  
  126. }
  127.  
  128. public function updateEntryStatusId($id, $status_id){
  129.  
  130. $result = $this->update('wall_entries', $id, array(
  131. 'status_id'=>$status_id,
  132. ));
  133.  
  134. cmsCache::getInstance()->clean('wall.entries');
  135. cmsCache::getInstance()->clean('wall.count');
  136.  
  137. return $result;
  138.  
  139. }
  140.  
  141. public function updateEntryContent($id, $content, $content_html){
  142.  
  143. $result = $this->update('wall_entries', $id, array(
  144. 'date_last_modified' => null,
  145. 'content' => $content,
  146. 'content_html' => $content_html
  147. ));
  148.  
  149. cmsCache::getInstance()->clean('wall.entries');
  150. cmsCache::getInstance()->clean('wall.count');
  151.  
  152. return $result;
  153.  
  154. }
  155.  
  156. public function deleteEntry($id){
  157.  
  158. $this->delete('wall_entries', $id);
  159.  
  160. $this->filterEqual('parent_id', $id)->deleteFiltered('wall_entries');
  161.  
  162. cmsCache::getInstance()->clean('wall.entries');
  163. cmsCache::getInstance()->clean('wall.count');
  164.  
  165. return true;
  166.  
  167. }
  168.  
  169. public function deleteUserEntries($user_id){
  170.  
  171. $this->delete('wall_entries', $user_id, 'user_id');
  172. $this->delete('wall_entries', $user_id, 'profile_id');
  173.  
  174. cmsCache::getInstance()->clean('wall.entries');
  175. cmsCache
Вы не можете отвечать в этой теме.
Войдите или зарегистрируйтесь, чтобы писать на форуме.
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.