Изучаем систему вместе (программирование)

#61 22 августа 2012 в 01:25
При разработки системы авторы заложили, что вот эта штук callEvent регистрирует определённое действие, и н основании этого дейтсвия вызвает определённый плагин
#62 22 августа 2012 в 01:28
Давайте теперь, то что мы накопали запишем в файл, из прыдуших постов вы наверное видели как они будут записаны
#63 22 августа 2012 в 01:29

Она состоит из двух частей первая это класс: cmsCore (это файл \core\cms.php), cmsUser (файл user.class.php) Они все лежат в \core\classes.

Димитриус
Понял, т.е есть файл db.class.php — это класс cmsDatabase.
Нужно понять, какой файл за что отвечает, и только тогда подставлять нужный класс.
Я правильно понял?

Вторая это callEvent это название метода(функции) которая находится этот файл. можете попробовать нати её callEvent в файле \core\cms.php

Димитриус
Производит событие, вызывая все назначенные на него плагины.
  1. public static function callEvent($event, $item){
Сегодня в 04:38
#64 22 августа 2012 в 01:32

Понял, т.е есть файл db.class.php — это класс cmsDatabase.
Нужно понять, какой файл за что отвечает, и только тогда подставлять нужный класс.
Я правильно понял?

SpideR-KOSS
Тут больше идёт так. Я хочу например провести манипуляцию с пользователем, ага мне нужен класс пользователи. Так мне нао его удалить. Так значит надо искать метод который удаляет пользователя
или базой. ага хочу выполнить дейтсвие с базой мне нужен тогда клаз работы с базой…
#65 22 августа 2012 в 01:32
Понятно?
#66 22 августа 2012 в 01:37
$this->events[]= 'DELETE_POST', $post_id';
$this->events[]= 'DELETE_BLOG', $blog_id';
$this->events[]= 'DELETE_BLOG_CAT', $cat_id';
$this->events[]= 'DELETE_BOARD_RECORD', $item_id';
$this->events[]= 'DELETE_CATALOG_DISCOUNT', $id';
$this->events[]= 'DELETE_CATALOG_CAT', $id';
$this->events[]= 'DELETE_CLUB', $club_id';
$this->events[]= 'DELETE_COMMENT', $comment_id';
$this->events[]= 'DELETE_ARTICLE', $id';
$this->events[]= 'DELETE_PHOTO', $id';
$this->events[]= 'DELETE_PHOTOS', $id_list';
$this->events[]= 'DELETE_ALBUM', $id';
$this->events[]= 'DELETE_USER', $user_id';
$this->events[]= 'DELETE_USER_GROUP', $group_id';
Правильно?
#67 22 августа 2012 в 01:38

Тут больше идёт так. Я хочу например провести манипуляцию с пользователем, ага мне нужен класс пользователи. Так мне нао его удалить. Так значит надо искать метод который удаляет пользователя или базой. ага хочу выполнить дейтсвие с базой мне нужен тогда клаз работы с базой...

Димитриус
Предельно ясно.
#68 22 августа 2012 в 01:39
  1. // События, которые будут отлавливаться плагином
  2.  
  3. $this->events[] = 'GET_ARTICLE';
  4. $this->events[] = 'DELETE_POST';
  5. $this->events[] = 'DELETE_BLOG';
  6. $this->events[] = 'DELETE_BLOG_CAT';
  7. $this->events[] = 'DELETE_BOARD_RECORD';
  8. $this->events[] = 'DELETE_CATALOG_DISCOUNT';
  9. $this->events[] = 'DELETE_CATALOG_CAT';
  10. $this->events[] = 'DELETE_CLUB';
  11. $this->events[] = 'DELETE_COMMENT';
  12. $this->events[] = 'DELETE_ARTICLE';
  13. $this->events[] = 'DELETE_PHOTO';
  14. $this->events[] = 'DELETE_PHOTOS';
  15. $this->events[] = 'DELETE_ALBUM';
  16. $this->events[] = 'DELETE_USER';
  17. $this->events[] = 'DELETE_USER_GROUP';
если посмотреть пример из демо плагина, то мы видим…
#69 22 августа 2012 в 01:41


  1. // События, которые будут отлавливаться плагином
  2.  
  3. $this->events[] = 'GET_ARTICLE';
  4. $this->events[] = 'DELETE_POST';
  5. $this->events[] = 'DELETE_BLOG';
  6. $this->events[] = 'DELETE_BLOG_CAT';
  7. $this->events[] = 'DELETE_BOARD_RECORD';
  8. $this->events[] = 'DELETE_CATALOG_DISCOUNT';
  9. $this->events[] = 'DELETE_CATALOG_CAT';
  10. $this->events[] = 'DELETE_CLUB';
  11. $this->events[] = 'DELETE_COMMENT';
  12. $this->events[] = 'DELETE_ARTICLE';
  13. $this->events[] = 'DELETE_PHOTO';
  14. $this->events[] = 'DELETE_PHOTOS';
  15. $this->events[] = 'DELETE_ALBUM';
  16. $this->events[] = 'DELETE_USER';
  17. $this->events[] = 'DELETE_USER_GROUP';
если посмотреть пример из демо плагина, то мы видим...

Димитриус
Аааа, вот как правильно. scratch
#70 22 августа 2012 в 01:42
  1. public function __construct(){
  2.  
  3. parent::__construct();
  4.  
  5. // Информация о плагине
  6.  
  7. $this->info['plugin'] = 'p_noticeaway';
  8. $this->info['title'] = 'Demo Plugin';
  9. $this->info['description'] = 'Пример плагина - Добавляет текст в конец каждой статьи на сайте';
  10. $this->info['author'] = 'InstantCMS Team';
  11. $this->info['version'] = '1.0';
  12.  
  13. // События, которые будут отлавливаться плагином
  14.  
  15. $this->events[] = 'GET_ARTICLE';
  16. $this->events[] = 'DELETE_POST';
  17. $this->events[] = 'DELETE_BLOG';
  18. $this->events[] = 'DELETE_BLOG_CAT';
  19. $this->events[] = 'DELETE_BOARD_RECORD';
  20. $this->events[] = 'DELETE_CATALOG_DISCOUNT';
  21. $this->events[] = 'DELETE_CATALOG_CAT';
  22. $this->events[] = 'DELETE_CLUB';
  23. $this->events[] = 'DELETE_COMMENT';
  24. $this->events[] = 'DELETE_ARTICLE';
  25. $this->events[] = 'DELETE_PHOTO';
  26. $this->events[] = 'DELETE_PHOTOS';
  27. $this->events[] = 'DELETE_ALBUM';
  28. $this->events[] = 'DELETE_USER';
  29. $this->events[] = 'DELETE_USER_GROUP';
  30.  
  31. }
Вот первый кусок готов.
#71 22 августа 2012 в 01:42
  1. $this->events[] = 'GET_ARTICLE';
Его мы оставляем?
#72 22 августа 2012 в 01:43
Дальше нас идёт метод инсталл. Нам нужно понять есть ли необходимость, чего то пред устанавливать? Создавать дополнительную таблицу или таблицы например
#73 22 августа 2012 в 01:43
Дальше нас идёт метод инсталл. Нам нужно понять есть ли необходимость, чего то пред устанавливать? Создавать дополнительную таблицу или таблицы например
#74 22 августа 2012 в 01:44

Его мы оставляем?

SpideR-KOSS
Нет конечно)))) он у нас в не темы) я его как пример брал для себя) Я большую часть по аналогии пишу)
#75 22 августа 2012 в 01:45

Дальше нас идёт метод инсталл. Нам нужно понять есть ли необходимость, чего то пред устанавливать? Создавать дополнительную таблицу или таблицы например

Димитриус
У нас будет просто отправка уведомления об удалении, или же с возможностью восстановления?
Вы не можете отвечать в этой теме.
Войдите или зарегистрируйтесь, чтобы писать на форуме.
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.