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

    +171

    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
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    26. 26
    27. 27
    28. 28
    29. 29
    30. 30
    31. 31
    // Записываем просмотр профайла
    MySQL::QueryInsert(
    	'profile_views', 
    	array(
    		'profile_id' => (int)$user['id'], 
    		'visitor' => (int)User::$current['id'], 
    		'date' => (int)$cur_time, 
    		'hidden' => (int)User::$current['hidden']
    		)
    	);
    // Смотрим последнюю запись в просмотрах
    $prev_visit = MySQL::FetchAll(
    	MySQL::Query(
    		'SELECT `visitor`,`date` 
    		   FROM profile_views 
    		  WHERE profile_id='.(int)$user['id'].' AND `date`<'.(int)$cur_time.
              ' AND `hidden`='.(int)User::$current['hidden'].' 
           ORDER BY `date` DESC 
              LIMIT 1'
            )
        );
    // если юзер сам посмотрел свой профиль - удаляем только что вставленную запись
    if ($prev_visit[0]['visitor'] == User::$current['id']) {
        MySQL::Query(
    	    'DELETE FROM profile_views 
    	      WHERE profile_id='.(int)$user['id'].' 
    	        AND `date`='.(int)$prev_visit[0]['date'].
              ' AND `hidden`='.(int)User::$current['hidden'].' 
                AND visitor='.(int)User::$current['id']
        );
    };

    Комментарии мои. Сука, я потихоньку начинаю ненавидеть прибалтийских программеров

    Запостил: Sc0rp10, 28 Ноября 2011

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

    • Ну шикарно, чё.
      Ответить
    • Не готишно. Готишно было бы так:
      MySQL::Query(
      	'profile_views', 
      	array('visitor','date'),
      	array(
      		'profile_id' => (int)$user['id'], 
      		'visitor' => (int)User::$current['id'], 
      		array('date' => (int)$cur_time, '<='),
      		'hidden' => (int)User::$current['hidden']
      		),
      	array(`date` => DESC), 1
      	);
      Ответить
      • да я не про квери-билдер пидорский, а про саму логику: сначала записать просмотр профайла, потом опомниться, что юзер сам его мог посмотреть и удалить запись из базы
        Ответить
        • ага, сьесть пирожок, но если с рыбой - срочно высрать обратно если вегитарианец
          Ответить
          • Ахахаха! Валяюсь под столом - это пять! :-)
            Ответить
        • Это мелочи. Местами что-нибудь поменять и всё будет как надо.
          Ответить
    • Смайлокод.
      Ответить
    • показать все, что скрытоvanished
      Ответить

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