anonkz 03.10.2012 05:02 QIP свободное общение

http://code.google.com/p/mypasta/
Ну в общем залил первую версию. Адекватная критика приветствуется.

Recommended by:

@ojab: itt пхпотсос

1. kurkuma 03.10.2012 05:14 Gajim

> isset($_GET['view'])
разве оно не срет нотайсами при максимальном еррор репортинге? я обычно использую
array_key_exists('view', $_GET) && !!$_GET['view']
чтобы определить, что непустое

2. anonkzkurkuma /1 03.10.2012 05:15 QIP свободное общение

Не срет. Без этого срет.

3. kurkumaanonkz /2 03.10.2012 05:15 Gajim

> $view!=''
можно заменить на
> !!$view
я про это писал же

4. anonkzkurkuma /3 03.10.2012 05:17 QIP свободное общение

В чем разница? Если isset пустой, то он возвращает пустую строку.

5. kurkumaanonkz /4 03.10.2012 05:22 Gajim

вместо
strtotime('now');
лучше вроде как использовать
date('U');

6. kurkumaanonkz /4 03.10.2012 05:22 Gajim

Алсо, есть демо?

7. anonkzkurkuma /6 03.10.2012 05:25 QIP свободное общение

Демо крутиться локально. Хостинга нету развернуть.

8. anonkzkurkuma /5 03.10.2012 05:26 QIP свободное общение

Чем лучше? Первый вариант более читаемый.

9. kurkumaanonkz /7 03.10.2012 05:27 Gajim

Я бы тебя похакал :3

10. anonkzkurkuma /9 03.10.2012 05:28 QIP свободное общение

Рассказывай лучше как и где. :3

11. kurkumaanonkz /8 03.10.2012 05:28 Gajim

срттутайм вроде парсится сложнее, хз, сделай циклом 10000 раз и проверь что лучше

12. anonkzkurkuma /9 03.10.2012 05:29 QIP свободное общение

(string)$_GET['view'] надо заменить на (int)$_GET['view']

13. kurkumaanonkz /10 03.10.2012 05:30 Gajim

запости такую пасту:
</textarea><div style="position:absolute;top:0;left:0;width:100%;height:100%;background:red;colo r:#fff;font-size:1000px">ХУЙ ПИЗДА СОСИ ХУЙ ЛАЛКА</div>

14. anonkzkurkuma /13 03.10.2012 05:31 QIP свободное общение

Сука. Я обосрался.

16. kurkuma 03.10.2012 05:32 Gajim

echo '<p><b>Ваша паста:</b></p><p><textarea rows="'.($filecols<20?20:$filecols).'" cols="50" readonly>'.htmlspecialchars($filedata).'</textarea>

17. anonkzkurkuma /16 03.10.2012 05:35 QIP свободное общение

Спасибо большое.

18. kurkumaanonkz /17 03.10.2012 05:37 Gajim

алсо, по стандартам тег <a> должен быть внутри <h1>, а не снаружи

19. anonkzkurkuma /18 03.10.2012 05:38 QIP свободное общение

Знаю, просто на хочу захерачил. Пофиксил.

20. ojab 03.10.2012 05:40 YGG!

пиздец

21. anonkzkurkuma /18 03.10.2012 05:40 QIP свободное общение

Еще есть проблема, только заметил, если урл будет
http://localhost/pasta/index.php?view=.
то все наебнется. :3

22. anonkzanonkz /21 03.10.2012 05:43 QIP свободное общение

Даже если добавить проверку
if ($file_handle!=false) {
То все равно вываливается варнинг.

23. kurkumaanonkz /21 03.10.2012 05:44 Gajim

проверяй view
if (preg_match('~^\d+$~', $_GET['view']))

24. anonkzkurkuma /23 03.10.2012 05:46 QIP свободное общение

Спасибо, а то я костыль начал писать

25. anonkzojab /20 03.10.2012 05:47 QIP свободное общение

Пиши еще. А то у меня от твоих коментариев сухо становится в трусах.

26. kurkumaanonkz /24 03.10.2012 05:48 Gajim

это самый нормальный способ проверить что в переменной цифры. есть всякие функции типа is_numeric, но они пропускают не только натуральные числа, т.е. может придти отрицательное или нецелое число

27. ojabkurkuma /26 03.10.2012 05:49 YGG!

пиздец

28. kurkumaojab /27 03.10.2012 05:49 Gajim

такие дела, да

29. anonkzkurkuma /23 03.10.2012 05:53 QIP свободное общение

Слушай. С ^,\d,+,$ понятно. А что за ~?

31. anonkzkurkuma /30 03.10.2012 05:55 QIP свободное общение

Все. Нагуглил. Что еще починить можно?

32. kurkumaanonkz /31 03.10.2012 05:56 Gajim

если у тебя в одну секунду запостят две пасты, то одна другую перезапишет

33. anonkzkurkuma /32 03.10.2012 05:57 QIP свободное общение

Да. Можно добавлять милисекунды.

34. kurkumaanonkz /33 03.10.2012 06:02 Gajim

можно сделать идентификаторы как в imgur (буквы+цифры), только не рандомные, а последовательные

35. ojabkurkuma /34 03.10.2012 06:02 YGG!

>как в psto (буквы)

36. anonkzkurkuma /34 03.10.2012 06:03 QIP свободное общение

Смотерть последний файл, увеличивать и отдавать пользователю?

37. kurkumakurkuma /34 03.10.2012 06:03 Gajim

фуркция: #oeeotf

38. kurkumaanonkz /36 03.10.2012 06:04 Gajim

имя нового файла:
generate_code(count(scandir($pastadir))-1);
функция в #oeeotf

39. kurkumakurkuma /38 03.10.2012 06:06 Gajim

ну и вместо $_GET['view'] можно использовать $_SERVER['QUERY_STRING'], тогда урлы будут вместо таких:
http://localhost/pastebin/?view=e27sYS
такие:
http://localhost/pastebin?e27sYS
только кверистринг всегда установлен, нужно просто проверять пустой/непустой (т.е. isset будет всегда true возвращать)

40. kurkumakurkuma /38 03.10.2012 06:07 Gajim

короче, на 60 строке замени
$curfile=strtotime('now');
на
$curfile=generate_code(count(scandir($pastadir))-1);
и перетяни код функции из #oeeotf

41. anonkzkurkuma /40 03.10.2012 06:13 QIP свободное общение

$mtime = microtime(true);
От точки избавится и все.

42. kurkumaanonkz /41 03.10.2012 06:14 Gajim

нахуй длинные урлы?

43. anonkzkurkuma /42 03.10.2012 06:16 QIP свободное общение

Можно этот длинный урл зиповать и потом бинарный код в виде UUCODE выдавать. :3

44. anonkzanonkz /43 03.10.2012 06:16 QIP свободное общение

Я пошутил. Сейчас через generate_code и $_SERVER['QUERY_STRING'] переделаю

45. kurkumaanonkz /43 03.10.2012 06:16 Gajim

пиздец какой-то. можно просто брать тогда
count(scandir($pastadir))-1
это будет номер для следующего файла

46. kurkumaanonkz /43 03.10.2012 06:18 Gajim

можно взять хеш длинного урла потом сгенерировать уникальный короткий идентификатор, добавить в базу соответствие (таблица с 2 полями — хеш и идентификатор), а при запросе расшифровывать хеш (там один хуй же цифры, быстро расшифруется) и отдавать файл

47. anonkzkurkuma /45 03.10.2012 06:19 QIP свободное общение

Слушай. Почему в #oeeotf используются " для обычных строк? Ведь php пытается парсить. Почему просто ' не использовать?

48. kurkumaanonkz /47 03.10.2012 06:20 Gajim

можешь заменить, да, хотя во времени это вообще никак не отражается, я использую двойные кавычки только для SQL-запросов (иначе синтаксис в саблайме не подсвечивается сука)

49. anonkzkurkuma /48 03.10.2012 06:22 QIP свободное общение

> echo generate_code(1000000);

> Notice: String offset cast occurred in C:\coding\Apache24\htdocs\pasta\index.php on line 32

50. kurkumaanonkz /49 03.10.2012 06:23 Gajim

а что на 32 линии?

51. anonkzkurkuma /50 03.10.2012 06:24 QIP свободное общение

return $codes{$number}.$out;

52. ojabanonkz /49 03.10.2012 06:24 YGG!

>C:\
пиздец

53. anonkzojab /52 03.10.2012 06:25 QIP свободное общение

Это у апач под вайном. :3

54. kurkumaanonkz /53 03.10.2012 06:25 Gajim

обосрался

55. kurkumaanonkz /51 03.10.2012 06:26 Gajim

а если
return $codes{$number}.$out;
заменить на
return $codes{((int) $number)}.$out;

56. ojab 03.10.2012 06:26 YGG!

читаю тред, не убирая руку от лица

57. kurkumaojab /56 03.10.2012 06:26 Gajim

ты не шаришь в тырпрайзе просто

58. anonkzkurkuma /55 03.10.2012 07:34 QIP свободное общение

Норм стало.

59. kurkumaanonkz /58 03.10.2012 07:34 Gajim

фикс уровня похапе

60. anonkzkurkuma /59 03.10.2012 07:34 QIP свободное общение

Незнал. Буду знать.

61. kurkumaanonkz /60 03.10.2012 07:37 Gajim

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

62. anonkzkurkuma /61 03.10.2012 07:39 QIP свободное общение

У меня стоит:
error_reporting = E_ALL

63. kurkumaanonkz /62 03.10.2012 07:39 Gajim

норм тебе

64. kurkumaanonkz /62 03.10.2012 07:39 Gajim

алсо, у меня display_errors = none
чтобы в браузер не срало

65. anonkzkurkuma /64 03.10.2012 07:40 QIP свободное общение

У благо локально стоит, так что норм. На серверах — отрубаю

66. anonkzkurkuma /55 03.10.2012 07:41 QIP свободное общение

Слушай. А почему в той функции на "return $codes{$number}.$out;" ругается, а на "$out = $codes{$key}.$out;" нет. Это из-за того что return?

67. kurkumaanonkz /66 03.10.2012 07:42 Gajim

дунно, лол, это же похапе

68. kurkumaanonkz /66 03.10.2012 07:42 Gajim

а не

69. kurkumaanonkz /66 03.10.2012 07:42 Gajim

> return $codes{$number}.$out
> $out = $codes{$key}.$out;
разницу найди

70. kurkumakurkuma /69 03.10.2012 07:42 Gajim

там $number, а там $key

71. kurkumakurkuma /70 03.10.2012 07:43 Gajim

короче, $number приходит не int, вот он и выебывается

72. ojabkurkuma /69 03.10.2012 07:43 YGG!

там return, а там $out

73. kurkumaojab /72 03.10.2012 07:43 Gajim

/70

74. ojabkurkuma /73 03.10.2012 07:43 YGG!

да похуй мне

75. anonkzojab /74 03.10.2012 07:44 QIP свободное общение

Не не похуй. Ты зависишь от нас и наших постов.

76. kurkumaojab /74 03.10.2012 07:44 Gajim

ты тупой просто

77. anonkzkurkuma /76 03.10.2012 07:44 QIP свободное общение

Я.

78. kurkumaanonkz /77 03.10.2012 07:45 Gajim

алсо, я когда ньюфажил, писал гостевые книги, лол. только щас они никому не нужны. но можешь покачать скиллы создавая бложик, например

79. anonkzkurkuma /78 03.10.2012 07:46 QIP свободное общение

Обязательно. Создам своей веб-софт с минимализмом и текстовыми файлами. :3

80. kurkumaanonkz /79 03.10.2012 07:46 Gajim

в текстовых файлах нет жизни, учи скуль

81. anonkzkurkuma /80 03.10.2012 07:49 QIP свободное общение

mssql, mysql, sqlite, postgresql. С этим всем работал.

82. kurkumaanonkz /81 03.10.2012 07:49 Gajim

SELECT * FROM mytable ?

83. anonkzkurkuma /82 03.10.2012 07:50 QIP свободное общение

Общий sql-синтаксис я понимаю. Специфические вещи гуглю.

84. anonkz 03.10.2012 08:31 QIP свободное общение

в общем закоммитил. Спасибо @kurkuma и @ojab.

85. kurkumaanonkz /84 03.10.2012 08:32 Gajim

да похуй мне лул

86. ojabanonkz /84 03.10.2012 08:32 YGG!

Пожалуйста, обращайся, если что.

87. 238328 03.10.2012 15:50

это ты разрабатываешь свои навыки или любишь писать велосипеды?

88. 238328kurkuma /32 03.10.2012 15:52

лол

89. anonkz238328 /87 04.10.2012 02:44 QIP свободное общение

Люблю писать велосипеды, плюс разрабатываю свой ану^W^Wсвои навыки

Do you really want to delete ?