Единый форум поддержки

Информация о пользователе

Привет, Гость! Войдите или зарегистрируйтесь.


Вы здесь » Единый форум поддержки » Архив » Запросы по скриптам[4]


Запросы по скриптам[4]

Сообщений 481 страница 500 из 1000

1

Инструменты для поиска и редактирования стиля (скриптов).

Как с помощью браузера можно определить элемент дизайна.

Каталог скриптов/CSS

Полезные скрипты, необходимые темы для новичков, а также ссылки на сайты рассказывающие что такое НТМЛ и CSS.

Типовые Вопросы (ЧаВо)

Ответы на часто задаваемые вопросы.

Как задавать вопросы! Разница между стилем и скриптом. ( Советы)

Плюс к названию темы еще и Памятка.

+1

481

i_am_your_soul
Хм, поправил скрипты, - есть минусы, при отсутствии всплывающей инфы в минипрофиле, рамка не ставиться
Можно попробовать добавить для таких профилей старый скрипт, (ставим ниже) рамки для профилей с инфой, тогда

Суммарный код:

<style type="text/css">
    .pa-avatar>div:not(.Wrp-ava1){
      position:relative;
      z-index:20;
      display:inline-block;
      margin: auto;
      padding:0;
    }
    .pa-avatar>div:not(.Wrp-ava1)>img{
      position:absolute;
      top:0;left:0;
      z-index:-2;
    }
    .pa-avatar>div>span{
    margin-top: -2px;
    padding:3px 5px;
    display:block;
    border:3px rgba(121,103,21,0.6); /*Цвет верхнего бордера*/
    border-style:solid none none none;
    background:rgba(0,0,0,0.8); /*Цвет перекрывающего фона*/
    opacity:0;
    transition: opacity 0.8s;
    }
    .pa-avatar:hover>div>span{
    opacity:1.0;
    }
    .pa-avatar>div>span a{
    color:#a2840c!important; /*Цвет ccылок*/
    }
    .pa-avatar>div>span a:hover{
    color:#d0d1e2!important; /*Цвет ccылок при наведении*/
    text-decoration:underline!important;
    }
    </style>
    <script type="text/javascript">
    $('.pa-avatar').each(function(){
      var that =$(this).parents('.post-author').find('.ava-wrp::first'),
      a = $(this).find('img:first');
      if(a.length&&that.length){
        b = that.parents('li[class^="pa-fld"]'),
        h = a.height(),w=a.width(),
        c = a.wrap('<div style="width:'+w+'px;height:'+h+'px;"></div>').parent();
        c.prepend('<span style="max-width:100%;height:'+(h-3*2-0)+'px;">'+b.remove().html()+'</span>');
      }
    });
    </script>

    <!--Ставим рамки для Аватара к скрипту всплывающей инфы -->
        <script>
        $(document).ready(function(){
            var imgWrp = "http://images.vfl.ru/ii/1440624873/ba889a0c/9710710.png"; // Ccылка на картинку;
            imgWrp = '<img src="'+imgWrp+'" width=100% height=100% alt="" style="position:absolute;##"/>'
            $("li.pa-avatar> div> img[alt]").each(function () {
           
            var img = this.src;
            $(this).replaceWith(imgWrp.replace('##','background-size:70% 70%; background:transparent url('+img+') no-repeat 0 0'));
        });});
        </script><!--Конец//Рамки для Аватара к скрипту всплывающей инфы -->


    <!--Ставим рамки для Аватара -->
    <style type="text/css">
    li.pa-avatar .Wrp-ava1 img[alt]{
      display:block;
      padding:0;
      border-width:0;
      margin: 7px; /*Отступ рамки*/
    }
    </style>
    <script>
      $(document).ready(function(){
        var imgWrp = "http://images.vfl.ru/ii/1440624873/ba889a0c/9710710.png"; // Ccылка на картинку;

        imgWrp = '<img src="'+imgWrp+'" width=100% height=100% style="position:absolute;z-index:100;"/>'
        $("li.pa-avatar > img[alt]").each(function () {
        $(this).wrap('<div class="Wrp-ava1" style="display:inline-block;text-align:left;position:relative;"></div>');
        $(this).parent().prepend(imgWrp)
    });});
    </script><!--Конец//Рамки для Аватара-->

0

482

Deff
Поковырялся тут по запросу Dango, вот что получилось:

Скрипт:

<script type="text/javascript">
(function(){
if(!(GroupID!=3 && $('#pun-viewtopic,#pun-post').length && $('#post').length && this.document==top.document)) return;

//====.serialize() под Win 1251 ====//
// Инициализируем таблицу перевода
var transAnsiAjaxSys = [];
var arr=[0x402,0x403,0x201A,0x453,0x201E,0x2026,0x2020,0x2021,0x20AC,0x2030,0x409,0x2039,
0x40A,0x40C,0x40B,0x40F,0x452,0x2018,0x2019,0x201C,0x201D,0x2022,0x2013,0x2014,'0',0x2122,0x459,0x203A,0x45A,
0x45C,0x45B,0x45F,0x0A0,0x40E,0x45E,0x408,0x0A4,0x490,0x0A6,0x0A7,0x401,0x0A9,0x404,0x0AB,
0x0AC,0x0AD,0x0AE,0x407,0x0B0,0x0B1,0x406,0x456,0x491,0x0B5,0x0B6,0x0B7,0x451,0x2116,0x454,
0x0BB,0x458,0x405,0x455,0x457,0x410,0x411,0x412,0x413,0x414,0x415,0x416,0x417,0x418,0x419,
0x41A,0x41B,0x41C,0x41D,0x41E,0x41F,0x420,0x421,0x422,0x423,0x424,0x425,0x426,0x427,0x428,
0x429,0x42A,0x42B,0x42C,0x42D,0x42E,0x42F,0x430,0x431,0x432,0x433,0x434,0x435,0x436,0x437,
0x438,0x439,0x43A,0x43B,0x43C,0x43D,0x43E,0x43F,0x440,0x441,0x442,0x443,0x444,0x445,0x446,
0x447,0x448,0x449,0x44A,0x44B,0x44C,0x44D,0x44E,0x44F
];
var arLng = arr.length;
for (var i = 0; i < arLng; i++)transAnsiAjaxSys[arr[i]]=i+128;
for (var i = 0x410; i <= 0x44F; i++) transAnsiAjaxSys[i] = i - 0x350; // А-Яа-я

var MyencodeURIwin125 = function(str){
  var ret = [];
  for (var i = 0; i < str.length; i++)  {
    var n = str.charCodeAt(i);
    if (typeof transAnsiAjaxSys[n] != 'undefined')
      n = transAnsiAjaxSys[n];
    if (n <= 0xFF)
      ret.push(n);
  }
  return  escape(String.fromCharCode.apply(null, ret)).replace(/\+/mg,'%2B');
}

$.fn.extend({serialize : function() {
var s = '';
var obj = this.serializeArray();
var Lng = obj.length;
for(var i=0;i<Lng;i++){
   if(i)s+='&';
   s+=MyencodeURIwin125(obj[i].name)+'='+MyencodeURIwin125(obj[i].value);
}
return s; }
})
//====//END// .serialize() под Win 1251 ====//

//==== Распарс поста с символом &del& ====//
$('.post-content p:contains("&del&")').each(function(){
  if(GroupID>2){
    $(this).parents('.post').css({'display':'none'});
  };
  if(GroupID<=2){
    $(this).parents('.post').find('h3>span').append('<dd class="moder-ntf">Сообщение удалено пользователем.</dd>');
    $('dd.moder-ntf').css({
      'display':'inline-block',
      'float':'right',
      'font-weight':'400',
      'color':'#AB3636'
    });
    $(this).parents('.post').find('.pl-delete').after('<li class="pl-rst"><a href="#">Восстановить</a></li>');
    $(this).parents('.post').find('.pl-rst').after('<li class="pl-move"><a href="#">Перенести</a></li>');
    $(this).parents('.post-content').find('p:contains("&del&"), .lastedit').remove();
  };
});
if(GroupID>2){
  $('.post').each(function(){
    $(this).find('.pl-delete').remove();
    $(this).find('.pl-edit').before('<li class="pl-remove"><a href="#">Удалить</a></li>');
  });
}

//==== Удаляем .lastedit у Восстановленного поста ====//
$('.post .post-content p:contains("&edit&")').each(function (){
  $(this).parents('.post').find('.lastedit').remove();
  $(this).remove();
});
if($('#pun-edit').length){//alert()
  $(function (){
    $('#post').find('#main-reply').each(function(){
      if($(this).val().indexOf('&edit&')!=-1){
        var rpCnt = $(this).val().replace('\n\n','').replace('&edit&','');alert(rpCnt);
        $(this).val(rpCnt);    var val=$(this).val();alert(val);
      };
    });
  });
};

//==== Отправка запроса на страницу Редактирования ====//
$('.post').each(function(){
  var editLnk = $(this).find('.pl-edit>a').attr('href');
  if($(this).find('.pa-author>a').text()==UserLogin){
    $(this).find('.pl-remove').live('click',function(e){
    e.preventDefault();
    var pst = $(this).parents('.post');
      $.get(editLnk,function(data){//alert(data);
        var form = $(data).find('#post');
        var cnt = form.find('#main-reply').val();//alert(cnt);
        var lnk = form.attr('action');//alert(lnk);
        form.find('#main-reply').val(cnt+'\n\n'+'&del&');   //var newCnt=form.find('#main-reply').val();alert(newCnt);
        var frmDat = form.serialize();//alert(frmDat);
        $.ajax({
          url: lnk,
          type: "POST",
          dataType: "html",
          data: frmDat,
          success: function (){
             //alert('Запрос Отправлен!');
             pst.find('.container, h3, .post-author').hide();
             pst.append('<div class="del-msg">Сообщение удалено. <a class="restore" href="#">Восстановить...</a></div>');
          }
        });
      });
    });
  }

  //===Восстановление поста===//
  $(this).find('a.restore, .pl-rst').live('click',function(e){
    e.preventDefault();
    var pst = $(this).parents('.post');
    $.get(editLnk,function(data){//alert(data);
      var form = $(data).find('#post');
      var cnt = form.find('#main-reply').val();//alert(cnt);
      var lnk = form.attr('action');//alert(lnk);
      if(cnt.indexOf('&edit&')!=-1||GroupID<=2){
        var newCnt = cnt.replace('\&del\&','');  //alert(newCnt);
      }else{
        newCnt = cnt.replace('\&del\&','\&edit\&');//alert(newCnt);
      }
      form.find('#main-reply').val(newCnt);   //var tstCnt=form.find('#main-reply').val();alert(tstCnt);
      var newFrmDat = form.serialize();//alert(newFrmDat);
      $.ajax({
        url: lnk,
        type: "POST",
        dataType: "html",
        data: newFrmDat,
        success: function (){
           //alert('Запрос Отправлен!');
           if(GroupID>2){
             $('.del-msg').remove();
             pst.find('.container, h3, .post-author').show();
           };if(GroupID==1||2){
             pst.each(function(){
               $(this).find('.moder-ntf, .pl-rst, .pl-move').remove();
             });
           }
        }
      });
    });
  });
});

//==== Перемещение поста ====//
$('.post').each(function (){
  $(this).find('.pl-move').live('click',function(e){
    e.preventDefault();
    $(this).parent().append('<div class="post-move" style="position:absolute;right:160px;margin-top:-130px;"></div>');
    var tID = $('html').find('link[rel="alternate"]').attr('href').split('tid=')[1],
    fID = $('html').find('link[rel="up"]').attr('href').split('id=')[1];
    $('.post-move').append('<form class="container" method="post" action="http://hostjs.mybb.ru/moderate.php?fid='+fID+'&tid='+tID+'&mode=move"><fieldset><legend><span>Введите URL адрес темы, в которую необходимо перенести сообщение</span></legend><div class="fs-box"><input type="hidden" name="posts" value="###"><p><input type="text" size="80" maxlength="100" name="new_tid"></p></div></fieldset><p class="formsubmit"><input type="submit" class="button" name="move_posts_comply" value="Переместить"></p></form>');
    $(this).parents('.post').find('input[name="posts"]').attr('value',($(this).parents('.post').attr('id').split('p')[1]));
    $('.post-move').find('.formsubmit .button').live('click',function(event){
      event.preventDefault();
      var formDt = $('.post-move>form').serialize();//alert(formDt);
      var formLnkN = $('.post-move>form').attr('action');//alert(formLnkN);
      $.ajax({
        lnk: formLnkN,
        type: "POST",
        dataType: "html",
        data: formDt,
        success: function (){
          $('.post-move').parents('.post').remove();alert('Сообщение перенесено.');
        }
      });
    });
  });
});
}())
</script>

Под юзером "удаляет" и "восстанавливает" посты нормально, а под модером/админом - восстановить не дает, вылетает ошибка:

Неверный источник. Вы попали на эту страницу из несанкционированного источника. Пожалуйста, вернитесь и попробуйте еще раз. Если проблема остается: попробуйте отключить антивирус и(или) фаервол.

То же самое происходит и при попытке перенести пост скриптом. Как с этим бороться?

Форум http://hostjs.mybb.ru/

0

483

Deff написал(а):

Можно попробовать, для скрипта будёт нужно текстовое  доп. поле редактируемое юзером

Простите, я вас не вполне поняла. Юзерам самим придется свою статистику делить, что ли? Или это нужно для работы скрипта?

0

484

Коша-сан

Deff написал(а):

Можно попробовать, для скрипта будёт нужно текстовое  доп. поле редактируемое юзером

0

485

Deff написал(а):

Лучше не менять проценты если выхотите отодвинуть рамку от краёв картинки лучше

Поняла! Спасибо еще раз  :flirt:
Появилась только проблемка. В сообщении некорректно отображается эта рамка... Не пойму, в чем проблема

o_O

http://images.vfl.ru/ii/1440764376/3db9f9dd/9731875.png

Отредактировано i_am_your_soul (Пт, 28 Авг 2015 15:19:59)

0

486

i_am_your_soul
Поставьте суммарный код из спойлера(вместо всего текущего), сообщение (481)

0

487

Alex_63 написал(а):

Под юзером "удаляет" и "восстанавливает" посты нормально, а под модером/админом - восстановить не дает, вылетает ошибка:

То же самое происходит и при попытке перенести пост скриптом. Как с этим бороться?

Антиспам поставил в низкий ?
2. Посмотри внимательно текущую форму в топике под Админом - Модером (Может Максим какие параметры изменил, которые не учтены в сокращённой заготовке формы в скрипте ?

0

488

Deff
Антиспам низкий стоит.. Еще раньше выставлял.

0

489

Alex_63
Чтобы перенести пост нужен фрейм со страницей переноса постов, ибо Максим сделал привязку всех отправок к страницам на которых есть такие формы(считывает рефер на сервере), Либо запоминать действие и параметры в LocalStorage и переходить на нужную страницу с формой( location.href) и там только выполнять действие

+1

490

Deff
Пока не очень представляю, как это делается(как создать фрейм), можете помочь?

0

491

Alex_63
Ну может наплевать на перенос ? просто дать иконку со ссылкой перехода на страницу переноса данного поста ? (Так сделано в скрипте премодерации)

0

492

Deff написал(а):

Ну может наплевать на перенос ? просто дать иконку со ссылкой перехода на страницу переноса данного поста ? (Так сделано в скрипте премодерации)

Можно и так, но убирать спецсимвол из сообщения под модератором (восстановление) тож не получаецо - походу та же ошибка, т.к. запрос отправляется, но пост не редактируется

0

493

Alex_63 написал(а):

Можно и так, но убирать спецсимвол из сообщения под модератором (восстановление) тож не получаецо - походу та же ошибка, т.к. запрос отправляется, но пост не редактируется

Проверь/cравни текущую форму ответа в топике(ты ж наверно её используешь для правки ?) и при редактировании сообщения, возможно при редактировании она чуть иная под модером-админом?
По крайней мере там должны быть доп чекиты - не оставлять уведомление о редактировании
2. Ты обрабатываешь поправленную форму перед отправкой функцией function process_form(the_form) ?
Если ты посмотришь мои скрипты с отправкой формы ответа скриптом, я создавал свою минимизированную форму #post c иным id, вставлял в её техтarea исправленный контент, обрабатывал функцией function process_form(the_form) ? ток потом serialize() и отправка

C фреймом есть скрипт предпросмотра в Личке (первая версия) - Не советую связываться с фреймами, они тьву не нужны для отправки исправленного

+2

494

Deff

Deff написал(а):

Проверь/cравни текущую форму ответа в топике(ты ж наверно её используешь для правки ?) и при редактировании сообщения, возможно при редактировании она чуть иная под модером-админом?

Я отправляю GET запрос на страницу редактирования, получаю значение формы Ответа на стр.Редактирования .val() ; затем меняю '&del&' на '' , делаю .serialize() и отправляю форму POST запросом на страницу редактирования /edit.php?id=40285&action=edit

0

495

Alex_63 написал(а):

Я отправляю GET запрос на страницу редактирования, получаю значение формы Ответа на стр.Редактирования .val() ; затем меняю '&del&' на '' , делаю .serialize() и отправляю форму POST запросом на страницу редактирования /edit.php?id=40285&action=edit

Нет обработки формы функцией process_form($(cелектор полученной или созданной формы)[0]), смотри выше как делал я

При отправке настоящая форма обрабатывается функцией, которая и вставляет ключ в форму ответа

<form id="post" class="container" method="post" action="http://forum.mybb.ru/edit.php?id=870126&amp;action=edit" onsubmit="return process_form(this)">

При отправке скриптом это нужно делать искуственно, до serialize() и отправки
=============
Можно посмотреть скрипт автопродления тем (Или тот же предпросмотр в личке)

0

496

Deff
ОК, пошел смотреть скрипт Предпросмотра.

0

497

+1

498

Alex_63
Все как и было, перед отправкой Аяксом, далее:
1. вставляешь в текущую существую форум в топике в #main-reply текст "[code-tmp]"
2. Запускаешь process_form($('#post')[0])
3. Изымаешь текст "[code-tmp]"
4. Клонируешь <div id="formkey"> и <div id="formetc"> и переносишь в отправляемую форму
5. Сериализуешь и отправляешь

0

499

Deff
Не выходит.

Пробовал и через .clone() и .replaceWith() (в форму для редактирования), и через .html()

0

500

Alex_63
//==== process_form(), получение Ключей ====//
var reply = $('#main-reply');
var rep = reply.val();
reply.val(rep+'[code-tmp]');
process_form($('#post')[0]);
reply.val(rep);
var key0 = $('#post').find('#formkey').clone();
var key1 = $('#post').find('#formetc').clone();
alert(key1.html())

=============
//далее key1.prependTo(полученная Аяксом форма)
//далее key0.prependTo(полученная Аяксом форма)

0


Вы здесь » Единый форум поддержки » Архив » Запросы по скриптам[4]