#1 2011.11.18 17:19

Nu3oN
Moderator
Откуда: БелгородЭ
Зарегистрирован: 2010.04.28
Сообщений: 805
Карма: 11
Профиль Веб-сайт

Алгоритмы (вопрос/ответ)

Думаю стоящий сабж для того что бы его выделить!

В общем задает вопрос по интересующей "проблеме" и получаем ответ!


Я буду лучше голоден, но между креслом и рулем и на дороге.

Неактивен

#2 2011.11.18 18:13

Nu3oN
Moderator
Откуда: БелгородЭ
Зарегистрирован: 2010.04.28
Сообщений: 805
Карма: 11
Профиль Веб-сайт

Re: Алгоритмы (вопрос/ответ)

В общем на зендовском фрейме (не знаю как на других я кроме зенда и CI ничего углубленно не юзал) есть такая фича:
Вот у нас есть контроллер и нам необходимо для определенной странички указать заголовок сайта (<title></title>)
Точных названий переменных не помню, но суть в том, что в контроллере можно указать заголовок таким образом:

Код:

1
span style="color: #0000BB"><?phpclass IndexController extends Zend_Controller_Action{ function indexAction() { $this -> view -> title = 'Главная страница'; }}?>

хочу себе организовать такую же шнягу! я вижу выход из ситуации только ob_start() и т.д
а потом просто заменять необходимые элементы!

У кого какие предложения?
З.ы только не посылайте меня лопатить зендовский фрейм, я лучше повешусь  big_smile


Я буду лучше голоден, но между креслом и рулем и на дороге.

Неактивен

#3 2011.11.18 18:18

TLENS
Moderator
Откуда: Украина
Зарегистрирован: 2009.04.05
Сообщений: 2402
Карма: 14
Профиль

Re: Алгоритмы (вопрос/ответ)

Nu3oN Я юзаю деструктор.
Вот пример:

Неактивен

#4 2011.11.18 18:20

Nu3oN
Moderator
Откуда: БелгородЭ
Зарегистрирован: 2010.04.28
Сообщений: 805
Карма: 11
Профиль Веб-сайт

Re: Алгоритмы (вопрос/ответ)

TLENS написал:

Вот пример:

эммм... где??


Я буду лучше голоден, но между креслом и рулем и на дороге.

Неактивен

#5 2011.11.18 18:26

TLENS
Moderator
Откуда: Украина
Зарегистрирован: 2009.04.05
Сообщений: 2402
Карма: 14
Профиль

Re: Алгоритмы (вопрос/ответ)

В общем пример таков в начале иницыализируется класс Тема
Далее по пути работы скрипта изменяются публичные свойства.
И в деструкторе вывожу в браузер все.
В общем думал катнуть код простой но в падло.
Вот мой файл themes.class.php аналог буферизации.
Он еще только на тестировании поэтому и говна много, ну я так понимаю тебе пример надо.

Код:

1
span style="color: #0000BB"><?phpclass Themes { public $title; public $nav; public $description; public $description_foot; public $content; public $desc; public $keyword; public $head; public function __construct () { global $_SET; } public function __destruct () { global $_SET, $starttime; $this->parse(); header("Content-type: text/html; charset=utf-8"); $prev = (($_SET->prev == 120) ? '<b>120x90</b>' : '<a href="?preview=120">120x90</a>'); $prev .= ' / '; $prev .= (($_SET->prev == 40) ? '<b>40x30</b>' : '<a href="?preview=40">40x30</a>'); $r = '<?xml version="1.0" encoding="utf-8"?>' . "\n" .'<!DOCTYPE html PUBLIC "-//WAPFORUM//DTD XHTML Mobile 1.0//EN" "http://www.wapforum.org/DTD/xhtml-mobile10.dtd">' . "\n" .'<html>' . "\n" .' <head>' . "\n" .' <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />' . "\n" .' <meta name="' . $this->keyword . '" />' . "\n" .' <meta name="description" content="' .$this->desc. '" />' . "\n" .' <title>' . $this->title . '</title>' . "\n" .' <link rel="stylesheet" type="text/css" href="/themes/' . $_SET->themes . '/style.css" />' . "\n" . $this->head .' </head>' . "\n" .' <body>' . "\n" . "\n" .' <div id="title">' . "\n" .' <a href="' . $_SET->home . '">' .'<img style="position: relative;top: 5px;" src="/themes/' . $_SET->themes . '/images/logo.png" alt="" /></a>' . "\n" .' </div>' . "\n" . "\n" .' <div id="nav">' . $this->nav . '</div>' . "\n" .' <div id="description">' . $this->description . '</div>' . "\n" . "\n" .' <div id="content">' . "\n" .' Предосмотр: ' . $prev . '<br />' . "\n" . $this->content . "\n" .' </div>' . "\n" .' <div id="description-foot">' . "\n" .' ' .$this->description_foot . "\n" .' </div>' . "\n" . "\n" .' <div id="foot">' . "\n" .' <div style="text-align:center">' //.' <a href="http://fixwap.net/ru/?uid=11598"><img src="http://fixwap.net/ru/count.php?uid=11598" alt="fixwap"/></a>' . "\n" .' <a href="http://weplog.net/in/8375"><img src="http://weplog.net/8375/1.cnt" alt="wap сайты" title="wap сайты" /></a>'. "\n" .' <a href="http://waplog.net/c.shtml?352534"><img src="http://c.waplog.net/352534.cnt" alt="waplog" /></a>' . "\n" .' <a href="http://mstop.ru/?uid=860"><img src="http://mstop.ru/count.php?860" alt="mstop.ru"/></a>' . "\n" //.' <a href="http://top.sexvirus.ru/click.php?2367"><img src="http://top.sexvirus.ru/image.php?2367,small" alt="top.sexvirus.ru" /></a>' . "\n" .' <br />' . "\n" .' <a href="http://top4wap.ru/5883"><img src="http://top4wap.ru/cnt4.gif?5883" alt="TOP4WAP.ru"/></a><br />' . "\n" .' <small>' . round(microtime(1) - $starttime, 4) . ' Сек.</small> ' . "\n" .' </div>' . "\n" .' </div>' . "\n" .' </body>' . "\n" .'</html>'; //var_dump($this); //highlight_string($r); echo $r; } private function parse () { global $_SET; if (!$this->title) { if ($_SET->page[1]) { $this->title = $_SET->page[1] . ' - Лучшее порно'; } else { $this->title = 'Лучшее порно'; } } else { $this->title = $this->title . ' - Лучшее порно'; } if ($this->content == '') { $this->content = ' <b>Страница не найдена</b>'; } if (!$this->description) { $this->description = ' Все самое лучшее здесь!'; } if ($this->nav) { $this->nav = $this->navig(); } if (!$this->nav) { $this->navig(); } if (!$this->keyword) { $this->keyword = 'keywords" content="podsmotri.org, best, xxx, порно, Инцест, Домашка, руское, эротика, видео, 3gp, mp4, трах, секс, подсмотренное, лучшее'; } if (!$this->desc) { $this->desc = 'Лучшая подборка xxx, Бесплатное xxx, Домашнее xxx, Руское xxx, Скачать 3gp, Скачать mp4, Популярное xxx, Ржачное xxx, Скрытая камера'; } } private function navig () { global $_SET; $arr_top[1] = array('<a href="/' . $_SET->act . '/new/">Новые</a>', '<b>Новые</b>'); $arr_top[2] = array('<a href="/' . $_SET->act . '/search/">Поиск</a>', '<b>Поиск</b>'); $arr_top[3] = array('<a href="/' . $_SET->act . '/top_week/">Топ нед.</a>', '<b>Топ нед.</b>'); $arr_top[4] = array('<a href="/' . $_SET->act . '/top_month/">Топ мес.</a>', '<b>Топ мес.</b>'); $arr_top[5] = array('<a href="/' . $_SET->act . '/top_all/">Топ все</a>', '<b>Топ все</b>'); $c = count($arr_top); $this->nav = '<small>'; for ($i=1; $i<=$c; $i++) { $this->nav .= $arr_top[$i][(($_SET->page[0] == $i)?1:0)] . (($i<$c)? ' | ' : ''); } $this->nav .= '</small>'; $if = ($_SET->page[0] >= 1 && $_SET->page[0] <= 5); $arr_nav[1] = array('video', '<a href="/video/' . (($if)? $_SET->page[2] : 'new') . '/">Видео</a>', '<b>Видео</b>'); $arr_nav[2] = array('photo', '<a href="/photo/' . (($if)? $_SET->page[2] : 'new') . '/">Фото</a>', '<b>Фото</b>'); $i = 0; $this->description = '<small>'; while ($arr_nav[++$i][0]) { //() $this->description .= $arr_nav[$i][(($_SET->act == $arr_nav[$i][0])? 2 : 1 )] . (($arr_nav[($i + 1)][0])? ' / ' : ''); } $this->description .= '</small>'; }}?>

Неактивен

#6 2011.11.18 18:32

Nu3oN
Moderator
Откуда: БелгородЭ
Зарегистрирован: 2010.04.28
Сообщений: 805
Карма: 11
Профиль Веб-сайт

Re: Алгоритмы (вопрос/ответ)

TLENS, идея впринципе хорошая, но у меня на шаблонах все!
а так черпану онсновную идею! это примерно то что я и искал))) спасибо большое smile


Я буду лучше голоден, но между креслом и рулем и на дороге.

Неактивен

#7 2011.11.18 19:44

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6594
Карма: 107
Профиль Веб-сайт

Re: Алгоритмы (вопрос/ответ)

Nu3oN, я не совсем понял, как ты тогда рендеришь шаблоны, не имея всех данных?
Может я не совсем понимаю, но вариантов тут с ходу несколько имеется.

Неактивен

#8 2011.11.18 22:04

Nu3oN
Moderator
Откуда: БелгородЭ
Зарегистрирован: 2010.04.28
Сообщений: 805
Карма: 11
Профиль Веб-сайт

Re: Алгоритмы (вопрос/ответ)

Я сделал по принципу TLENS'a

Код:

1
span style="color: #0000BB"><?php if (is_file(PATH_TEMPLATES . self :: OUTPUT_THEME . '/template.inc.php')) { require_once(PATH_TEMPLATES . self :: OUTPUT_THEME . '/template.inc.php'); Logging :: setMark('Подключение файла настроек шаблона'); } else { trigger_error('Ошибка при подключении файла настроек шаблона', E_USER_ERROR); } /* * Указываем залоговок страницы. */ if (empty($this -> arrHeader['title'])) { $arrHeader['title'] = $titles['title']; } else { $arrHeader['title'] = $this -> arrHeader['title']; } /* * Указываем ключевые слова. */ if (empty($this -> arrHeader['keywords'])) { $arrHeader['keywords'] = $titles['keywords']; } else { $arrHeader['keywords'] = $this -> arrHeader['keywords']; } /* * Указываем описание страницы. */ if (empty($this -> arrHeader['description'])) { $arrHeader['description'] = $titles['description']; } else { $arrHeader['description'] = $this -> arrHeader['description']; } /* * Указываем где мы берем стиль. */ $arrHeader['link_css'] = $titles['link_css']; /* * Указываем где мы берем иконку. */ $arrHeader['link_ico'] = $titles['link_ico']; /* * Закрываем буферизацию. */ $strOut = ob_get_contents(); ob_end_clean(); header("Content-type: text/html; charset=utf-8"); /* * Выводим основной шаблон. */ $this -> view -> assign('arrHeader', $arrHeader); $this -> view -> assign('outContent', $strOut); $this -> view -> display('/', 'primary'); die; }

Я буду лучше голоден, но между креслом и рулем и на дороге.

Неактивен

#9 2011.11.18 22:53

Nu3oN
Moderator
Откуда: БелгородЭ
Зарегистрирован: 2010.04.28
Сообщений: 805
Карма: 11
Профиль Веб-сайт

Re: Алгоритмы (вопрос/ответ)

Кстати юзав CI увидел "маркеры", и придумал велосипед, который оказался очень полезным!
полностью вижу весь процесс выполнения скрипта:

Начало ведения меток
Подключение класса "Logging"
Подключение файла "setting"
Подключение файла "common"
Старт сессии
Подключение класса "MVC_Router"
Определение категории с контроллером
Определение файла контроллера
Подключение класса "MVC_Controller"
Подключение файла контроллера
Запуск контроллера
Подключение класса "DB"
Подключение класса "DB_ClassBase"
Подключение класса "NativeTemplate"
Проверка существования категории с шаблонами
Подключение класса "GetHelpers"
Подключение хэлпера "testhelp()"
Подключение шаблона "index"
Подключение файла настроек шаблона
Передаем переменные в шаблон
Подключение шаблона "primary"
Конец ведения меток

Только в CI время пишут! там идет принцип такой:

Код:

1
span style="color: #0000BB"><?phpfunction name_function($var){ $this -> mark[$var] = microtime();}name_function('controller_execution_time_( '.$class.' / '.$method.' )_start');

а нахрена это надо я так и не нашел...


Я буду лучше голоден, но между креслом и рулем и на дороге.

Неактивен

#10 2011.11.19 11:23

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6594
Карма: 107
Профиль Веб-сайт

Re: Алгоритмы (вопрос/ответ)

возможно, для выявления ресурсоемких мест.

Неактивен

#11 2012.01.13 22:51

Sep
Участник
Откуда: Беларусь
Зарегистрирован: 2009.05.30
Сообщений: 37
Карма: 0
Профиль Веб-сайт

Re: Алгоритмы (вопрос/ответ)

Есть число 20, как сделать 5 разных чисел, что бы они в среднем арифметическом давали 20, и по возможности регулировать уровень числа.
Например:
Дано 20
Четвертое число больше всех.
Получаем числа 16, 10, 24, 30, 20.
Как это реализовать? Заранее спасибо

Отредактировано Sep (2012.01.13 22:55)

Неактивен

#12 2012.01.14 00:23

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6594
Карма: 107
Профиль Веб-сайт

Re: Алгоритмы (вопрос/ответ)

Код:

1
span style="color: #0000BB"><?php$avg = 20; // среднее арифметическое$count = 5; // всего необходимо чисел$max = 30; // максимальное число$maxNumber = 4; // какое число в массиве должно быть максимальным$numbers = array();$sum = $avg * $count;for ($i = 1; $i <= $count; ++$i) { if ($i === $maxNumber) { $numbers[$i] = $max; } else if ($i === $count) { $numbers[$i] = $sum - array_sum($numbers); } else { $numbers[$i] = mt_rand($max / $count + $count, $max - $count); }}print_r($numbers);echo array_sum($numbers) / sizeof($numbers);

спасибо за задачку, мне очень понравилась)
Добавлено спустя    51 секунду:
P.S. не уверен на счет оптимальности кода, но сам алгоритм вроде работает.

Неактивен

#13 2012.01.14 01:07

Sep
Участник
Откуда: Беларусь
Зарегистрирован: 2009.05.30
Сообщений: 37
Карма: 0
Профиль Веб-сайт

Re: Алгоритмы (вопрос/ответ)

Gemorroj, спасибо большое smile

Неактивен

#14 2012.01.15 16:24

Sep
Участник
Откуда: Беларусь
Зарегистрирован: 2009.05.30
Сообщений: 37
Карма: 0
Профиль Веб-сайт

Re: Алгоритмы (вопрос/ответ)

Gemorroj, жаль что при увеличении числа $count алгоритм уже не правильно работает. Последнее число становится очень большим, разбежка от средне арифметического должна быть небольшой

Неактивен

#15 2012.01.15 18:17

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6594
Карма: 107
Профиль Веб-сайт

Re: Алгоритмы (вопрос/ответ)

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

Неактивен

#16 2012.04.28 02:17

LEXIN
Участник
Зарегистрирован: 2011.10.31
Сообщений: 26
Карма: 5
Профиль Веб-сайт

Re: Алгоритмы (вопрос/ответ)

У меня такая проблема. Нужно создать страничку списка сайтов локалхоста. Шаблон я подготовил, но в скрипте не могу разобраться, как вывести субдомены в общем блоке.
Конструкция разметки должна быть примерно следующей:
<div>
<a>Домен1</a>
<a>Домен2</a>

   <div>
    <a>Субдомен1.Домен2</a>
    <a>Субдомен2.Домен2</a>
   </div>

<a>Домен3</a>
</div>

А на данный момент я могу вывести лишь так:

<div>
<a>Домен1</a>
<a>Домен2</a>

   <div><a>Субдомен1.Домен2</a></div>
   <div><a>Субдомен2.Домен2</a></div>
   
<a>Домен3</a>
</div>

За основу взял этот скрипт:

Код:

1
lt;?// Original idea by: Dmitry Boykov (http://forum.dklab.ru/users/DmitryBoykov/)$file = file('/usr/local/apache/conf/vhosts.conf');foreach ($file as $line) { if (preg_match('/^[^#]* <VirtualHost \s+ [^:>]+ (?::(\d+))?/six', $line, $p)) { $port = @$p[1]; } if (preg_match('/^[^#]* ServerName \s+ "?([^"]*)"?/six', $line, $p)){ if ($port == 443) continue; $dom = preg_replace('/^www\./si', '', $p[1]); $dom .= $port && $port != 80? ":$port" : ""; $domains[$dom] = join(".", array_reverse(preg_split('/\./', $dom))); }}asort($domains);$prev = false;echo '<ul>';foreach ($domains as $dom=>$parts) { if (!$prev || !preg_match('/'.preg_quote($prev, '/').'$/si', $dom)) { echo "<li><a href=\"http://{$dom}\" target=\"_blank\"><b>{$dom}</b></a></li>"; $prev = $dom; } else { print "&nbsp;&nbsp;-&nbsp;&nbsp;<a href=\"http://{$dom}\" target=\"_blank\">{$dom}</a><br />"; }}echo '</ul>';?>

sad
Было бы вообще здорово, если бы домены и субдомены парсились не из апача, чтоб при запуске на Nginx, список сайтов тоже смог отобразится.

Неактивен

#17 2012.04.28 10:22

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6594
Карма: 107
Профиль Веб-сайт

Re: Алгоритмы (вопрос/ответ)

эм.. не совсем понимаю. проблема всего лишь в дивах?
и еще, вероятно, лучше будет использовать не парсер vhosts.conf, а парсить вывод apachectl -S

Неактивен

#18 2012.04.28 14:24

LEXIN
Участник
Зарегистрирован: 2011.10.31
Сообщений: 26
Карма: 5
Профиль Веб-сайт

Re: Алгоритмы (вопрос/ответ)

Да, вопрос косметического характера - вывод субдоменов в каком-либо классе (дивы для примера конструкции, мне нужен <ul>).
И чтоб скрипт мог работать на том же Денвере. smile

Неактивен

#19 2012.04.28 15:01

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6594
Карма: 107
Профиль Веб-сайт

Re: Алгоритмы (вопрос/ответ)

ну так собери сначала все в массив, а потом с массивом делай что хочешь.

Неактивен

#20 2012.04.28 16:42

LEXIN
Участник
Зарегистрирован: 2011.10.31
Сообщений: 26
Карма: 5
Профиль Веб-сайт

Re: Алгоритмы (вопрос/ответ)

Без понятия как это сделать.

Неактивен

#21 2012.04.28 17:15

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6594
Карма: 107
Профиль Веб-сайт

Re: Алгоритмы (вопрос/ответ)

что именно?

Неактивен

#22 2012.04.28 17:21

LEXIN
Участник
Зарегистрирован: 2011.10.31
Сообщений: 26
Карма: 5
Профиль Веб-сайт

Re: Алгоритмы (вопрос/ответ)

Kак составить массив, чтоб при домене без поддоменов выводило:
<a>Домен</a>,
а при выявлении субдоменов:
<a>Домен</a>
<ul>
<a>Субдомен-1</a>
<a>Субдомен-2</a>
</ul>.

То есть, я не смогу составить такой массив, так как не понимаю основ php.

Неактивен

#23 2012.04.28 21:53

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6594
Карма: 107
Профиль Веб-сайт

Re: Алгоритмы (вопрос/ответ)

давай свой скрипт, как ты сейчас собираешь.

Неактивен

#24 2012.04.28 22:55

LEXIN
Участник
Зарегистрирован: 2011.10.31
Сообщений: 26
Карма: 5
Профиль Веб-сайт

Re: Алгоритмы (вопрос/ответ)

Вот скрипт, только я его уже не разбираю. Искал в инете похожие проблемные ситуации или готовое решение 2 дня и ни чего не добился.sad


Вложения

Неактивен

#25 2012.04.29 19:13

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6594
Карма: 107
Профиль Веб-сайт

Re: Алгоритмы (вопрос/ответ)

скинь еще vhosts.conf для примера, а то у меня как ни странно под рукой не нашлось тестовой конфигурации

Неактивен

#26 2012.04.29 20:27

LEXIN
Участник
Зарегистрирован: 2011.10.31
Сообщений: 26
Карма: 5
Профиль Веб-сайт

Re: Алгоритмы (вопрос/ответ)

Вот такой список составил:


Вложения

Неактивен

#27 2012.04.30 11:25

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6594
Карма: 107
Профиль Веб-сайт

Re: Алгоритмы (вопрос/ответ)

блин, вчера дома немного подправил скрипт, потом настроение пропало) сегодня вечером доделаю

Неактивен

#28 2012.04.30 13:57

LEXIN
Участник
Зарегистрирован: 2011.10.31
Сообщений: 26
Карма: 5
Профиль Веб-сайт

Re: Алгоритмы (вопрос/ответ)

Gemorroj, хорошо.

Неактивен

#29 2012.04.30 22:44

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6594
Карма: 107
Профиль Веб-сайт

Re: Алгоритмы (вопрос/ответ)

надеюсь разберешься


Вложения

Неактивен

#30 2012.05.01 00:11

LEXIN
Участник
Зарегистрирован: 2011.10.31
Сообщений: 26
Карма: 5
Профиль Веб-сайт

Re: Алгоритмы (вопрос/ответ)

sad Я не смог разобраться.
Скрипт выдает:

Array
(
    [site1.ru] => Array
        (
            [0] => sub1.site1.ru
            [1] => sub2.site1.ru
            [2] => sub3.site1.ru
        )

    [site2.ru] => Array
        (
        )

    [site3.ru] => Array
        (
        )

    [site4.ru] => Array
        (
        )

)

Отредактировано LEXIN (2012.05.01 00:28)

Неактивен

#31 2012.05.01 10:54

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6594
Карма: 107
Профиль Веб-сайт

Re: Алгоритмы (вопрос/ответ)

ну так там print_r и exit стоит. я думал с таким массивом ты уже разберешься как дальше работать.

Неактивен

#32 2012.05.01 13:51

LEXIN
Участник
Зарегистрирован: 2011.10.31
Сообщений: 26
Карма: 5
Профиль Веб-сайт

Re: Алгоритмы (вопрос/ответ)

Не, это я не осилил. Пытался в код echo и print вставлять, но получаю только ошибки на выводе.

Неактивен

#33 2012.05.17 01:24

Nu3oN
Moderator
Откуда: БелгородЭ
Зарегистрирован: 2010.04.28
Сообщений: 805
Карма: 11
Профиль Веб-сайт

Re: Алгоритмы (вопрос/ответ)

в общем вопрос в следующем:
Пишу скрипт групп. Зациклился на решение задачи со вступлением в закрытую группу!

Вот и думаю при отсылке запроса на добавление в группу отправлять лс администратору мол такой-то, такой-то хочет вступить в группу.
Или же выискать в модераторах того кто в онлайне и отправить ему в лс запрос? если же второй вариант, то как быть если никого нет в онлайне?
И еще есть третий вариант! создать страничку в группе, мол в группу хотят добавится такие то такие. Но тут тоже есть нюанс! Модераторы могут долгое время не заходить в группу...


Я буду лучше голоден, но между креслом и рулем и на дороге.

Неактивен

#34 2012.05.17 10:20

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6594
Карма: 107
Профиль Веб-сайт

Re: Алгоритмы (вопрос/ответ)

можно совместить эти варианты. а уведомлять админа или модераторов - наверное можно сделать как настройку в группе.

Неактивен

#35 2014.09.04 14:05

tipsun
Moderator
Зарегистрирован: 2009.10.14
Сообщений: 2277
Карма: 19
Профиль

Re: Алгоритмы (вопрос/ответ)

Как правильно разделить несколько переменных через запятую, если неизвестно содержит ли предыдущая или следующая переменная запись?
Примеры:
Строка переменных: {1}{2}{3}{4}{5}{6}{7}
Значение есть только у {1} и {5}, или {3} и {6}, или {2}, {3} и {7} и т.д.
Можно проверить переменную на содержание записи { IF 1 = "" "yes" "no" }
Можно использовать дополнительную переменную и выводить её значение
Проставив запятые обычным образом не катит: {1},{2},{3},{4},{5},{6},{7} т.к. с заданными условия получим: , , , +, +, , например

Неактивен

#36 2014.09.04 17:30

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6594
Карма: 107
Профиль Веб-сайт

Re: Алгоритмы (вопрос/ответ)

для вывода implode используешь?
можно обработать массив через array_filter, например.

Неактивен

#37 2014.09.04 17:32

tipsun
Moderator
Зарегистрирован: 2009.10.14
Сообщений: 2277
Карма: 19
Профиль

Re: Алгоритмы (вопрос/ответ)

Нет, я в MS Word пытаюсь слияние организовать))
Там есть:
{SET переменная "значение"}
{= 1 + 1}
{IF "значение" = переменная "1" "2"}
{MERGEFIELD Переменная \b "before" \f "after"}
Добавлено спустя   3 минуты  33 секунды:
У меня есть файл MS Exel. В нём записи запросов.
На каждый запрос нужен ответ с адресом.
Вот адрес через "," я могу огранизовать простым условием, если есть просто в конце добавить "," но последний элемент будет содержать ","
Вот в чем вся проблема

Неактивен

#38 2014.09.05 18:05

tipsun
Moderator
Зарегистрирован: 2009.10.14
Сообщений: 2277
Карма: 19
Профиль

Re: Алгоритмы (вопрос/ответ)

Получилось.

Неактивен

#39 2014.09.05 18:24

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6594
Карма: 107
Профиль Веб-сайт

Re: Алгоритмы (вопрос/ответ)

зачем код стер?)

Неактивен

#40 2014.09.05 23:15

tipsun
Moderator
Зарегистрирован: 2009.10.14
Сообщений: 2277
Карма: 19
Профиль

Re: Алгоритмы (вопрос/ответ)

Да я уже по-другому сделал))
Лучше всего у меня получается сливать таблицу MS Exel в мой шаблон указывая тип документа "Письмо"
Этот код мне помогает собрать разбитый адрес в таблице MS Exel с разделителем "," примерно так: |город|улица|дом|квартира| => г. Город, ул. Улица, д. #, кв. #
Слияние помогает избегать рутинной работы, таких строк у меня бывает много, а значит столько же писем должно быть.

Код:

1
span style="color: #0000BB"><?php // MS Word// Добавить поле можно комбинацией: [Ctrl] + [F9]// Поле это { }/* Я решил через переменные сделать. Потом удобней будет искать и редактировать. Ибо в MS Word каждый раз надо добавлять поля комбинацией. Тут однотипный код, написали 1 строку с каждого блока, после копируйте все поле и можно редактировать. Можно и попроще, в 2 последних блока сделать. Можно попробовать оптимизировать, не считая кол-во записей, сразу как-то в блоке 4, но мне и так хватает :)*/// Объявление переменных{SET Счетчик 0}{SET Строка ""}{SET Элемент1 ""}{SET Элемент2 ""}{SET Элемент3 ""}{SET Элемент4 ""}// Подготовка Полей слияния. Приводим в конечный вид.{IF Элемент1 <> "" {SET Элемент1 {MERGEFIELD ПолеСлияния1 \f "добавим что-нибудь в конец строки"}}}{IF Элемент2 <> "" {SET Элемент2 {MERGEFIELD ПолеСлияния2 \b "добавим что-нибудь в начало строки"}}}{IF Элемент3 <> "" {SET Элемент3 {MERGEFIELD ПолеСлияния3}}}{IF Элемент4 <> "" {SET Элемент4 {MERGEFIELD ПолеСлияния4}}}// Другой вариант:{IF Элемент5 <> "" {SET Элемент5 {MERGEFIELD ПолеСлияния5}} {SET Элемент5 ""}}// Подсчет количества записей (т.е. не пустых записей){IF Элемент1 <> "" {SET Счетчик {=Счетчик+1}}}{IF Элемент2 <> "" {SET Счетчик {=Счетчик+1}}}{IF Элемент3 <> "" {SET Счетчик {=Счетчик+1}}}{IF Элемент4 <> "" {SET Счетчик {=Счетчик+1}}}/* Если элемент присутствует, уменьшаем счетчик для операции определения нужна ли запятая или нет.*/// Формирование переменной Строка{IF Элемент1 <> "" {SET Счетчик {=Счетчик-1}}}{IF Элемент1 <> "" {SET Строка {IF 1 <= Счетчик "{Строка}{Элемент1}, " "{Строка}{Элемент1}"}}}{IF Элемент2 <> "" {SET Счетчик {=Счетчик-1}}}{IF Элемент2 <> "" {SET Строка {IF 1 <= Счетчик "{Строка}{Элемент2}, " "{Строка}{Элемент2}"}}}{IF Элемент3 <> "" {SET Счетчик {=Счетчик-1}}}{IF Элемент3 <> "" {SET Строка {IF 1 <= Счетчик "{Строка}{Элемент3}, " "{Строка}{Элемент3}"}}}{IF Элемент4 <> "" {SET Счетчик {=Счетчик-1}}}{IF Элемент4 <> "" {SET Строка {IF 1 <= Счетчик "{Строка}{Элемент4}, " "{Строка}{Элемент4}"}}}// ------- Совсем другой "безПеременный" вариант (!!!НЕ ТЕСТИРОВАЛ!!!):{IF ПолеСлияния5 <> "" {SET Счетчик {=Счетчик+1}}}// ...{IF ПолеСлияния5 <> "" {SET Счетчик {=Счетчик-1}}}{IF ПолеСлияния5 <> "" {SET Строка {IF 1 <= Счетчик "{Строка}{ПолеСлияния5 \b "добавим в начало" \f "добавим в конец"}, " "{Строка}{ПолеСлияния5 \b "добавим в начало" \f "добавим в конец"}"}}}{Строка} // Результат

Неактивен

#41 2014.09.07 02:40

tipsun
Moderator
Зарегистрирован: 2009.10.14
Сообщений: 2277
Карма: 19
Профиль

Re: Алгоритмы (вопрос/ответ)

Епт, если результат сразу распечатать, то фигня получается. А вот когда отдельно в документ сохраняешь - норм, и его распечатка тоже норм проходит.

Неактивен

Дополнительно

forum.wapinet.ru

PunBB Mod v0.6.2
0.026 s