Центр пользователя  |  Ваши сообщения  |  FAQ
Форум поддержки phpBB » Общие » PHP и MySQL

Создание таблиц при установке модуля

Обсуждение вопросов, связанных с разработкой web-систем

Сообщение 18 сен 2014, 23:29

Добрый вечер, решил написать свой простенький модуль для phpbb, создал все системные файлы , столкнулся с проблемой того , что при установке модуля необходимо создать таблицы, следуя инструкциям прописал в файле /includes/acp/info/my_module.php в функцию install() следующий код

Код: выделить все
$global $db;
$db->sql_query('CREATE TABLE sdp_alert_read (message_id INT(5) , user_id INT(8) );');


Но таблицы ни в какую не создаются, может быть дело в том что я как-то не верно устанавливаю модуль, я нажимаю в админке на создать новый модуль и выбираю потом нужный из списка. В чём проблема?
barclays-league
Новичок
 
Сообщений: 3
Зарегистрирован:
18 сен 2014, 23:21
Благодарил (а): 2 раз.
Поблагодарили: 0 раз.

Сообщение 19 сен 2014, 14:54

Во первых /includes/acp/info/my_module.php должен быть /includes/acp/info/acp_my_module.php

И там должен быть лишь соответствующий установочный набор функций
Код: выделить все
class acp_my_module_info
{
   function module()
   {
      return array(
         'filename'   => 'acp_my_module', // Модуль и название класса который будет подключен:  /includes/acp/acp_my_module.php
         'title'      => 'Название модуля',
         'version'   => '1.0.0',
         'modes'      => array(
            'parameters'      => array('title' => 'Название настроек модуля', 'auth' => '', 'cat' => array('Категория по умолчанию')),
         ),
      );
   }

   function install()
   {
   }

   function uninstall()
   {
   }
}


Сам же модуль /includes/acp/acp_my_module.php , то что тебе нужно.
Код: выделить все
class acp_my_module
{
   function main($id, $mode)
   {
                    // Выполнять необходимо тут.
   }
}
Внешняя авторизация через соц сети - Без посредников!
Код: выделить все
http://bb3.mobi/forum/viewtopic.php?t=10
-+ANVAR+-
Пользователь
 
Сообщений: 40
Зарегистрирован:
21 июн 2013, 23:29
Откуда:
Stepnyak.Kz
Благодарил (а): 0 раз.
Поблагодарили: 7 раз.

Сообщение 19 сен 2014, 18:13

там должна описываться сама работа модуля, а мне необходимо при установке создавать системные таблицы и при деинсталяции удалять их. (Название файла кстати у меня начинается с acp, так что проблема не в этом :( )
barclays-league
Новичок
 
Сообщений: 3
Зарегистрирован:
18 сен 2014, 23:21
Благодарил (а): 2 раз.
Поблагодарили: 0 раз.

Сообщение 19 сен 2014, 21:21

barclays-league писал(а): а мне необходимо при установке создавать системные таблицы и при деинсталяции удалять их

для этого делается инсталяционный файл, который надо запускать. Посмотрите как другие моды делаются.
crash
Поддержка
 
Сообщений: 11349
Зарегистрирован:
27 янв 2009, 03:22
Благодарил (а): 1 раз.
Поблагодарили: 568 раз.

Сообщение 20 сен 2014, 12:05

Если необходимо непосредственно в администраторском разделе при установке модуля выполнить необходимые действия, то в коде выше видим функции:
Код: выделить все
   function install()
   {
   }

   function uninstall()
   {
   }

Вот в них и выполняй свой запрос.

Пока таких потребностей не было и не встречал моды использующие эти функции.
-+ANVAR+-
Пользователь
 
Сообщений: 40
Зарегистрирован:
21 июн 2013, 23:29
Откуда:
Stepnyak.Kz
Благодарил (а): 0 раз.
Поблагодарили: 7 раз.

Сообщение 22 сен 2014, 13:32

Благодарю
barclays-league
Новичок
 
Сообщений: 3
Зарегистрирован:
18 сен 2014, 23:21
Благодарил (а): 2 раз.
Поблагодарили: 0 раз.


Вернуться в PHP и MySQL

 


  • Похожие темы
    Ответов
    Просмотров
    Последнее сообщение

Кто сейчас на форуме

Сейчас этот форум просматривают: Google [Bot] и гости: 1

Форум поддержки phpBB
2008 - 2017 © BB3x.ru - русская поддержка форума phpBB3
Создано на основе phpBB® Forum Software © phpBB Group
+ 17 предустановленных модов
+ SEO-оптимизация форума
+ авторизация через соц. сети
+ защита от спама