форум vBSupport.ru > vBulletin > vBulletin 3.8.x > Хаки, моды и скрипты 3.8
  • »
VBsupport перешел с домена .ORG на родной .RU Ура! Пожалуйста, обновите свои закладки - VBsupport.ru
 
 
 
 
Luvilla
Гость
Default User PM Search - Поиск в ЛС

Тема на орге http://www.vbulletin.org/forum/showthread.php?t=149609

Импортировать продукт через админку
Разрешить группам использовать поиск в ЛС

Если в навигацинной панели Кабинета не появилась ссылка Поиск (в блоке ЛС):
открыть шаблон USERCP_SHELL
найти
Code:
href="private.php?$session[sessionurl]do=newpm">$vbphrase[send_new_message]</a></td></tr></if>
Ниже добавить:

Code:
<!-- PM Search -->
<if condition="$show['pm_search']">
  <tr class="alt2">
    <td class="$navclass[pm_search]" nowrap="nowrap"><a class="smallfont" href="private.php?$session[sessionurl]pmsearch=1">$vbphrase[search]</a></td>
  </tr>
</if>
<!-- /PM Search -->
Во вложении - слегка подправленная версия
добавлен securitytoken
подправлен вывод "пустого" поиска. В оригинале, если юзер тычет "найти" при незаполненных полях формы, ему вываливается списком все ЛС из всех папок
Предполагаю, что это не единственный глюк... ну, про остальные мне юзера расскажут)
Attached Thumbnails
pm_search.png  
Attached Files
File Type: zip pm_search-2.0.xml.zip (8.3 KB, 27 views)
File Type: zip language_ru.zip (2.2 KB, 22 views)
Bot
Yandex Bot Yandex Bot is online now
 
Join Date: 05.05.2005
Реклама на форуме А что у нас тут интересного? =)
 
 
Mile
Знаток
 
Mile's Avatar
Default
0

Я сделал вывод формы поиска в список личных сообщений, если надо - выложу)
 
 
Luvilla
Гость
Default

Quote:
Originally Posted by Mile View Post
если надо - выложу)
ты у меня спрашиваешь?
Мы будем перепиливать этот хак, он мне не нравится

Если хочешь поделиться - делись, думаю, тебе будут благодарны...
 
 
Mile
Знаток
 
Mile's Avatar
Default
1

Luvilla, это скорее модификация внешнего вида...)

В общем, возвращайте шаблон USERCP_SHELL. Я считаю, что ещё одна ссылка будет лишней.

Сделаем как на серче.

А именно вот так: **тут был скрин, он умер**

Ищем фрагмент в начале шаблона:

Code:
<input type="hidden" name="folderid" value="$folderid" />

<if condition="$show['pagenav']">
Между первым и вторым вставляем непосредственно код формы поиска:
Code:
<!-- PM Search --> 
            
            <script type="text/javascript">
              <!--
                  function check_all_group(checkobj, value)
                  {
                  formobj = checkobj.form;
                  for (var i = 0; i < formobj.elements.length; i++)
                                      {
                                      elm = formobj.elements[i];
                                      if (elm.type == "checkbox" && elm.value == value)
                                      {
                                      elm.checked = checkobj.checked;
                                      }
                                      }
                                      }
                                      //-->
                  </script>
                  
                  
                  <form action="private.php?pmsearch=1" method="post">
                  <input type="hidden" name="s" value="$session[sessionhash]" /> 
<input type="hidden" name="securitytoken" value="$bbuserinfo[securitytoken]" />  
                    <table class="tborder" cellpadding="$stylevar[cellpadding]" cellspacing="$stylevar[cellspacing]" border="0" width="100%" align="center">
                      <thead>
                        <tr>
                          <td class="tcat">
                            <a style="float:$stylevar[right]" href="#top" onclick="return toggle_collapse('pmsearch')"><img id="collapseimg_pmsearch" src="$stylevar[imgdir_button]/collapse_tcat$vbcollapse[collapseimg_pmsearch].gif" alt="" border="0" /></a>
                            $vbphrase[private_message_search]
                          </td>
                        </tr>
                      </thead>
                      <tbody id="collapseobj_pmsearch" style="$vbcollapse[collapseobj_pmsearch]">
                        <tr>
                          <td class="panelsurround" align="center">
                            <div class="panel">
                              <table cellpadding="0" cellspacing="$stylevar[formspacer]" border="0" width="100%">
                                <tr>
                                  <td align="$stylevar[left]" valign="top" width="50%">
                                    <fieldset class="fieldset" style="margin:0px">
                                      <legend>$vbphrase[search_by_key_word]</legend>
                                      <table cellpadding="0" cellspacing="$stylevar[formspacer]" border="0">
                                        <tr>
                                          <td colspan="2">
                                            <div>$vbphrase[key_words]:</div>
                                            <div><input type="text" class="bginput" name="pmquery" size="35" value="$pmquery" style="width:250px" /></div>
                                          </td>
                                        </tr>
                                        <tr>
                                          <td>        
                                            <select name="titleonly">
                                              <option value="0" $titleonlyselected[0]>$vbphrase[search_entire_pms]</option>
                                              <option value="1" $titleonlyselected[1]>$vbphrase[search_titles_only]</option>
                                            </select>
                                          </td>
                                        </tr>
                                        <tr>
                                          <td>        
                                            <select name="folders">
                                              <option value="-2" $folders[all]>$vbphrase[pmsearch_all_folders]</option>
                                              <option value="0" $folders[in]>$vbphrase[pmsearch_incoming]</option>
                                              <option value="-1" $folders[sent]>$vbphrase[pmsearch_outgoing]</option>
                                              $pmfolders
                                            </select>
                                            
                                          </td>
                                        </tr>
                                      </table>
                                    </fieldset>
                                  </td>
                                  <td align="$stylevar[left]" valign="top" width="50%">                    
                                    <fieldset class="fieldset" style="margin:0px">
                                      <legend>$vbphrase[search_by_user_name]</legend>
                                      <table cellpadding="0" cellspacing="$stylevar[formspacer]" border="0">
                                        <tr>
                                          <td>
                                            <div>$vbphrase[username]:</div>
                                            <div id="userfield">
                                              <input type="text" class="bginput" name="searchuser" id="userfield_txt" size="35"  value="$searchuser" style="width:250px" autocomplete="off" />
                                            </div>
                                            <if condition="$show['popups']">
                                              <div id="userfield_menu" class="vbmenu_popup" style="display:none"></div>
                                              <script type="text/javascript" src="clientscript/vbulletin_ajax_namesugg.js?v=$vboptions[simpleversion]"></script>
                                              <script type="text/javascript">
                                                <!--
                                                    vbmenu_register('userfield', true);
                                                    snc = new vB_AJAX_NameSuggest('snc', 'userfield_txt', 'userfield');
                                                    //-->
                                              </script>
                                            </if>
                                          </td>
                                        </tr>
                                        <tr>
                                          <td>
                                            <select name="toby">
                                              <option value="0" $tobyuser[0]>$vbphrase[find_pms_by_user]</option>
                                              <option value="1" $tobyuser[1]>$vbphrase[find_pms_to_user]</option>
                                              <option value="2" $tobyuser[2]>$vbphrase[pmsearch_toby_user]</option>
                                            </select>
                                          </td>
                                        </tr>
                                        <tr><td><label for="cb_exactname"><input type="checkbox" name="exactname" value="1" id="cb_exactname" $exactnamechecked[1] />$vbphrase[exact_name]</label></td></tr>
                                      </table>
                                    </fieldset>
                                    
                                  </td>
                                </tr>
                              </table>
                              
                            </div>
                            <div style="margin-top:$stylevar[cellpadding]px">
                              <input type="submit" class="button" name="dosearch" value="$vbphrase[search_now]" accesskey="s" />
                              <input type="reset" class="button" value="$vbphrase[reset_fields]" accesskey="r" />
                            </div>
                          </td>
                        </tr>
                      </tbody>
                    </table>
                  </form>
                  
                  <if condition="$showsearch">
                    <br />
                    <form action="private.php?do=managepm&amp;folderid=$folderid" method="post">
                      <input type="hidden" name="s" value="$session[sessionhash]" />
                      <input type="hidden" name="securitytoken" value="$bbuserinfo[securitytoken]" />  
                      <input type="hidden" name="do" value="managepm" />
                      <input type="hidden" name="folderid" value="$folderid" />
                      <table class="tborder" cellpadding="$stylevar[cellpadding]" cellspacing="$stylevar[cellspacing]" border="0" width="100%" align="center">
                        <thead>
                          <tr>
                            <td class="tcat" colspan="4" style="padding: $stylevar[cellpadding]px 0 $stylevar[cellpadding]px $stylevar[cellpadding]px">
                              <span class="smallfont" style="float:$stylevar[right]">
                                <label for="checkall_all">
                                  $vbphrase[number_of_search_results]: <strong>$search_totalmessages</strong>
                                  <if condition="$search_totalmessages > 0"><input type="checkbox" name="allbox" id="checkall_all" title="$vbphrase[check_uncheck_all]" onclick="js_check_all(this.form)" /></if>
                                </label>            
                              </span>
                              $vbphrase[search_results_in_folder]<span class="normal">: $foldername</span>            
                            </td>
                          </tr>
                        </thead>
                        
                        <if condition="$search_totalmessages == 0">
                          <tbody>
                            <tr>
                              <td class="alt1">
                                $vbphrase[no_search_results]
                              </td>
                            </tr>
                          </tbody>
                        </if>
                        
                        <if condition="$errors">
                          <tbody>
                            <tr>
                              <td class="alt1">
                                $displayCommon        </td>
                            </tr>
                          </tbody>
                        </if>
                        
                        <if condition="$search_totalmessages > 0">
                        </table>
                        <table class="tborder" cellpadding="$stylevar[cellpadding]" cellspacing="$stylevar[cellspacing]" border="0" width="100%" align="center">
                          $searchresults
                          <tbody>
                            <tr>
                              <td class="tfoot" align="$stylevar[right]" colspan="4">            
                                <div class="smallfont">
                                  $vbphrase[selected_messages]:
                                  <select name="dowhat">
                                    <if condition="$show['movetofolder']"><option value="move">$vbphrase[move_to_folder]...</option></if>
                                    <option value="delete">$vbphrase[delete]</option>
                                    <option value="read">$vbphrase[mark_as_read]</option>
                                    <option value="unread">$vbphrase[mark_as_unread]</option>
                                    <option value="xml">$vbphrase[download_as_xml]</option>
                                    <option value="csv">$vbphrase[download_as_csv]</option>
                                    <option value="txt">$vbphrase[download_as_text]</option>
                                  </select>
                                  <input type="submit" class="button" value="$vbphrase[go]" />
                                </div>        
                              </td>
                            </tr>
                          </tbody>
                        </if>
                      </table>
                    </form>
                  </if>
                  
                  <br />
<!-- PM Search end -->
В новом хаке ты не переделывала шаблоны?

Можно и в конец списка ЛС, ищем код

Code:
<if condition="$show['pagenav']">
<table cellpadding="0" cellspacing="0" border="0" width="100%" style="margin-top:3px">
<tr valign="top">
    <if condition="$pagenav"><td align="$stylevar[right]">$pagenav</td></if>
</tr>
</table>
</if>

</if>

<br />
где-то в середине шаблона и после него вставляем вышеследующий.

Всё......
 
 
Rulez
Знаток
 
Rulez's Avatar
Default
0

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

хотя после импорта хака всё заработало сразу без всяких правок шаблонов.

Luvilla, то, чего не хватало. гран мерси ;-)
 
 
Mile
Знаток
 
Mile's Avatar
Default
0

Quote:
Originally Posted by Rulez View Post
Mile, твой код должен работать сам по себе или только вместе с импортированным хаком из 1-го сообщения? что-то сам по себе у меня он не заработал. поля вывелись, но подписей никаких, и выпадающие списки пустые. вероятно, из-за того, что скин не дефолтный, хз...
естественно с импортом хака (без наработок) и установкой прав группам
 


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off




All times are GMT +4. The time now is 04:14 PM.


Powered by vBulletin® Version 3.6.6
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Loading...