PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи

Страниц (3): [1] 2 3 »

> Найдено сообщений: 31
Aligatro Отправлено: 21 Июля, 2017 - 01:48:16 • Тема: Как организовать одобрение/отклонение правок от нескольких пользователей в тексте? • Форум: Программирование на PHP

Ответов: 1
Просмотров: 553
Добрый вечер, друзья. В целом адекватно сформулировать вопрос полностью отражающий суть проблемы крайне сложно, потому постараюсь пояснить что я имею ввиду.

Если кратко то мне необходимо доработать Text_Diff (я абсолютно не привязан конкретно к данной библиотеке, просто это первое, что я нашел в сети) так, что-бы помимо сравнения двух версий имелась возможность - отображать + удалять/восстанавливать правки по пользователям + на основе этого формировать конечный документ из:
"Исходная версия текста" -> "Одобренные правки" -> "Конечная версия текста".

Например:
Спойлер (Отобразить)

Спойлер (Отобразить)

Спойлер (Отобразить)

Спойлер (Отобразить)

Спойлер (Отобразить)

Спойлер (Отобразить)

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

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

Пока мой малоюзабельный набросок выглядит так:

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

    Создаем таблицу с общим текстом правок от всех пользователей для последующего сравнения с текстом от каждого пользователя и подсвечиванием их правок (вот тут тупик, так как мне совсем не ясно как работать с очередностью текста, ведь каждая новая правка будет вноситься относительно исходной версии документа а не друг за другом)

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

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

Спасибо.
Aligatro Отправлено: 10 Июня, 2014 - 15:46:45 • Тема: Передать переменную (ее значение) из другой функции • Форум: Вопросы новичков

Ответов: 1
Просмотров: 117
Добрый день. Подскажите пожалуйста, как можно передать саму переменную или ее значение, из одной функции в другую функцию при условии невозможности сделать return (в конце функции обязательно должен быть выход exit();). Вот код функции которая получает данные POST запроса переданного из js скрипта.

PHP:
скопировать код в буфер обмена
  1. function ad_blockit() {
  2. if (isset($_POST['bar_blocked']) === 'true')
  3. echo '111';
  4. die();
  5. }


Как сделать например что-то типо этого.

PHP:
скопировать код в буфер обмена
  1. function ad_blockit() {
  2. if (isset($_POST['bar_blocked']) === 'true')
  3. global $blocker;
  4. $blocker = "done";
  5. die();
  6. }
  7.  
  8. function checkadv() {
  9. global $blocker;
  10. if ($blocker === 'done')
  11. return true;
  12. }
  13.  


Вот еще на всякий случай js код формирующий post запрос.

CODE (javascript):
скопировать код в буфер обмена
  1.  jQuery(document).ready(function($) {
  2.  if ($.adblockJsFile === undefined){
  3. bar_blocked=true;
  4. }
  5.  
  6.  
  7. jQuery.ajax({
  8.                         type: "POST",
  9.                         data: {
  10.                 action: 'ad_blockit',
  11.                 bar_blocked: bar_blocked,
  12.                         },
  13.                         dataType: "json",
  14.                         url: "/wp-admin/admin-ajax.php",
  15.                 });            
  16. });


Большое спасибо за помощь )
Aligatro Отправлено: 09 Июня, 2014 - 13:14:42 • Тема: Сохранить в php передаваемые значение javascript (для тех кто на танке читал) • Форум: Вопросы новичков

Ответов: 1
Просмотров: 511
Добрый день, уважаемые форумчане. Недавно я начал заморачиваться с изучением js и сопутствующего ему ajaxa и появился такой вот вопрос, как можно при помощи ajax (json) передать значение переменной js в php и сохранить его там, не используя при этом базу данных? Пока на ум приходят следующие варианты.

-Куки (не удобно из-за того что не все ими пользуются)
-Скрытые формы (не до конца понятно, как при помощи php выдрать get запрос из скрытой html формы)
-Редирект с query string (неудобно из-за перезагрузки страницы)

До этого времени мучался с ajax'ом но как я понимаю работает он немного иначе (сначала передаются данные из js в php, php скрипт обрабатывает их и снова возвращает в js). Вот рабочий скрипт на определение adblocka. Основная цель это присвоить какое-то значение функции ad_blockit() что бы позже на основе ad_blockit() создать логическую конструкцию.

CODE (javascript):
скопировать код в буфер обмена
  1.  jQuery(document).ready(function($) {
  2.  if ($.adblockJsFile === undefined){
  3. bar_blocked=true;
  4. } else {
  5. bar_blocked=false;
  6. }
  7.  
  8.  
  9. jQuery.ajax({
  10.                         type: "POST",
  11.                         data: {
  12.                 action: 'ad_blockit',
  13.                 bar_blocked: bar_blocked,
  14.                         },
  15.                         dataType: "json",
  16.                         url: "/wp-admin/admin-ajax.php",
  17.                         success: function( response ) {
  18.                 alert( response );
  19.         }
  20.                 });            
  21. });

PHP:
скопировать код в буфер обмена
  1. function ad_blockit() {
  2. $blocker = $_POST['bar_blocked'];
  3. echo $blocker;
  4. die();
  5. }

На всякий случай упомяну, что пользуюсь движком wordpress. Если имеются какие-то соображения с удовольствием выслушаю. Спасибо.
Aligatro Отправлено: 07 Июня, 2014 - 15:52:31 • Тема: Передача переменной при помощи ajax • Форум: Напишите за меня, пожалуйста

Ответов: 5
Просмотров: 68
А не помогло, потому что юзаю wordpress, а там оказывается не все так просто =)
Aligatro Отправлено: 07 Июня, 2014 - 15:22:52 • Тема: Передача переменной при помощи ajax • Форум: Напишите за меня, пожалуйста

Ответов: 5
Просмотров: 68
LIME пишет:
data: {adblocker:adblocker},

К сожалению, не помогло =(
Aligatro Отправлено: 07 Июня, 2014 - 13:08:17 • Тема: Передача переменной при помощи ajax • Форум: Напишите за меня, пожалуйста

Ответов: 5
Просмотров: 68
Добрый день дорогие друзья.

Помогите пожалуйста разобраться с ajax'ом. В общем мне необходимо передать переменную из js в php, при этом не юзая сессии (?adblocker) и еже с ними. Я написал крайне кривой код который не работает, но отражает суть проблемы. Если у кого-то есть свободная минутка, просмотрите пожалуйста =))

CODE (javascript):
скопировать код в буфер обмена
  1. if (document.getElementById("testadblock") == undefined)
  2. {
  3. var adblocker;
  4. }
  5.  
  6. jQuery.ajax({
  7.                     type: "POST",
  8.                     url: '/wp-content/themes/bresponzive1/header.php',
  9.                     data: "adblocker",
  10.                     success: function(data) {
  11.                            alert(data);
  12.                  }
  13.  
  14.          });

PHP:
скопировать код в буфер обмена
  1. $variable = isset($_POST['adblocker']);
  2. if ($variable == true) {echo "111";}


Заранее выражаю огромную благодарность, всем кто откликнулся -)
Aligatro Отправлено: 24 Февраля, 2014 - 22:36:48 • Тема: redirect на мобильную версию • Форум: Напишите за меня, пожалуйста

Ответов: 5
Просмотров: 64
PHPLamer пишет:
Зависит от того как вы отображаете мобильную версию, если для мобильной версии существует отдельный URL и на нём свои ссылки на другие ресурсы сайта с мобильным видом это одно и при определении HTTP_USER_AGENT можно просто редиректить туда пользователя, а дальше он уже будет гулять по "адаптированным" ссылкам.

Если же мобильное представление строиться в зависимости от сессионной переменной или cookies то назначать эту переменную при определении HTTP_USER_AGENT.

Ну или я снова не понял в чём проблема.

Спасибо, что откликнулись. Моя проблема заключалось в переключении сессии для впервые зашедшего пользователя, на мобильную, только и всего =) С определением user_agenta у меня с самого начала проблем не было -) Я тут порылся в буржуйском вебе и все же нашел решение. Как и следовало ожидать оно оказалось до безобразия простым.

PHP:
скопировать код в буфер обмена
  1.  
  2. if( !isset($_SESSION['version']) && wp_is_mobile()) {
  3.    wp_redirect( '/?version=mobile' );
  4. }
  5.  


wp_redirect можно заменить банальным header location, просто wordpress его почему-то адекватно не распознает.

P.s Кстати возник еще один вопрос, для того что-бы определить открыта ли сессия, что лучше использовать? isset, empty или $_SESSION['version'] == '' ? Просто кто-то говорит isset коректно, другие говорят этот метод не обрабатывается старыми браузерами, в общем я запутался _))

Спасибо за помощь =)
Aligatro Отправлено: 22 Февраля, 2014 - 15:06:38 • Тема: redirect на мобильную версию • Форум: Напишите за меня, пожалуйста

Ответов: 5
Просмотров: 64
Ответьте, пожалуйста. Если не понятен вопрос, я могу более детально его расписать. Просто я запутался с этой ерундой, а хотелось бы функционал по максимуму развить.

Спасибо.
Aligatro Отправлено: 19 Февраля, 2014 - 23:06:15 • Тема: redirect на мобильную версию • Форум: Напишите за меня, пожалуйста

Ответов: 5
Просмотров: 64
PHPLamer пишет:
Нет?

Вы неверно меня поняли... C определением browser agent, у меня проблем нет. У меня проблема в том, что бы перевести смартфон-пользователя в мобильный вид при первом заходе на сайт (или единожды, принудительно инициировать сессию ?version=mobile) но при "мануальном" изменении версии на desktop переключить соответствующую сессию на полную =)
Aligatro Отправлено: 19 Февраля, 2014 - 01:17:04 • Тема: redirect на мобильную версию • Форум: Напишите за меня, пожалуйста

Ответов: 5
Просмотров: 64
Доброго времени суток, дорогие форумчане. Я тут в попытках решить свою нетривиальную задачу - зашел в тупик. В общем я сделал адаптацию своего сайта под мобильные устройства и добавил переключатель между версиями, такого вида.

PHP:
скопировать код в буфер обмена
  1.  /*-- Переключение на мобильную версию сайта ссылкой --*/
  2.  session_start(); // начинаем сессию
  3.  if (isset($_REQUEST['version'])) { // перехватываем линк
  4.         $_SESSION['version'] = $_REQUEST['version'];
  5. }
  6. function mobileview($on){ // создаем удобную функцию
  7. $on=$_SESSION['version'] == 'mobile';
  8. return $on;
  9. }


Все работает супер, но я хотел бы сделать так, что-бы при первом попадании на сайт пользователя с мобильным браузером принудительно бросало на pda версию (но только 1 раз, что бы потом можно было переключиться на десктоп сессию). В общем сам вопрос: как это сделать? =))

P.s пытался сделать через пень колоду (куккисы и прочее мракобесие ):

PHP:
скопировать код в буфер обмена
  1.  
  2.  if (wp_is_mobile()) {
  3.         setcookie('mobile', '1', time()+9999999, '/', home_url());
  4.         header('Location:' . home_url() . '/?version=mobile');
  5. }
  6.  
  7. if ($_COOKIE['mobile'] != '1') {
  8.    if ($_SESSION['version'] == 'desktop') {
  9.     setcookie('mobile', '2', time()+9999999, '/', home_url());
  10.     header('Location:' . home_url());
  11.    }
  12. }
  13.  

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

Заранее огромное спасибо за помощь =)
Aligatro Отправлено: 12 Февраля, 2014 - 20:51:08 • Тема: Переключение мобильной/десктопной версии сайта на wordpress • Форум: Напишите за меня, пожалуйста

Ответов: 2
Просмотров: 55
Спасибо за помощь, но я преследую несколько иную цель.

1. Я вряд ли буду делать зеркало сайта с мобильной версией и адресом m.site.ru

2. Нет необходимости сторонними скриптами через HTTP REQUEST определять тип устройства с которого зашли на сайт. В wp если отличная функция для этих целей.

3. Мне всего-то нужно, что бы при клике на ссылочку внизу сайта, скрипту (php, js+php) отдавалась бы команда изменить свое значение с true на false и наоборот.

Необходимо мне это лишь для того, что бы при переходе на моб версию создать условие типа:

PHP:
скопировать код в буфер обмена
  1. if (mobile_mod_on()) { echo 'Вы находитесь на мобильной версии сайта' } else { echo Полная версия сайта }


Заминка у меня лишь с тем, что я не знаю как связать ссылку в футере с функцией и заставить ее менять свое значение во время действия (клика).

Еще раз спасибо, очень признателен за уделенное мне время =)
Aligatro Отправлено: 05 Февраля, 2014 - 01:24:32 • Тема: Переключение мобильной/десктопной версии сайта на wordpress • Форум: Напишите за меня, пожалуйста

Ответов: 2
Просмотров: 55
Здравствуйте люди =) Хотел бы попросить уважаемых форумчан помочь мне с написанием простенькой функции...

В целом мне требуется реализовать механику переключения версий сайта в мобильный/десктопный вид. Так как в php я еще новичок, не могу разобраться как при клике на ссылку передать информацию в функцию о том, что она теперь true или false. Постараюсь пояснить на примере.

Предположим есть функция change_webstyle(). Данная функция, должна в зависимости от клика на ссылку мобильная/десктопная версия сайта принимать значение true/false.

Нужно мне это для того, что бы при помощи условия типа
PHP:
скопировать код в буфер обмена
  1. if (!change_webstyle()) {} else {}
убрать лишние элементы из цикла wordpress при формировании страницы.


Надеюсь большинство поймет, что за ересь я тут написал и чего я хочу. Заранее благодарю всех кто предложит свою помощь. Спасибо -)
Aligatro Отправлено: 20 Января, 2014 - 19:51:24 • Тема: Проверьте пожалуйста, валидность и чистоту кода • Форум: Вопросы новичков

Ответов: 3
Просмотров: 152
DelphinPRO Так я пытался сделать с самого начала (чуть-чуть по другому разбил переменную, но принцип тот же) но такая версия (почему-то) не валидна. Если не записать print, функция будет отображать лишь wp_nav_menu (вызывает меню на wp), без выведения сопутствующей разметки, чем это вызвано не знаю =(

P.s так как я еще профан, вполне возможно я неправильно вызываю саму функцию (хотя wp_nav_menu отображается в любом из приведенных вариантов). Вот варианты: <?php wpresponmenu(); ?> <?php wpresponmenu($menu); ?> <?php echo/print wpresponmenu(); ?> <?php echo/print wpresponmenu($menu); ?>
Aligatro Отправлено: 20 Января, 2014 - 18:00:30 • Тема: Проверьте пожалуйста, валидность и чистоту кода • Форум: Вопросы новичков

Ответов: 3
Просмотров: 152
Приятного времени суток, дамы и господа -) Я тут недавненько, из подручных инструментов склеил плагин адаптивного меню для wp, но как мне кажется, сделал я это ужасно криво (хоть все и работает). Если не затруднит, пробегите глазами функцию и скажите пожалуйста где ошибки =)

PHP:
скопировать код в буфер обмена
  1. function wpresponmenu() {
  2.  
  3. $menu .= print ("<ul id='navigation' class='slimmenu'>");
  4. $menu .= print ("<form method='get' id='searcherform' action='/'>");
  5. $menu .= print ("<input type='text' name='s' id='s' class='findText' />");
  6. $menu .= print ("</form>");
  7. $menu .= wp_nav_menu( array('theme_location' => 'responmenu','menu_class' => '', 'container' => 'false', 'items_wrap' => '%3$s', 'fallback_cb' => 'false',      'depth' => 3 ));
  8. $menu .= print ("</ul>");
  9. $menu .= print ("<div id='srch'> <form method='get' id='mobil_search' action=" . esc_url( home_url( '/' ) ) . ">");
  10. $menu .= print ("<input type='text' name='s' id='search' class='mobil_search_text' placeholder='Искать на сайте&hellip;' />");
  11. $menu .= print ("<input name='submit' type='submit' id='submit'  value='Поиск' />");
  12. $menu .= print ("</form></div>");
  13.  
  14. }


Меня больше всего волнует частый вызов print и вообще насколько я понял (читая статейки) print лучше всего вообще не использовать, а вместо него юзать эхо. Хотя в одной из статей говорилось обратное и парень ратовал за использование print взамен echo =) Буду очень признателен за помощь -)
Aligatro Отправлено: 20 Января, 2014 - 17:54:14 • Тема: помогите определить откуда пространство над блоком • Форум: Вопросы новичков

Ответов: 13
Просмотров: 381
Как правильно сказали выше, это метка BOM. Попробуйте погуглить по запросу "\ufeff", может найдете ответ на свой вопрос =)

Страниц (3): [1] 2 3 »
Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB