Форуми / National / Russian / Tips & Tricks

Только ответы и решения, никаких вопросов.

Kabak
#47905 22.03.2024 14:42

Как проверить авторство топика на форуме ?

( Например, для того, чтобы вывести рядом с автором темы какое-то обозначение, указывающее, что - это автор темы. )

 

используем такую конструкцию :

XML/XHTML
1
2
3
    <!-- IF {PHP.rowt.ft_firstpostername}  ==  {PHP.row.user_name} -->
            <div class="topic_starter"><img src="{PHP.cfg.themes_dir}/{PHP.theme}/img/author.png"></div>
    <!-- ENDIF -->
CSS
1
2
3
4
5
6
7
8
9
10
11
.topic_starter
{
  margin-left: 90px;
}
 
.topic_starter img
{
  width: 35px;
  height: 35px;
  -webkit-filter: drop-shadow(3px 3px 3px #0000007f);
}

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

 

Как проверить наличие плагина toplastseen в системе ?

( Аналогично по имени проверяется наличие и активность любого плагина. )

XML/XHTML
1
2
3
<!-- IF {PHP.cot_plugins_active.toplastseen} -->
  <li><a href="{PHP|cot_url('plug','e=toplastseen')}">{PHP.L.Top_Last_Seen}</a></li>
<!-- ENDIF -->

 

Как проверить наличие модуля PM в системе ?

( Аналогично по имени проверяется наличие и активность любого модуля. )

XML/XHTML
1
2
3
4
5
6
7
8
9
<!-- IF {PHP.cot_modules.pm} -->
    <!-- IF {PHP.usr.messages} -->
        <li><a class="glowing" href="{PHP|cot_url('pm')}" title="
                 {PHP.L.Private_messages}">{PHP.L.Private_Messages}</a></li>
    <!-- ELSE -->
    <li><a class="" href="{PHP|cot_url('pm')}" title="{PHP.L.Private_messages}">
                  {PHP.L.Private_Messages}</a></li>
    <!-- ENDIF -->
<!-- ENDIF -->

 

Как проверить есть ли личные сообщения у пользователя ?

XML/XHTML
1
<!-- IF {PHP.usr.messages} -->

 

Как проверить  является ли админом пользователь ?

XML/XHTML
1
<!-- IF {PHP.usr.isadmin} -->

 

Как проверить является ли пользователь гостем ?

XML/XHTML
1
<!-- BEGIN: GUEST -->

 

Как проверить уровень пользователя ?

XML/XHTML
1
<!-- IF {PHP.usr.maingrp} > 1 -->

 

Как проверить как давно опубликован пост на форуме ?

XML/XHTML
1
2
3
4
5
<!-- IF {PHP|time()} - {PAGE_ROW_UPDATED_STAMP} > 1000000 -->
 
<!-- или вариант с отображением прошедшего времени с момента публикации -->
 
{PHP|cot_build_timegap({FORUMS_POSTS_ROW_CREATION_STAMP})}

 

Как проверить как давно опубликован комментарий ?

XML/XHTML
1
2
3
4
5
<!-- IF {PHP|time()} - {PAGE_ROW_DATE_STAMP} > 259200 --> 
<div class="card_body">
<!-- ELSE -->
<div class="card_body1">
<!-- ENDIF -->

 

Как отобразить в названии или описании темы на форуме , статье специальные символы ?

XML/XHTML
1
<a href="{PAGE_ROW_URL}">{PAGE_ROW_TITLE|htmlspecialchars_decode($this)}</a>

 

Проверка статей и запрос перед удалением для администратора

XML/XHTML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<!-- IF {PHP._GET.id} -->
    <li><a href="{PHP._GET.id|cot_url('page','m=edit&id=$this')}">Редактировать</a></li>
    <li><a href="{PHP._GET.id|cot_url('page','m=add&clone=1&id=$this')}">Клонировать</a></li>
    <li><a href="{PHP|cot_url('admin', 'm=page&a=unvalidate&id={PHP.id}&x={PHP.sys.xk}')|cot_confirm_url($this, 'page', 'page_confirm_unvalidate')}" class="confirmLink">{PHP.L.Putinvalidationqueue}</a></li>
    <li><a href="{PHP|cot_url('page', 'm=edit&a=update&delete=1&id={PHP.id}&x={PHP.sys.xk}')}">{PHP.L.Delete}</a></li>
    <li><a href="{PHP|cot_url('page', 'm=edit&a=update&delete=1&id={PHP.id}&x={PHP.sys.xk}')|cot_confirm_url($this, 'page', 'page_confirm_delete')}" class="confirmLink">{PHP.L.Delete}</a></li>
<!-- ENDIF -->
 
// или
 
<!-- IF {PHP._GET.id} -->
    <li class="admin_pagop"><a href="{PHP._GET.id|cot_url('page','m=edit&id=$this')}">{PHP.L.Edit}</a></li>
    <li class="admin_pagop"><a href="{PHP._GET.id|cot_url('page','m=add&clone=1&id=$this')}">{PHP.L.page_clone}</a></li>
    <li class="admin_pagop"><a href="{PHP._GET.id|cot_url('admin', 'm=page&a=unvalidate&id=$this&x={PHP.sys.xk}')|cot_confirm_url($this, 'page', 'page_confirm_unvalidate')}" class="confirmLink">{PHP.L.Putinvalidationqueue}</a></li>
    <li class="admin_pagop"><a href="{PHP._GET.id|cot_url('page', 'm=edit&a=update&delete=1&id=$this&x={PHP.sys.xk}')|cot_confirm_url($this, 'page', 'page_confirm_delete')}" class="confirmLink">{PHP.L.Delete}</a></li>
<!-- ENDIF -->

 

Как проверить сколько времени прошло с момента публикации поста на форуме или статьи( плагин forman & pagelist ) ?

XML/XHTML
1
<!-- IF {PHP|time()} - {PAGE_ROW_UPDATED_STAMP} > 259200 -->