PDA

Просмотр полной версии : Прошу помощи прогера по ПХП в red.button


websmel
06.10.2009, 17:26
Вообщем изначально в ред батоне если в шаб встроить [TEXT-1-2]
в 2-3-х местах то он вставит одинаковый текст

от этого точно есть лекарство, толкьо вот я не помню!

Sauron
06.10.2009, 17:39
Можно просто не ставить этот макрос с одинаковыми значениями в шаблон.

Т.е. не повторять [TEXT-1-2], а сделать [TEXT-1-2], [TEXT-2-2], [TEXT-2-3] и т.д.

Ну и в коде это правится, да. В некоторых модах кнопки это исправлено.

ozmail
06.10.2009, 17:54
Также как вариант [TEXT-1-2] [TEXT-01-2] [TEXT-1-02] [TEXT-01-02] [TEXT-001-2] и т.д.

Sanek
06.10.2009, 18:16
Наверное в шаблоне отсутствует

ikolibri
06.10.2009, 19:10
там смысл в том, что используется функция rand(), а нужно mtrand()

websmel
06.10.2009, 19:38
Да я в ПХП не силён!
и юзать [TEXT-1-2], [TEXT-2-2], [TEXT-2-3]
не получаеться!
вы что джумаете что я об этом не подумал?:biggrin:

Kos
06.10.2009, 20:36
В файле function.php замени
$myshab=str_replace("[TEXT-".$m1[1]."-".$m1[2].$m1[3]."]", GetMyText($keys_n, $dlin), $myshab); на $myshab=preg_replace ('/\[TEXT\-'.$m1[1].'\-'.$m1[2].$m1[3].'\]/', GetMyText($keys_n, $dlin), $myshab , 1);

Только что написал, проверять не стал, сам проверишь.

websmel
06.10.2009, 21:53
R.B/transformer
есть только вот такая строка
$myshab=str_replace("/\[TEXTOFFKEYWORD\-".$m1[1]."\-".$m1[2]."\]/", GetMyText('АРАКАДАБРА', mt_rand($m1[1], $m1[2])), $myshab);

Kos
06.10.2009, 21:55
R.B/transformer
есть только вот такая строка
$myshab=str_replace("/\[TEXTOFFKEYWORD\-".$m1[1]."\-".$m1[2]."\]/", GetMyText('АРАКАДАБРА', mt_rand($m1[1], $m1[2])), $myshab);

Я по обычному РБ смотрел, выложи файл function.php от трансформера, я посмотрю.

Kos
06.10.2009, 22:51
$myshab=preg_replace("/\[TEXT\-".$m1[1]."\-".$m1[2].$m1[3]."\]/", GetMyText($keys_n, mt_rand($m1[1], $m1[2])), $myshab, 1);

Вот есть строка в трансформере, стоит ограничение на количиство замен, то есть текст повторяться не должен. Почему он у тебя повторяеться хз, не телепат.

F.A.I.R.
07.10.2009, 00:01
[TEXT-1-2], [TEXT-01-02], [TEXT-001-002] и так далее столько сколько нужно строчек от одной до двух

Sauron
07.10.2009, 00:34
R.B/transformer
есть только вот такая строка
$myshab=str_replace("/\[TEXTOFFKEYWORD\-".$m1[1]."\-".$m1[2]."\]/", GetMyText('АРАКАДАБРА', mt_rand($m1[1], $m1[2])), $myshab);

В трансформере всё отлично работает. Нет такого глюка. Дорген на сервере или на локале стоит?

МонархЪ
07.10.2009, 11:19
Раз тема такая. Никто не сталкивался с траблой в макросе [BKEYWORD]? :fie:я вроде код правил, там подъем буквы функция не работает, - заменил. И та же херня.

Там перед словом 2 кракозябрины появляются. :sad_1:

netboy
07.10.2009, 11:28
Там перед словом 2 кракозябрины появляются. :sad_1:

Была такая херня,помогла замена заглавных букв (в файле с кеями) с больших на маленькие.

Kos
07.10.2009, 12:29
Раз тема такая. Никто не сталкивался с траблой в макросе [BKEYWORD]? :fie:я вроде код правил, там подъем буквы функция не работает, - заменил. И та же херня.

Там перед словом 2 кракозябрины появляются. :sad_1:

Правильную локаль надо выбрать. set_locale.

F.A.I.R.
07.10.2009, 14:17
Правильную локаль надо выбрать. set_locale.

У меня какого то хера начали ошибки при генерации на сервере вылазить с функцией rand(), на денвере такого не было. Хотя один хер генерит нормально

Kos
07.10.2009, 14:42
У меня какого то хера начали ошибки при генерации на сервере вылазить с функцией rand(), на денвере такого не было. Хотя один хер генерит нормально

Текст ошибки скопируй, скажу в чём может быть проблема.
А что доры на РБ ещё лезут? Не запускал РБ уже месяца 3-4.

ikolibri
07.10.2009, 14:49
ну тогда и я влезу со своим вопросом.
тс, извини.

есть необходимость, чтобы рб сохранял результаты генерации в 1 файл.
кто знает что и куда надо дописать в коде, чтобы результат генерации например 100 файлов рб засовывал в 1 файл построчно?

Kos
07.10.2009, 16:12
ну тогда и я влезу со своим вопросом.
тс, извини.

есть необходимость, чтобы рб сохранял результаты генерации в 1 файл.
кто знает что и куда надо дописать в коде, чтобы результат генерации например 100 файлов рб засовывал в 1 файл построчно?

Нихуя не понятно. Список страниц дора? Список сгенереных доров?

ikolibri
07.10.2009, 16:48
рб генерирует допустим 100 файлов отдельно: файл1 файл2 и т.п.
нужно чтобы он на выходе не создавал 100 файлов отдельно, а всё складывал в один файл построчно.

чтобы на выходе получался один файл с вот таким содержанием:

"одинфайл"
содержимое файла1
содержимое файла2
...
содержимое файлаN

Kos
07.10.2009, 17:01
рб генерирует допустим 100 файлов отдельно: файл1 файл2 и т.п.
нужно чтобы он на выходе не создавал 100 файлов отдельно, а всё складывал в один файл построчно.

чтобы на выходе получался один файл с вот таким содержанием:

"одинфайл"
содержимое файла1
содержимое файла2
...
содержимое файлаN


В файле function.php строки


$fp=fopen($folder."/".$url, "w+");
fputs($fp, $text);
fclose($fp); unset($text); chmod($folder."/".$url, 0755);

замени на

$hitrodor="Название_Файла_Куда_Запишу� �ся_Все_Страницы.txt";
$fp=fopen($folder."/".$hitrodor, "w+");
fputs($fp, $text);
fclose($fp); unset($text); chmod($folder."/".$hitrodor, 0755);

Это для обычного РБ

Sauron
07.10.2009, 17:07
Раз тема такая. Никто не сталкивался с траблой в макросе [BKEYWORD]? :fie:я вроде код правил, там подъем буквы функция не работает, - заменил. И та же херня.

Там перед словом 2 кракозябрины появляются. :sad_1:

Кодировку фала ключей поменяй на win-1251.

Kos
07.10.2009, 17:15
Кодировку фала ключей поменяй на win-1251.

РБ автоматически переводит кеи в кодировку cp1251.

Sauron
07.10.2009, 17:19
РБ автоматически переводит кеи в кодировку cp1251.

Но с большими буквами, видимо, у него косяк выходит.

Kos
07.10.2009, 17:45
В файлах funtction.php и content.php

setlocale (LC_CTYPE, 'ru_RU');

заменяем на

setlocale(LC_ALL, 'ru_RU.CP1251', 'rus_RUS.CP1251', 'Russian_Russia.1251');

F.A.I.R.
07.10.2009, 19:48
Текст ошибки скопируй, скажу в чём может быть проблема.
А что доры на РБ ещё лезут? Не запускал РБ уже месяца 3-4.

Warning: rand() expects parameter 1 to be long в файле run.php линия 914 вот такое пишет

Kos
07.10.2009, 20:04
Warning: rand() expects parameter 1 to be long в файле run.php линия 914 вот такое пишет

Скорей всего просто версия php старая.

В моём РБ нету 914 строки :smile3:

F.A.I.R.
07.10.2009, 20:09
Скорей всего просто версия php старая.

В моём РБ нету 914 строки :smile3:

Ну так я о том же, там нет строки 914, у меня стоит супер пак 1.4, на денвере такого не было, а на сервере начал шалить, но прикол в том что все нормально генерится

ikolibri
07.10.2009, 20:41
В файле function.php строки


$fp=fopen($folder."/".$url, "w+");
fputs($fp, $text);
fclose($fp); unset($text); chmod($folder."/".$url, 0755);

замени на

$hitrodor="Название_Файла_Куда_Запишу� �ся_Все_Страницы.txt";
$fp=fopen($folder."/".$hitrodor, "w+");
fputs($fp, $text);
fclose($fp); unset($text); chmod($folder."/".$hitrodor, 0755);

Это для обычного РБ



спасибо, попробую

ikolibri
07.10.2009, 20:47
не получилось, создаются обычные страницы

ikolibri
08.10.2009, 03:07
решил проблему с помощью текстпайпа.
5000 файлов склеило за 53 секунды !!!
квк и прога егиса уже парится пол часа, только до 3189го добрались.

текстпайп - сила.

renegad
23.10.2009, 00:24
помогите реализовать такую фишку, нужно чтобы РБ генерил названия страниц в виде рандомных дат типа: 21102009.html, 22102009.html
как такое реализовать? макрос [DATE] или [N-1-31][N-1-12] в настройках РБ не работают :(

Арбайтен
23.10.2009, 00:26
помогите реализовать такую фишку, нужно чтобы РБ генерил названия страниц в виде рандомных дат типа: 21102009.html, 22102009.html
как такое реализовать? макрос [DATE] или [N-1-31][N-1-12] в настройках РБ не работают :(

А что это вам даст?

renegad
23.10.2009, 00:26
А что это вам даст?

коммерческая тайна :) просто нужно такой функционал осуществить..

nik404
23.10.2009, 00:39
макрос [DATE] или [N-1-31][N-1-12] в настройках РБ не работают :(

Кк делал? Попробуй в самом шаблоне подставить:
<br> [RAND-01-31].[RAND-01-12].2009г.<br>

renegad
23.10.2009, 00:47
Кк делал? Попробуй в самом шаблоне подставить:
<br> [RAND-01-31].[RAND-01-12].2009г.<br>

Так мне не title нужен, а чтобы РБ генерил имена файлов в виде дат, макрос указывал в настройках РБ там где имя и расширение генереных страниц задается.

nik404
23.10.2009, 00:49
Сорри, не так понял...

Amorales
23.10.2009, 01:37
Макрос не покатит, надо свою функцию вставить там где идёт генерация и форматизация страниц, а даты откуда будут браться? или рендумом?