Как в cms_con_albums в столбце is_deleted поставит 1 когда пользователь удаляйте свою страницу.

InstantCMS 2.X

В каком файле обрабатывается нажатие кнопки Удалить профиль?

#1 8 февраля 2020 в 17:37
В каком файле обрабатывается нажатие кнопки Удалить профиль?
  1. // Получаем модель компонента
  2. $photos_model = cmsCore::getModel('photos');
  3. // Получаем альбомы пользователя
  4. $aldomis = $photos_model->getAlbum($id);
  5. foreach($aldomis as $aldomi){
  6. // Ка изменить поле $aldomi['is_deleted'] поставить 1 ?
  7. }
  8.  
В доукментации docs.instantcms.ru/dev/models есть только чтение.
#2 8 февраля 2020 в 21:49
Если я правильно понял, то удаление пользователя осуществляется функцией:
  1. public function deleteUser($user){
Которая находится в:
  1. system/controllers/users/model.php
is_deleted, как поставить 1, пока не смотрел.
#3 8 февраля 2020 в 22:52
не то. Эта функция физически удаляет пользователя. Мне нужно найти кусочек кода которой записывает в таблицу cms_con_ userсs в сотовпчик is_deleted 1
#4 9 февраля 2020 в 14:03
Всем доброго дня. Покажите как изменит значение столбца is_deleted (перезаписать)…
#5 9 февраля 2020 в 18:24
Понял как изменить столбец в базе. Но попрежнему нет иди пользователя которий удаляет свою страницу.
  1.  
  2. $content_model = cmsCore::getModel('content'); // Модель контент обезательно нада визивать ?
  3.  
  4. $aldomis = $content_model->get('con_albums')->filterEqual('user_id', id пользователя);
  5. foreach($aldomis as $aldomi){
  6. if($aldomi['user_id'] == $id пользователя ) {
  7. $content_model->update('con_albums', $albom['id'], array(
  8. 'is_deleted' => 1
  9. ));
  10. }
  11. }
  12.  
#6 9 февраля 2020 в 18:43
  1.  
  2. $user = cmsUser::getInstance();
  3. echo $user->id; // здесь id
  4.  
#7 9 февраля 2020 в 20:07
не те. Знайшов кусочок кода
  1.  
  2. public function setUserIsDeleted($id){
  3.  
  4. $this->update('cms_users', $id, array(
  5. 'is_deleted' => 1
  6. ), true);
  7.  
  8. cmsCache::getInstance()->clean('users.list');
  9. cmsCache::getInstance()->clean('users.user.'.$id);
  10.  
  11. return $this;
  12.  
  13. }
  14.  
  15.  
почему cms_users в дужках?
#8 9 февраля 2020 в 20:22

почему cms_users в дужках ?

@andriu3240
Логично предположить, что это название таблицы cms_users
#9 9 февраля 2020 в 20:45
я это понял.
  1.  
  2. public function updateAlbumCoverImage($album_id, $photo_ids){
  3.  
  4. $photo = $this->getPhoto($photo_ids[0]);
  5.  
  6. $this->update('con_albums', $album_id, array(
  7. 'cover_image' => $photo['image']
  8. ));
  9.  
  10. cmsCache::getInstance()->clean('content.list.albums');
  11. cmsCache::getInstance()->clean('content.item.albums');
  12.  
  13. return true;
  14.  
  15. }
  16.  
также название таблици но дужок нет .

зачем дужки.
#10 9 февраля 2020 в 22:28

зачем дужки.

@andriu3240
Есть такой метод.
#11 9 февраля 2020 в 23:24
Как пользоватся кешированием?

cmsCache::getInstance()->clean('content.list.albums');
// cmsCache::getInstance()->clean('content.item.albums');
впервые столкнулся.
#12 10 февраля 2020 в 15:06
решил в файле system\controllers\users\actionsprofile_edit.php
cmsEventsManager::hook('set_user_is_deleted', $profile);
в манифест компонетта где будет хук дописать 'set_user_is_deleted
сам хук
  1. <?php
  2.  
  3. class onUsersSetUserIsDeleted extends cmsAction {
  4.  
  5. public function run($profile){
  6. $content_model = cmsCore::getModel('content');
  7. $aldomis = $content_model->get('con_albums');
  8. foreach($aldomis as $aldomi){
  9. if($aldomi['user_id'] == $profile['id'] ) {
  10. $content_model->update('con_albums', $aldomi['id'], array(
  11. 'is_deleted' => 1
  12. ), true );
  13. // cmsCache::getInstance()->clean('content.list.albums'); За кеширование не знаю писал от фанаря
  14. // cmsCache::getInstance()->clean('content.item.albums'); може хто подскажет как нада?
  15. }
  16. }
  17.  
  18. // Отправляем данные обратно
  19. return array($profile);
  20.  
  21. }
  22. }
  23. ?>
Вы не можете отвечать в этой теме.
Войдите или зарегистрируйтесь, чтобы писать на форуме.
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.