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. anonkz → kurkuma /1 03.10.2012 05:15 QIP свободное общение

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

3. kurkuma → anonkz /2 03.10.2012 05:15 Gajim

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

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

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

5. kurkuma → anonkz /4 03.10.2012 05:22 Gajim

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

6. kurkuma → anonkz /4 03.10.2012 05:22 Gajim

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

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

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

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

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

9. kurkuma → anonkz /7 03.10.2012 05:27 Gajim

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

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

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

11. kurkuma → anonkz /8 03.10.2012 05:28 Gajim

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

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

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

13. kurkuma → anonkz /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. anonkz → kurkuma /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. anonkz → kurkuma /16 03.10.2012 05:35 QIP свободное общение

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

18. kurkuma → anonkz /17 03.10.2012 05:37 Gajim

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

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

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

20. ojab 03.10.2012 05:40 YGG!

пиздец

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

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

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

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

23. kurkuma → anonkz /21 03.10.2012 05:44 Gajim

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

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

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

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

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

26. kurkuma → anonkz /24 03.10.2012 05:48 Gajim

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

27. ojab → kurkuma /26 03.10.2012 05:49 YGG!

пиздец

28. kurkuma → ojab /27 03.10.2012 05:49 Gajim

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

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

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

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

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

32. kurkuma → anonkz /31 03.10.2012 05:56 Gajim

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

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

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

34. kurkuma → anonkz /33 03.10.2012 06:02 Gajim

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

35. ojab → kurkuma /34 03.10.2012 06:02 YGG!

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

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

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

37. kurkuma → kurkuma /34 03.10.2012 06:03 Gajim

фуркция: #oeeotf

38. kurkuma → anonkz /36 03.10.2012 06:04 Gajim

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

39. kurkuma → kurkuma /38 03.10.2012 06:06 Gajim

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

40. kurkuma → kurkuma /38 03.10.2012 06:07 Gajim

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

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

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

42. kurkuma → anonkz /41 03.10.2012 06:14 Gajim

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

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

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

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

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

45. kurkuma → anonkz /43 03.10.2012 06:16 Gajim

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

46. kurkuma → anonkz /43 03.10.2012 06:18 Gajim

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

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

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

48. kurkuma → anonkz /47 03.10.2012 06:20 Gajim

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

49. anonkz → kurkuma /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. kurkuma → anonkz /49 03.10.2012 06:23 Gajim

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

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

return $codes{$number}.$out;

52. ojab → anonkz /49 03.10.2012 06:24 YGG!

>C:\
пиздец

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

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

54. kurkuma → anonkz /53 03.10.2012 06:25 Gajim

обосрался

55. kurkuma → anonkz /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. kurkuma → ojab /56 03.10.2012 06:26 Gajim

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

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

Норм стало.

59. kurkuma → anonkz /58 03.10.2012 07:34 Gajim

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

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

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

61. kurkuma → anonkz /60 03.10.2012 07:37 Gajim

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

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

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

63. kurkuma → anonkz /62 03.10.2012 07:39 Gajim

норм тебе

64. kurkuma → anonkz /62 03.10.2012 07:39 Gajim

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

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

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

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

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

67. kurkuma → anonkz /66 03.10.2012 07:42 Gajim

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

68. kurkuma → anonkz /66 03.10.2012 07:42 Gajim

а не

69. kurkuma → anonkz /66 03.10.2012 07:42 Gajim

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

70. kurkuma → kurkuma /69 03.10.2012 07:42 Gajim

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

71. kurkuma → kurkuma /70 03.10.2012 07:43 Gajim

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

72. ojab → kurkuma /69 03.10.2012 07:43 YGG!

там return, а там $out

73. kurkuma → ojab /72 03.10.2012 07:43 Gajim

/70

74. ojab → kurkuma /73 03.10.2012 07:43 YGG!

да похуй мне

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

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

76. kurkuma → ojab /74 03.10.2012 07:44 Gajim

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

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

Я.

78. kurkuma → anonkz /77 03.10.2012 07:45 Gajim

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

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

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

80. kurkuma → anonkz /79 03.10.2012 07:46 Gajim

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

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

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

82. kurkuma → anonkz /81 03.10.2012 07:49 Gajim

SELECT * FROM mytable ?

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

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

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

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

85. kurkuma → anonkz /84 03.10.2012 08:32 Gajim

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

86. ojab → anonkz /84 03.10.2012 08:32 YGG!

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

87. 238328 03.10.2012 15:50

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

88. 238328 → kurkuma /32 03.10.2012 15:52

лол

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

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

Do you really want to delete ?