| ed.moriarti |
|
|---|---|
|
В базе значение в таблице delete_reason (тоесть экстраполе) в указанном посте числится как NULL может из-за этого?
как эти переменные поместить на страницу удаления? |
| Kopusha |
|
|---|---|
#44620 Kopusha: Тут же написано |
| ed.moriarti |
|
|---|---|
|
Так и сделано, экстраполе селект я создал в модуле проджектс. Захожу с админского только профиля (или модераторский это обязательное условие) захожу в проект, редактировать, выбираю селект и галочку удалить, нажимаю кнопку. я уже вспотел, хз че не так Added 2 minutes later: Под модераторским юзером с правами категории таже самая ошбка с БД |
| Dayver |
|
|---|---|
|
В файле projects.edit.php где то сверху, можно сразу после строки
вставте строчку
require_once cot_incfile('pm', 'module');
и будет вам счастье. Pavlo Tkachenko aka Dayver
|
| Kopusha |
|
|---|---|
|
странно я нигде не подключал в старых модулях-плагинах ничего, работало. |
| Dayver |
|
|---|---|
#44651 Kopusha: Зачем гадать на кофейной гуще если есть текст ошибки в котором чётко видно что в переменной с именем таблицы - пустая .... а значит модуль не знает её а значит нужно познакомить их друг с другом и все срастётся и полетят детишки ЛСки в мир ... Pavlo Tkachenko aka Dayver
|
| ed.moriarti |
|
|---|---|
#44641 Dayver: Помогло! Добавлено 1 день спустя: Друзья, спасибо вам огромное! Я даже уже начал понимать как работать с БД. ТОлько опять с проблемой столкнулся. В projects.edit.php я прописал такой код, который срабатывает если нажать кнопку "скрыть проект" при этом если передан определенный параметр ?a=
if ($a == 'hideerror1')
{
// Сообщение автору истории от редактора что она скрыта(не администратором а модератором не из админки)
$text .= $L['deletestory_pm_hideerror1text1'];
$text .= $item['item_title'] .' ';
$text .= $L['deletestory_pm_hideerror1text2'];
$pm['pm_title'] = $L['projects_deleted_mail_hideerror1'];
$pm['pm_date'] = (int)$sys['now'];
$pm['pm_text'] = $text;
$pm['pm_fromstate'] = 0;
$pm['pm_fromuserid'] = $usr['id'];
$pm['pm_fromuser'] = $usr['name'];
$pm['pm_touserid'] = $item['item_userid'];
$pmsql = $db->insert($db_pm, $pm);
$pmsql = $db->update($db_users, array('user_newpm' => '1'), "user_id = ".$item['item_userid']."");
$projectssql = $db->update($db_projects, array('item_HIDEERROR' => '2'), "item_id = ".$item['item_id']."");
$ritem = array();
$ritem['item_state'] = 1;
$db->update($db_projects, $ritem, 'item_id = ?', $id);
cot_projects_sync($item['item_cat']);
$urlparams = empty($item['item_alias']) ?
array('c' => $item['item_cat'], 'id' => $id) :
array('c' => $item['item_cat'], 'al' => $item['item_alias']);
$r_url = cot_url('projects', $urlparams, '', true);
/* === Hook === */
foreach (cot_getextplugins('projects.edit.hide') as $pl)
{
include $pl;
}
/* ===== */
cot_redirect($r_url);
exit;
}
Все работает, проект скрывается, в БД обнавляется нужная мне таблица item_HIDEERROR и создателю проекта уходит в ПМ письмо что проект скрыт, вот только проблема в том что ему в ПМ приходит сразу два одинаковых письма, а должно одно. Почему? Не пойму!
This post was edited by ed.moriarti (2020-04-29 11:55, 5 years ago)
|
| Kopusha |
|
|---|---|
|
Два письма с тайтлом projects_deleted_mail_hideerror1? Точно где то выше еще уловие не срабатывает? |
| ed.moriarti |
|
|---|---|
#44669 Kopusha: Ты знаешь, походу глюк какой-то был, сейчас по одному приходит. Чертовщина какая-то. |
| Kopusha |
|
|---|---|
|
Пиши всюду по php коду //пояснение что делает эта строка - потом будет проще. Я в свое время в бирже отловил кучу багов но у себя, в инстале они есть. Точно помню что в folio/projects.add/edit какая то проверка была не на месте в исходном. |