Форум » Система построения сайтов » Модули » Сторонние модули » Модуль игры на основе модуля файлов
Открыть Ответить

Модуль игры на основе модуля файлов

11
11.11.2009 15:14:16

запрос посмотри внимательнее, скорее всего в нем грабли зарыты

BugsTracker
BugsTracker
3.85

3.85

12
12.11.2009 19:23:31 12.11.2009 19:27:28

Смотрел я запрос, ничего интересного в нем нет. Кстати, копировал модуль ньюс, при этом данная функция работала вполне нормально... так что тут без бубона не обойтись.
Ну да ладно, это не столь важная вещь. Появился еще один вопрос. Решил сделать некий стимул типа пунктов: при добавлении новой статьи пользователю в специальное поле приплюсовывается еденичка:

PHP
$db->sql_query("UPDATE ".$prefix."_users SET user_add=user_add+1 WHERE user_id='$postid'");

Все бы хорошо, но как теперь сделать, чтобы при удалении статьи эта еденичка изымалась?
Функция удаления статьи:

PHP
case "games_delete":
list($url) = $db->sql_fetchrow($db->sql_query("SELECT url FROM ".$prefix."_games WHERE lid=".$id.""));
if (file_exists($url)) unlink($url);
$db->sql_query("DELETE FROM ".$prefix."_comment WHERE cid='".$id."' AND modul='games'");
$db->sql_query("DELETE FROM ".$prefix."_games WHERE lid='".$id."'");
referer("".$admin_file.".php?op=games");
break;

Можно ли в нее как-то доставить переменную $uid ну или запросить ее с базы данных, с тем чтобы затем произвести удаление:

PHP
$db->sql_query("UPDATE ".$prefix."_users SET user_add=user_add-1 WHERE user_id='$uid'");

?

Версия системы Open SLAED 1.*
Версия PHP PHP 5
Сервер Локальный сервер
typou
typou
13
12.11.2009 19:49:04

Смотрел я запрос, ничего интересного в нем нет

запрос не кинокомедия и в нем самое интересное, чтоб он выбирал необходимое количество записей, ваш такое делает, проверяли?
а с новой идеей надо думать так: сделай еще поле для того, чтобы хранить, uid добавившего юзера, ну и если надо, то поле, в котором количество баллов за эту новость, соответственно это же кол-во баллов идет в поле user_add, потом, если удаляем, то минусуем это кол-во у пользователя с id, которое записано в поле uid.
Это так, сходу придумалось, мож кто еще чего посоветует.

BugsTracker
BugsTracker
3.85

3.85

14
12.11.2009 20:37:20

запрос не кинокомедия и в нем самое интересное, чтоб он выбирал необходимое количество записей, ваш такое делает, проверяли?

да все делал по аналогии, проверял, не работает. может где-то упустил конечно.

сделай еще поле для того, чтобы хранить, uid добавившего юзера, ну и если надо, то поле, в котором количество баллов за эту новость, соответственно это же кол-во баллов идет в поле user_add, потом, если удаляем, то минусуем это кол-во у пользователя с id, которое записано в поле uid.

ты меня не совсем понял. я сделал поле user_add в таблице users. поле uid в таблице модуля существует, в нем id пользователя, добавившего статью. так вот, при добавлении статьи, пользователю прописывается user_add+1, при этом id юзера равно uid, записываемого в таблицу модуля. но это все понятно и просто, я про это не спрашивал. меня интересует как конкретно достать этот uid из таблицы модуля в функции games_delete. модуль - копия стандартного files для open slaed.

Версия системы Open SLAED 1.*
Версия PHP PHP 5
Сервер Локальный сервер
typou
typou
15
12.11.2009 21:28:49 12.11.2009 21:29:10

перед удалением делаешь

PHP
$result = $db->sql_query("select uid from $prefix"._comment WHERE cid='".$id."' AND modul='games'");
list($uid) = $db->sql_fetchrow($result);
$db->sql_query("UPDATE ".$prefix."_users SET user_add=user_add-1 WHERE user_id='$uid'");

ну а после этого делаешь удаление, написанный код не проверял, но вроде как должно работать

BugsTracker
BugsTracker
3.85

3.85

16
13.11.2009 14:50:09 13.11.2009 14:50:47

Спасибо. Вообщем запрос оказался проще пареной репы. Но вчера почему-то хоть убейся в голову не приходил.

PHP
case "games_delete":
list($uid, $url) = $db->sql_fetchrow($db->sql_query("SELECT uid, url FROM ".$prefix."_games WHERE lid=".$id.""));
if ($uid != 0) { $db->sql_query("UPDATE ".$prefix."_users SET user_add=user_add-1 WHERE user_id='$uid'"); }
if (file_exists($url)) unlink($url);
$db->sql_query("DELETE FROM ".$prefix."_comment WHERE cid='".$id."' AND modul='games'");
$db->sql_query("DELETE FROM ".$prefix."_games WHERE lid='".$id."'");
referer("".$admin_file.".php?op=games");
break;
Версия системы Open SLAED 1.*
typou
typou
17
13.11.2009 22:15:11 13.11.2009 22:15:34

Так. Одна проблемка выплыла. Сделал я значит копию ньюс (модуль статей). Все работает вроде, но - когда загружаю изображение в ВВ-редакторе, не создается уменьшенная копия (150*х). Везде копался, толку ноль, ничего не нашел. Папка uploads/pages/thumb пуста, в то время как в папку uploads/pages изображения грузятся вполне нормально. Не могу понять, где искать ошибку, на каком этапе.

Версия системы Open SLAED 1.*
typou
typou
18
14.11.2009 07:57:37

нужно добавить в файл config_uploads.php
добавить строку
$confup['news2'] = "gif,jpg,jpeg,png|104857600|1048576|500|500|10|150|15|1|1";

Еще нужно добавить в файл admin/modules/uploads.php

Найти строки и дописать:

$mods = array("account", "all", "content", "files", "news", "voting","news2");
$lang = array(_ACCOUNT, _ALL, _CONTENT, _FILES, _NEWS, _VOTING,_NEWS2);

ra55551
ra55551
3.75

3.75

19
14.11.2009 12:36:00

Невнимательно прочитал мое сообщение. Все это я естествено сделал (иначе загрузка файлов не работала бы вообще). Проблема не в этих этих параметрах, потому что я их проверял по несколько раз, а где-то еще.

Версия системы Open SLAED 1.*
typou
typou
20
14.11.2009 13:48:26 14.11.2009 13:49:02

ты прав я не внимательно прочитал

Уменьшеная копия создается не в момент загрузки, а в тот момент когда выводится новость в которой есть вот эти теги

PHP
[attach= align=center title=title width=500 height=500]

Так что все у тебя должно работать 😄

ra55551
ra55551
3.75

3.75

Открыть Ответить
Хотите опробовать SLAED CMS в действии?
Идеи и предложения
Обратная связь
Подтверждение

Поделиться
QR-код

Предварительный просмотр