Модуль "Онлайн просмотр фильмов". Альфа-версия

2.86K
.
КоханийВолодимир

Folour, Давай.
Я жи ради этого и выгрузил.

О безопастности если можно.

.
КоханийВолодимир

Где какашки?

.
Folour
Think different

Дальше индекса не смотрел
1) Названия некоторых полей в таблице, самой таблицы, переменных...
2) SQL запросы, то в верхнем регистре, то в нижнем, то с конкатенацией переменных, то без. ЗАчем конкатенация переменных в двойных кавычках?
3) Для категорий и файлов должны быть разные таблицы в БД, у тебя общая.
4) Отрубать руки за

Код (+/-)
if ($id) {
                $dnam = mysql_query("select `id`, `refid`, `text` from `film` where type = 'cat' and id = '" . $id . "'");
                $dnam1 = mysql_fetch_array($dnam);
                $dnam2 = mysql_query("select `id`, `refid`, `text` from `film` where type = 'cat' and id = '" . $dnam1['refid'] . "'");
                $dnam3 = mysql_fetch_array($dnam2);
                $catname = "$dnam3[text]";
                $dirid = "$dnam1[id]";

                $nadir = $dnam1['refid'];
                while ($nadir != "0") {
                    echo "&#187;<a href='index.php?id=" . $nadir . "'>$catname</a><br/>";
                    $dnamm = mysql_query("select `id`, `refid`, `text` from `film` where type = 'cat' and id = '" . $nadir . "'");
                    $dnamm1 = mysql_fetch_array($dnamm);
                    $dnamm2 = mysql_query("select `id`, `refid`, `text` from `film` where type = 'cat' and id = '" . $dnamm1['refid'] . "'");
                    $dnamm3 = mysql_fetch_array($dnamm2);
                    $nadir = $dnamm1['refid'];
                    $catname = $dnamm3['text'];
                }
                echo "<a href='index.php?'>На главную раздела</a><br/>";
            }

а также за
if (($rights == 5 || $rights >= 6) && $id != 0) {
                $ct = mysql_query("select `id` from `film` where type='cat' and refid='" . $id . "'");
                $ct1 = mysql_num_rows($ct);
                if ($ct1 == 0) {
                    echo '<a href="index.php?act=del&amp;id=' . $id . '">Удалить категорию</a><br/>';
                }
                echo '<a href="index.php?act=edit&amp;id=' . $id . '">Изменить категорию</a><br/>';
            }
            if (($rights == 5 || $rights >= 6) && (isset($zag['ip']) && $zag['ip'] == 1 || $id == 0)) {
                echo '<a href="index.php?act=mkcat&amp;id=' . $id . '">Создать категорию</a><br/>';
            }
            if (isset($zag['ip']) && $zag['ip'] == 0 && $id != 0) {
                if (($rights == 5 || $rights >= 6) || ($zag['soft'] == 1 && !empty($_SESSION['uid']))) {
                    echo "<a href='index.php?act=write&amp;id=" . $id . "'>Добавить фильм</a><br/>";
                }
                
            }


ну и за
Код (+/-)
case 'cat':
            $req = mysql_query("SELECT COUNT(*) FROM `film` WHERE `type` = 'cat' AND `refid` = '$id'");
            $totalcat = mysql_result($req, 0);
            $bkz = mysql_query("SELECT COUNT(*) FROM `film` WHERE `type` = 'bk' AND `refid` = '$id' AND `moder`='1'");
            $totalbk = mysql_result($bkz, 0);
            if ($totalcat > 0) {
                $total = $totalcat;
                if ($total > $kmess) echo '<div class="topmenu">' . functions::display_pagination('index.php?id=' . $id . '&amp;', $start, $total, $kmess) . '</div>';
                $req = mysql_query("SELECT `id`, `text`  FROM `film` WHERE `type` = 'cat' AND `refid` = '$id' LIMIT " . $start . "," . $kmess);
                $i = 0;
                while ($cat1 = mysql_fetch_array($req)) {
                    $cat2 = mysql_query("select `id` from `film` where type = 'cat' and refid = '" . $cat1['id'] . "'");
                    $totalcat2 = mysql_num_rows($cat2);
                    $bk2 = mysql_query("select `id` from `film` where type = 'bk' and refid = '" . $cat1['id'] . "' and moder='1'");
                    $totalbk2 = mysql_num_rows($bk2);
                    if ($totalcat2 != 0) {
                        $kol = "$totalcat2 кат.";
                    } elseif ($totalbk2 != 0) {
                        $kol = "$totalbk2 фильм.";
                    } else {
                        $kol = "0";
                    }
                    echo $i % 2 ? '<div class="list2">' : '<div class="list1">';
                    echo '<a href="index.php?id=' . $cat1['id'] . '">' . $cat1['text'] . '</a>(' . $kol . ')</div>';
                    ++$i;
                }
                echo '<div class="phdr">Всего: ' . $totalcat . '</div>';
            } elseif ($totalbk > 0) {
                $total = $totalbk;
                if ($total > $kmess) echo '<div class="topmenu">' . functions::display_pagination('index.php?id=' . $id . '&amp;', $start, $total, $kmess) . '</div>';
                $bk = mysql_query("select * from `film` where type = 'bk' and refid = '" . $id . "' and moder='1' order by `time` desc LIMIT " . $start . "," . $kmess);
                $i = 0;
                while ($bk1 = mysql_fetch_array($bk)) {
                    echo $i % 2 ? '<div class="list2">' : '<div class="list1">';
                    echo '<b><a href="index.php?id=' . $bk1['id'] . '">' . htmlentities($bk1['name'], ENT_QUOTES, 'UTF-8') . '</a></b><br/>';
                    echo htmlentities($bk1['announce'], ENT_QUOTES, 'UTF-8');
                    echo '<div class="sub"><span class="gray">Добавилено: (' . functions::display_date($bk1['time']) . ')<br />';
                    ++$i;
                }
                echo '</div></div><div class="phdr">Всего: ' . $totalbk . '</div>';
            } else {
                $total = 0;
            }

5) тег <font> устарелый, нужно использовать <span>
6) <br /> используется только для переноса строк, ни для чего более, у тебя же он используется для табов...
7) все свойства фильма, которые не учавствуют в запросах нужно хранить в одном поле сериалезированным массивом, а не в куче ненужных полей
8) Названия полей, параметров, переменных, актов, файлов должны быть полными и со смысловой нагрузкой, если это акт добавления коментов, то addComment а не addkomm, если это добавление категории/файла то addCategory, addFile соответственно, а не addcat и write (добавляем кота и пишем, да?)
ну и полно мелких моментов, таких как в одном файле разный стиль, то двойные то одинарные кавычки для строк (SQL запросы не в счет).
.

и кстати у тебя запрет в раздел работать не будет, т.к. в архиве нет запроса на добавление поля mod_film

.
КоханийВолодимир
# Folour (24.06.2014 / 21:01)
Дальше индекса не смотрел
1) Названия некоторых полей в таблице, самой таблицы, переменных...
2) SQL запросы, то в верхнем регистре, то в нижнем, то с конкатенацией переменных, то без. ЗАчем конкате
Этот весь код из стандартной библиотеки.
Я его считай не трогал.
Запросы делаю только в верхнем регистре. Переменные через апостроф
.
Think different
# КоханийВолодимир (24.06.2014 / 21:15)
Этот весь код из стандартной библиотеки.
Я его считай не трогал.
Запросы делаю только в верхнем регистре. Переменные через апостроф
Не катит отговорка, если что-то делаешь - делай полностью по-своему, а не кусок оттуда, кусок отсюда. Увидел говнокод - отрефакторил как надо, а не так что поменял немного запрос и все.
Короче пиши полностью с нуля, тогда и отговорок таких не будет.
.
Think different

И вообще не пойму, зачем было брать это говно (Библу) за основу? Да легче с нуля написать чем лопатить то говно.

.
КоханийВолодимир

Когда-то напишу с нуля.
Но это уже совсем другая история.

.
ValekS
Ей 25
# Folour (24.06.2014 / 21:18)
Короче пиши полностью с нуля, тогда и отговорок таких не будет.
Я ему тоже это говорю)

А названия переменных и т.д. ... Я думаю что можно и сокращать некоторые названия. Потому как не всегда удобно набирать потом длинные переменные и т.д. Хотя нормальная IDE сильно в этом помогает, но всё же...
Я вот почему то люблю сокращать, привык уже к этому. В Джоне так увидел - так и пишу.
.
Folour
Think different
# ValekS (24.06.2014 / 22:48)
Я ему тоже это говорю)

А названия переменных и т.д. ... Я думаю что можно и сокращать некоторые названия. Потому как не всегда удобно набирать потом длинные переменные и т.д. Хотя нормальная IDE с
Максимум что можно сократить - инкременты в циклах, не более. Так как с такими названиями, как здесь, фиг что поймешь для чего она и что содержит. Для себя пиши как угодно, но если решил выложить в общий доступ или продать/написать на заказ - будь добр приведи в нормальный вид.
Всего: 64