• Страница 1 из 1
  • 1
Модератор форума: JonMagon  
Сообщество uCoz » Вебмастеру » JavaScript, Flash и прочие технологии » Исходный код $MODER_PANEL$, как воссоздать его на JS? (Кто может поделиться чистым скриптом? Без "красоты" %\)
Исходный код $MODER_PANEL$, как воссоздать его на JS?
NugMan
Сообщений: 12
Репутация: 7

Сообщение # 1 | 02:31:48
Я ничего не понимаю в javascript, jquery. Моя задача проста - мне нужен простой скрипт, аналог кода $MODER_PANEL$, но оформленный удобоваримо.
Сейчас html-код панели выглядит так:
Код<ul class="moder-panel">
<li>Настройки
<ul>
<li><a href="/news/0-0-0-$ID$-10">Редактировать</a></li>
<li><a href="javascript://" onclick="new _uWnd('TgEd',' ',-450,-100,{autosize:1,closeonesc:1,resize:0},{url:'/index/52-2-$ID$'});return false;">Изменить теги</a></li>
<li><a href="javascript://" onclick="new _uWnd('cntEd',' ',-280,-100,{autosize:1,closeonesc:1,resize:0},{url:'/index/87-2-$ID$'});return false;">Счетчики</a></li>
<li><a href="javascript://" onclick="???">Удалить</a></li>
</ul>
</li>
</ul>
Какой скрипт нужно вставить в ссылку для удаления материала? Только самая базовая функциональность - Всплывающее окно > Мое подтверждение > Фактическое удаление материала и его визуальное удаление из кода страницы, чтобы было понятно что материал удален.

Очень нужна помощь. Весь заморочь ради прикручивания Font Awesome на кнопки панели (сайт а-ля "retina"), но псевдо-тег :before на теге img пока, к сожалению, не поддерживается большинством браузеров.

Добавлено (19 Янв 2013, 02:31:48)
---------------------------------------------
Отлично - код не выводится моноширинным шрифтом sad

KaiLee
Сообщений: 5463
Репутация: 1135

Сообщение # 2 | 02:47:24
NugMan,
А почему нельзя использовать стандартную функцию?
Цитата
<a href="javascript://" rel="nofollow" onclick="_entrRem('dib9','http://site.ru/index/92-1-9-gg8I22We','http://s39.ucoz.net','Вы подтверждаете удаление?');return false;"> ссылка </a>
Где зеленое - ID материала, синее - адрес сайта, красное - номер сервера. Вот с фиолетовым вопрос, я так понимаю, что это ID модуля...

В ЛС - только адреса и пароли. Все остальное - на форуме.
Студия | Шаблоны | Статьи
fflesh
Сообщений: 1784
Репутация: 1314

Сообщение # 3 | 02:57:02
KaiLee,
Цитата (KaiLee)
Вот с фиолетовым вопрос, я так понимаю, что это ID модуля...

Да, типа того.
Для новостей - 4, для каталога сайтов - 6 и тд ... - статичные цифры.
Цитата (KaiLee)
92-1-9-gg8I22We

- ID сессии.

Всё написанное выше - моё личное мнение и на абсолютную правоту не претендует.
Есть вопросы лично ко мне - пиши сюда: http://likbezz.ru/forum/8
Сообщение отредактировал fflesh - Суббота, 19 Янв 2013, 03:24:15
KaiLee
Сообщений: 5463
Репутация: 1135

Сообщение # 4 | 03:19:44
fflesh,
А у этого ID сессии код есть? Что-то я с таким вроде бы не сталкивалась.. Или просто не искала?

В ЛС - только адреса и пароли. Все остальное - на форуме.
Студия | Шаблоны | Статьи
Сообщение отредактировал KaiLee - Суббота, 19 Янв 2013, 03:20:57
fflesh
Сообщений: 1784
Репутация: 1314

Сообщение # 5 | 03:23:52
KaiLee,
Цитата (KaiLee)
А у этого ID сессии код есть?

В магазине есть, в остальных брать из инпута:



Цитата (KaiLee)
Что-то я с таким вроде бы не сталкивалась..

Столкнетесь, как нужно будет что-нибудь добавить/изменить/удалить нестандартным образом ) Например, своя форма добавления сообщения или вот пример от автора темы )
..
Прикрепления: 2482333.png (14.3 Kb)

Всё написанное выше - моё личное мнение и на абсолютную правоту не претендует.
Есть вопросы лично ко мне - пиши сюда: http://likbezz.ru/forum/8
Сообщение отредактировал fflesh - Суббота, 19 Янв 2013, 03:28:45
NugMan
Сообщений: 12
Репутация: 7

Сообщение # 6 | 22:27:05
Спасибо большое вам обоим за ответы. Я правда уже "прикрутил" скрипт. Кстати по сети гуляет решение - выглядит ужасно, но там отлично решена проблема с ID сессии - автор вытаскивает ее через <?substr($MODER_PANEL$… конец не помню. Решение отличное - выполняется на стороне сервера, что не может не радовать (это я чисто про "выковыривание" ssid)

Добавлено (19 Янв 2013, 17:43:51)
---------------------------------------------
Вот как выдрать session id
Цитата
<?substr($MODER_PANEL$, strrpos($MODER_PANEL$,"','h")-8,8)?>


Добавлено (19 Янв 2013, 17:54:40)
---------------------------------------------
Для тех то ищет решение по данному вопросу - вот ссылки с необходимой функциональностью - оборачивайте как хотите.

Цитата
<a href="/news/0-0-0-$ID$-10">Редактировать</a>
<a href="javascript://" onclick="new _uWnd('TgEd',' ',-450,-100,{autosize:1,closeonesc:1,resize:0},{url:'/index/52-2-$ID$'};);return false;">Изменить теги</a>
<a href="javascript://" onclick="new _uWnd('cntEd',' ',-280,-100,{autosize:1,closeonesc:1,resize:0},{url:'/index/87-2-$ID$'};);return false;">Счетчики</a>
<a href="javascript://" onclick="_entrRem('dib$ID$','/index/92-4-$ID$-<?substr($MODER_PANEL$, strrpos($MODER_PANEL$,"','h")-8,8)?>','http://s51.ucoz.net','Вы подтверждаете удаление?');return false;">Удалить</a>

Пример подходит для модуля новостей.

Добавлено (26 Янв 2013, 00:26:57)
---------------------------------------------

Цитата (fflesh)
Столкнетесь, как нужно будет что-нибудь добавить/изменить/удалить нестандартным образом ) Например, своя форма добавления сообщения или вот пример от автора темы )
Оказалось все не так просто. Написал универсальную мод-панель, теоретически под все модули. В поле onclick - все работает как часы (даже если материал не активен, соответственно элементы модер-панели идут немного в другом порядке и увеличивается общая длина кода). Если интересно как работает - сначала через substr от кода панели отрезаются левая и правая лишние части - после этого длина составляет ~1950 символов а значит что мы можем достать любой фрагмент кода - через strpos и strrpos (ищут заданный элемент в первой и в последней 1000 символов). Далее события вычленяются по "имени" (TdEd, cntEd), с захватом ближайшего начала и конца команды ( пример: new _uWnd('cntEd',' ',-280,-100,{autosize:1,closeonesc:1,resize:0},{url:'/index/87-2-17'});return false; где начало - new_uWnd, а конец - false; ). После дальнейшего усечения кода, мы ищем оставшиеся события onclick с начала и конца нашей панели (их остается всего 2, так что ошибка исключена). Отсекаем код по другому алгоритму, получаем ссылку редактирования ( она без атрибута onclick, просто a href ).
И последний штрих - ссылку на активацию материала прячем в условный оператор $NOT_ACTIVE$ и показываем только когда материал действительно спрятан. Если этого не сделать, то кнопка не будет активировать материал, но функционально станет копией кнопки "Теги материала".
Вроде ничего не забыл - мог немного напутать с описанием моего порядка действий, но это, к счастью, на работе панели не скажется.
А вот сам код:
Цитата
<?if($NOT_ACTIVE$)?><a title="Материал неактивен. Активировать..." id="aib$ID$" href="#" onclick="<?substr(substr(substr(substr($MODER_PANEL$,strpos($MODER_PANEL$,'>')+1),0,strrpos(substr($MODER_PANEL$,strpos($MODER_PANEL$,'>')+1 ),'false;')+6),strpos(substr(substr($MODER_PANEL$,strpos($MODER_PANEL$,'>')+1),0,strrpos(substr($MODER_PANEL$,strpos($MODER_PANEL$,'>')+1),'false;')+6),'onclick="')+9),0,strpos(substr(substr(substr($MODER_PANEL$,strpos($MODER_PANEL$,'>')+1),0,strrpos(substr($MODER_PANEL$,strpos($MODER_ PANEL$,'>')+1),'false;')+6),strpos(substr(substr($MODER_PANEL$,strpos($MODER_PANEL$,'>')+1),0,strrpos(substr($MODER_PANEL$,strpos($MODER_PANEL$,'>')+1),'false;')+6),'onclick="')+9),'false;')+6)?>"></a><?endif?>
<a title="Теги материала" href="#" onclick="<?substr(substr(substr(substr($MODER_PANEL$,strpos($MODER_PANEL$,'>')+1),0,strrpos(substr($MODER_PANEL$,strpos($MODER_PANEL$,'>')+1 ),'false;')+6),strpos(substr(substr($MODER_PANEL$,strpos($MODER_PANEL$,'>')+1),0,strrpos(substr($MODER_PANEL$,strpos($MODER_PANEL$,'>')+1),'false;')+6),'TgEd')-11),0,strpos(substr(substr(substr($MODER_PANEL$,strpos($MODER_PANEL$,'>')+1),0,strrpos(substr($MODER_PANEL$,strpos($MODER_PANE L$,'>')+1),'false;')+6),strpos(substr(substr($MODER_PANEL$,strpos($MODER_PANEL$,'>')+1),0,strrpos(substr($MODER_PANEL$,strpos($MODER_PANEL$,'>')+1),'false;')+6),'TgEd')-11),'false')+6)?>"></a>
<a title="Управление счетчиками" href="#" onclick="<?substr(substr(substr(substr($MODER_PANEL$,strpos($MODER_PANEL$,'>')+1),0,strrpos(substr($MODER_PANEL$,strpos($MODER_PANEL$,'>')+1 ),'false;')+6),strrpos(substr(substr($MODER_PANEL$,strpos($MODER_PANEL$,'>')+1),0,strrpos(substr($MODER_PANEL$,strpos($MODER_PANEL$,'>')+1),'false;')+6),'cntEd')-11),0,strpos(substr(substr(substr($MODER_PANEL$,strpos($MODER_PANEL$,'>')+1),0,strrpos(substr($MODER_PANEL$,strpos($MODER_PAN EL$,'>')+1),'false;')+6),strrpos(substr(substr($MODER_PANEL$,strpos($MODER_PANEL$,'>')+1),0,strrpos(substr($MODER_PANEL$,strpos($MODER_PANEL$,'>')+1),'false;')+6),'cntEd')-11),'false')+6)?>"></a>
<a title="Редактировать" href="<?substr(substr(substr(substr(substr($MODER_PANEL$,strpos($MODER_PANEL$,'>')+1),0,strrpos(substr($MODER_PANEL$,strpos($MODER_PANEL$,'> ')+1),'false;')+6),strrpos(substr(substr($MODER_PANEL$,strpos($MODER_PANEL$,'>')+1),0,strrpos(substr($MODER_PANEL$,strpos($MODER_PANEL$,'>')+1),'false;')+6),'cntEd')-11),strpos(substr(substr(substr($MODER_PANEL$,strpos($MODER_PANEL$,'>')+1),0,strrpos(substr($MODER_PANEL$,strpos($MODER_PANEL $,'>')+1),'false;')+6),strrpos(substr(substr($MODER_PANEL$,strpos($MODER_PANEL$,'>')+1),0,strrpos(substr($MODER_PANEL$,strpos($MODER_PANEL$,'>')+1),'false;')+6),'cntEd')-11),'a href="')+8),0,strpos(substr(substr(substr(substr($MODER_PANEL$,strpos($MODER_PANEL$,'>')+1),0,strrpos(substr($MODER_PANEL$,strpos($MODER_PAN EL$,'>')+1),'false;')+6),strrpos(substr(substr($MODER_PANEL$,strpos($MODER_PANEL$,'>')+1),0,strrpos(substr($MODER_PANEL$,strpos($MODER_PANEL$,'>')+1),'false;')+6),'cntEd')-11),strpos(substr(substr(substr($MODER_PANEL$,strpos($MODER_PANEL$,'>')+1),0,strrpos(substr($MODER_PANEL$,strpos($MODER_PANEL $,'>')+1),'false;')+6),strrpos(substr(substr($MODER_PANEL$,strpos($MODER_PANEL$,'>')+1),0,strrpos(substr($MODER_PANEL$,strpos($MODER_PANEL$,'>')+1),'false;')+6),'cntEd')-11),'a href="')+8),'"'))?>"></a>
<a title="Удалить" href="#" onclick="<?substr(substr(substr($MODER_PANEL$,strpos($MODER_PANEL$,'>')+1),0,strrpos(substr($MODER_PANEL$,strpos($MODER_PANEL$,'>')+1),'fals e;')+6),strrpos(substr(substr($MODER_PANEL$,strpos($MODER_PANEL$,'>')+1),0,strrpos(substr($MODER_PANEL$,strpos($MODER_PANEL$,'>')+1),'false;')+6),'onclick="')+9)?>"></a>

Ничего лишнего, никаких лишних стилей и т.п. ереси - стилизуйте как хотите, я обезличил код как только смог. Кнопке активирования материала присвоен id="aib$ID$" - это стандартный id для этой кнопки от uCoz - нужен для стандартного скрипта, который удалит кнопку после активации материала (естественно, после проверки - реально ли удален материал или нет).

P.S. Дорогой fflesh, я смотрю вы осведомлены в вопросах как и что поменять. Поделитесь пожалуйста конструкцией мод-панели комментариев (чтобы там где нужно стояли операторы $ID$ и т.п.) если у вас таковая имеется. Если у кого-то другого есть, то аналогичная просьба и к вам.

Добавлено (27 Янв 2013, 22:27:05)
---------------------------------------------
Решение для комментариев:

Цитата
<a title="IP address" href="#" onclick="<?substr(substr($MODER_PANEL$,strpos($MODER_PANEL$,'prompt')),0,strpos(substr($MODER_PANEL$,strpos($MODER_PANEL$,'prompt')),'false' )+6)?>"></a>
<a title="Редактировать" href="#" onclick="<?substr(substr($MODER_PANEL$,strpos($MODER_PANEL$,'new _uWnd')),0,strpos(substr($MODER_PANEL$,strpos($MODER_PANEL$,'new _uWnd')),'false')+6)?>"></a>
<a title="Удалить" id="di$ID$" src="http://s51.ucoz.net/img/fr/EmnD_.gif" href="#" onclick="<?substr(substr($MODER_PANEL$,strrpos($MODER_PANEL$,'del_item')),0,strrpos(substr($MODER_PANEL$,strrpos($MODER_PANEL$,'del_item')), 'false')+6)?>"></a>
Сообщение отредактировал NugMan - Суббота, 19 Янв 2013, 17:56:58
Сообщество uCoz » Вебмастеру » JavaScript, Flash и прочие технологии » Исходный код $MODER_PANEL$, как воссоздать его на JS? (Кто может поделиться чистым скриптом? Без "красоты" %\)
  • Страница 1 из 1
  • 1
Поиск: