1. PHP / Говнокод #5738

    +162

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    if ($_POST['do'] == 'kill')
    {
    	// update users who are in this usergroup to be in the registered usergroup
    	$db->query_write("UPDATE " . TABLE_PREFIX . "user SET usergroupid = 2 WHERE usergroupid = " . $vbulletin->GPC['usergroupid']);
    	$db->query_write("UPDATE " . TABLE_PREFIX . "user SET displaygroupid = 0 WHERE displaygroupid = " . $vbulletin->GPC['usergroupid']);
    	$db->query_write("UPDATE " . TABLE_PREFIX . "useractivation SET usergroupid = 2 WHERE usergroupid = " . $vbulletin->GPC['usergroupid']);
    	$db->query_write("UPDATE " . TABLE_PREFIX . "subscription SET nusergroupid = -1 WHERE nusergroupid = " . $vbulletin->GPC['usergroupid']);
    	$db->query_write("UPDATE " . TABLE_PREFIX . "subscriptionlog SET pusergroupid = 2 WHERE pusergroupid = " . $vbulletin->GPC['usergroupid']);
    	$db->query_write("UPDATE " . TABLE_PREFIX . "userban SET usergroupid = 2 WHERE usergroupid = " . $vbulletin->GPC['usergroupid']);
    	$db->query_write("UPDATE " . TABLE_PREFIX . "userban SET displaygroupid = 0 WHERE displaygroupid = " . $vbulletin->GPC['usergroupid']);
    
    	// now get on with deleting stuff...
    	$db->query_write("DELETE FROM " . TABLE_PREFIX . "usergroup WHERE usergroupid = " . $vbulletin->GPC['usergroupid']);
    	$db->query_write("DELETE FROM " . TABLE_PREFIX . "forumpermission WHERE usergroupid = " . $vbulletin->GPC['usergroupid']);
    	$db->query_write("DELETE FROM " . TABLE_PREFIX . "ranks WHERE usergroupid = " . $vbulletin->GPC['usergroupid']);
    	$db->query_write("DELETE FROM " . TABLE_PREFIX . "usergrouprequest WHERE usergroupid = " . $vbulletin->GPC['usergroupid']);
    	$db->query_write("DELETE FROM " . TABLE_PREFIX . "userpromotion WHERE usergroupid = " . $vbulletin->GPC['usergroupid'] . " OR joinusergroupid = " . $vbulletin->GPC['usergroupid']);
    	$db->query_write("DELETE FROM " . TABLE_PREFIX . "imagecategorypermission WHERE usergroupid = " . $vbulletin->GPC['usergroupid']);
    	$db->query_write("DELETE FROM " . TABLE_PREFIX . "attachmentpermission WHERE usergroupid = " . $vbulletin->GPC['usergroupid']);
    	$db->query_write("DELETE FROM " . TABLE_PREFIX . "prefixpermission WHERE usergroupid = " . $vbulletin->GPC['usergroupid']);

    vBulletin 4.0.4
    || # ---------------- VBULLETIN IS NOT FREE SOFTWARE ---------------- # ||

    Запостил: Sulik78, 21 Февраля 2011

    Комментарии (13) RSS

    • >> VBULLETIN IS NOT FREE SOFTWARE
      пхп не разбирает -- платное или нет
      Ответить
    • не давно внидел типа фраемворк с query_write очень ржачный. Запортить жал не могу.
      Ответить
      • Ну ещё бы, так напиваться, что по кнопкам не попадаешь. Какое уж тут запортить.
        Ответить
    • А как упростить? Что-то не могу понять.
      Ответить
      • Отлично упрощается удалением ;-)
        Ответить
        • >Отлично упрощается удалением ;-)
          Зачем удалением? Намного лучше закрытием проекта.
          Ответить
      • Поддерживаю вопрос. Как можно сделать проще и лучше?
        Ответить
        • Даже в мускуле есть такая весчь как индексы. так вот на уровне базы можно сделать так что при удалении записи в одной таблицы удалялись все записи связнаные с ней в других. Если норамльно спроектировать БД то не надо бедет лепить over 9000 запросов чтоб почистить за собой и боятся что что то забыл. Все будет сделано само.
          Ответить
          • Так там наверняка используется MyISAM
            Ответить
            • Триггеры, не? Им несколько параллельно до типов таблиц...
              Ответить
              • Чтобы создавать триггеры нужно иметь Супер привилегия.
                Ответить
                • а разве хостер не дает таких привелегий для базы клиента?
                  Ответить
                  • Ну вот, например, agava: http://hosting.agava.ru/faq/tech/docs/mysql.shtml
                    Ответить

    Добавить комментарий