Перейти к содержанию

MyStatus - Статус сериалов

Ссылка на разработку: Перейти к разработке

Версия модификации: 1.0.2.3

Установка

  • Залить файлы из папки uploads в корень сайт
  • Запустите файл install.php в корне вашего сайта, а затем удалите
  • В шаблонах откройте файл fullstory.tpl и пропишите в самом низу файла
HTML
{include file="engine/modules/mystatus.php?mysid={myshows}&title={title}&news_id={news-id}"}

В нужное место ставим

HTML
<div class="status {statuss}">{status}</div>
  • Открываем engine/inc/addnews.php и ищем
PHP
1
2
3
4
5
6
<div class="form-group">
<label class="control-label col-md-2">{$lang['addnews_cat']}</label>
<div class="col-md-10">
<select data-placeholder="{$lang['addnews_cat_sel']}" name="category[]" id="category" onchange="onCategoryChange(this)" $category_multiple style="width:100%;max-width:350px;">{$categories_list}</select>
</div>
</div>

ниже добавляем

HTML
1
2
3
4
5
6
<div class="form-group">
<label class="control-label col-md-2">MyShows ID</label>
<div class="col-md-10">
<input type="text" name="myshows" size="20" >
</div>
</div>

находим

PHP
$disable_index = isset( $_POST['disable_index'] ) ? intval( $_POST['disable_index'] ) : 0;

ниже ставим

PHP
$myshowsid = intval($_POST['myshows']);

находим

PHP
tags, metatitle

после ставим

PHP
, myshowsid

находим

PHP
'{$_POST['tags']}', '{$metatags['title']}'

после ставим

PHP
, '$myshowsid'
  • Открываем engine/inc/editnews.php и ищем
PHP
1
2
3
4
5
6
<div class="form-group">
<label class="control-label col-md-2">{$lang['edit_cat']}</label>
<div class="col-md-10">
<select data-placeholder="{$lang['addnews_cat_sel']}" name="category[]" id="category" onchange="onCategoryChange(this)" {$category_multiple} style="width:350px;">{$categories_list}</select>
</div>
</div>

ниже добавляем

PHP
1
2
3
4
5
6
<div class="form-group">
<label class="control-label col-md-2">MyShows ID</label>
<div class="col-md-10">
<input type="text" name="myshows" size="20" value="{$row['myshowsid']}">
</div>
</div>

находим

PHP
1
2
3
$disable_index = isset( $_POST['disable_index'] ) ? intval( $_POST['disable_index'] ) : 0;
ниже ставим
[CODE=php]$myshowsid = intval($_POST['myshows']);

находим (дважды)

PHP
metatitle='{$metatags['title']}'

после ставим (дважды)

PHP
, myshowsid='{$myshowsid}'
  • Открываем файл engine/modules/show.full.php и находим
PHP
if ($row['metatitle']) $metatags['header_title'] = $row['metatitle'];

Ниже прописываем

PHP
include ENGINE_DIR . "/data/mystatus.php";
$xfieldsdata = xfieldsdataload( $row['xfields'] );
$tpl->set("{myshows}", $row['myshowsid']);
//Определяем статус и выводим его
$xfieldsdata[$mystatus_cfg['xfield']] = trim( $xfieldsdata[$mystatus_cfg['xfield']] );
if($xfieldsdata[$mystatus_cfg['xfield']] == "canceledended") {
$statusname = $mystatus_cfg['closed'];
} elseif($xfieldsdata[$mystatus_cfg['xfield']] == "returningseries") {
$statusname = $mystatus_cfg['onair'];
} elseif($xfieldsdata[$mystatus_cfg['xfield']] == "tbdothebubble") {
$statusname = $mystatus_cfg['tbd'];
} elseif($xfieldsdata[$mystatus_cfg['xfield']] == "onhiatus") {
$statusname = $mystatus_cfg['pause'];
} elseif($mystatus_cfg['pilots'] && $xfieldsdata[$mystatus_cfg['xfield']] == "pilotordered") {
$statusname = $mystatus_cfg['pilot'];
} elseif($mystatus_cfg['news'] && $xfieldsdata[$mystatus_cfg['xfield']] == "newseries") {
$statusname = $mystatus_cfg['new'];
} else {
$statusname = $mystatus_cfg['none'];
}
$tpl->set( '{statuss}', $xfieldsdata[$mystatus_cfg['xfield']] );
$tpl->set( '{status}', $statusname );
  • Открываем файл engine/modules/show.short.php, engine/modules/show.custom.php (если хотим, чтобы статус отображался и короткой новости или в построенной через кастом) и находим 2ой
PHP
1
2
3
$tpl->compile( 'content' );
}
if( $user_group[$member_id['user_group']]['allow_hide'] ) $tpl->result['content'] = str_ireplace( "[hide]", "", str_ireplace( "[/hide]", "", $tpl->result['content']) );

Выше прописываем

PHP
include ENGINE_DIR . "/data/mystatus.php";
$xfieldsdata = xfieldsdataload( $row['xfields'] );
$tpl->set("{myshows}", $row['myshowsid']);
//Определяем статус и выводим его
$xfieldsdata[$mystatus_cfg['xfield']] = trim( $xfieldsdata[$mystatus_cfg['xfield']] );
if($xfieldsdata[$mystatus_cfg['xfield']] == "canceledended") {
$statusname = $mystatus_cfg['closed'];
} elseif($xfieldsdata[$mystatus_cfg['xfield']] == "returningseries") {
$statusname = $mystatus_cfg['onair'];
} elseif($xfieldsdata[$mystatus_cfg['xfield']] == "tbdothebubble") {
$statusname = $mystatus_cfg['tbd'];
} elseif($xfieldsdata[$mystatus_cfg['xfield']] == "onhiatus") {
$statusname = $mystatus_cfg['pause'];
} elseif($mystatus_cfg['pilots'] && $xfieldsdata[$mystatus_cfg['xfield']] == "pilotordered") {
$statusname = $mystatus_cfg['pilot'];
} elseif($mystatus_cfg['news'] && $xfieldsdata[$mystatus_cfg['xfield']] == "newseries") {
$statusname = $mystatus_cfg['new'];
} else {
$statusname = $mystatus_cfg['none'];
}
$tpl->set( '{statuss}', $xfieldsdata[$mystatus_cfg['xfield']] );
$tpl->set( '{status}', $statusname );
  • В нужное место в shortstory.tpl или в шаблон, что подключён через кастом, ставим
HTML
<div class="status {statuss}">{status}</div>
  • Открываем файл со стилями шаблона и в самый низ прописываем это
CSS
.status, .status.normal {
    float: right;
    margin-top: -35px;
    font-style: normal;
    opacity: 0.6;
    color: #000;
    transition: all 0.3s;
    font-weight: 700;
}

.status:hover {
    opacity: 1;
    cursor: pointer;
    animation: shake linear 0.5s;
    animation-iteration-count: 1;
    transform-origin: 50% 0%;
    -webkit-animation: shake linear 0.5s;
    -webkit-animation-iteration-count: 1;
    -webkit-transform-origin: 50% 0%;
    -moz-animation: shake linear 0.5s;
    -moz-animation-iteration-count: 1;
    -moz-transform-origin: 50% 0%;
    -o-animation: shake linear 0.5s;
    -o-animation-iteration-count: 1;
    -o-transform-origin: 50% 0%;
    -ms-animation: shake linear 0.5s;
    -ms-animation-iteration-count: 1;
    -ms-transform-origin: 50% 0%;
}

.status.returningseries {
    color: #ebffdd;
    text-shadow: 0 0 1px black, 0 0 2px #5cad21, 0 0 3px #549e1e, 0 0 4px #3d8806;
}

.status.canceledended {
    color: #ffd4d4;
    text-shadow: 0 0 1px black, 0 0 2px #ff0000, 0 0 3px #bf2727, 0 0 4px #792323;
}

.status.onhiatus {
    color: #ffecbf;
    text-shadow: 0 0 1px black, 0 0 2px #ffb300, 0 0 3px #cc971a, 0 0 4px #daa321;
}

.status.tbdonthebubble {
    color: #e8faff;
    text-shadow: 0 0 1px black, 0 0 2px #1bc1ff, 0 0 3px #4ae7ea, 0 0 4px #277890;
}

.status.pilotordered {
    color: #e0ebff;
    text-shadow: 0 0 1px black, 0 0 2px #0058ff, 0 0 3px #275dc5, 0 0 4px #93aee0;
}

.status.newseries {
    color: #fae2ff;
    text-shadow: 0 0 1px black, 0 0 2px #d600ff, 0 0 3px #89319a, 0 0 4px #631a71;
}

@keyframes shake {
    0% {
        transform: rotate(0deg);
    }
    20% {
        transform: rotate(15deg);
    }
    40% {
        transform: rotate(-10deg);
    }
    60% {
        transform: rotate(5deg);
    }
    80% {
        transform: rotate(-5deg);
    }
    100% {
        transform: rotate(0deg);
    }
}

@-moz-keyframes shake {
    0% {
        -moz-transform: rotate(0deg);
    }
    20% {
        -moz-transform: rotate(15deg);
    }
    40% {
        -moz-transform: rotate(-10deg);
    }
    60% {
        -moz-transform: rotate(5deg);
    }
    80% {
        -moz-transform: rotate(-5deg);
    }
    100% {
        -moz-transform: rotate(0deg);
    }
}

@-webkit-keyframes shake {
    0% {
        -webkit-transform: rotate(0deg);
    }
    20% {
        -webkit-transform: rotate(15deg);
    }
    40% {
        -webkit-transform: rotate(-10deg);
    }
    60% {
        -webkit-transform: rotate(5deg);
    }
    80% {
        -webkit-transform: rotate(-5deg);
    }
    100% {
        -webkit-transform: rotate(0deg);
    }
}

@-o-keyframes shake {
    0% {
        -o-transform: rotate(0deg);
    }
    20% {
        -o-transform: rotate(15deg);
    }
    40% {
        -o-transform: rotate(-10deg);
    }
    60% {
        -o-transform: rotate(5deg);
    }
    80% {
        -o-transform: rotate(-5deg);
    }
    100% {
        -o-transform: rotate(0deg);
    }
}

@-ms-keyframes shake {
    0% {
        -ms-transform: rotate(0deg);
    }
    20% {
        -ms-transform: rotate(15deg);
    }
    40% {
        -ms-transform: rotate(-10deg);
    }
    60% {
        -ms-transform: rotate(5deg);
    }
    80% {
        -ms-transform: rotate(-5deg);
    }
    100% {
        -ms-transform: rotate(0deg);
    }
}

@-o-keyframes animationFrames {
    0% {
        -o-transform: rotate(0deg);
    }
    20% {
        -o-transform: rotate(15deg);
    }
    40% {
        -o-transform: rotate(-10deg);
    }
    60% {
        -o-transform: rotate(5deg);
    }
    80% {
        -o-transform: rotate(-5deg);
    }
    100% {
        -o-transform: rotate(0deg);
    }
}

@-ms-keyframes animationFrames {
    0% {
        -ms-transform: rotate(0deg);
    }
    20% {
        -ms-transform: rotate(15deg);
    }
    40% {
        -ms-transform: rotate(-10deg);
    }
    60% {
        -ms-transform: rotate(5deg);
    }
    80% {
        -ms-transform: rotate(-5deg);
    }
    100% {
        -ms-transform: rotate(0deg);
    }
}
  • Создаём доп. поле Название поля, Описание поля и Категория на своё усмотрение Тип поля: Список Значение по умолчанию: Для DLE 11 и выше можно сделать так
Text Only
1
2
3
4
5
returningseries|Снимаетсяnewseries|Новинка
pilotordered|Пилотная серия
canceledended|Закрыт
onhiatus|Приостановлен
tbdonthebubble|Под вопросом

Для версий ниже поля должны выглядеть так

Text Only
1
2
3
4
5
returningseriesnewseries
pilotordered
canceledended
onhiatus
tbdonthebubble

Пример подключения

HTML
{include file="engine/modules/mystatus.php?mysid={myshows}&title={title}&news_id={news-id}"}
  • mysid - это поле нужно для выяснения ID с MyShows
  • title - к этому тегу подключается любая комбинация названия. Желательно иметь такую комбинацию: Русское название English Name (ГОД)
  • news_id - это определяющее самой новости

Внимание!

Не будет работать, если подключать доп. поля в режиме перелинковки. Для этого нужно создавать и/ли определять доп. поля по новой

Доп. поля как перекрёстные ссылки

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

Открываем /engine/modules/show.full.php и ищем

PHP
$tpl->set( '{statuss}', $xfieldsdata[$mystatus_cfg['xfield']] );

и выше или ниже ставим

PHP
1
2
3
4
5
6
7
if($xfieldsdata['НАЗВАНИЕ_ДОП_ПОЛЯ'] != "" || !empty($xfieldsdata['НАЗВАНИЕ_ДОП_ПОЛЯ'])) {
    $ОПРЕДЕЛИТЕЛЬНОЕ_НАЗВАНИЕ = $xfieldsdata['НАЗВАНИЕ_ДОП_ПОЛЯ']
} else {
    $ОПРЕДЕЛИТЕЛЬНОЕ_НАЗВАНИЕ = "";
}

$tpl->set( '{НАЗВАНИЕ}', $ОПРЕДЕЛИТЕЛЬНОЕ_НАЗВАНИЕ );

После этого в конструкцию подключения добавляем {НАЗВАНИЕ}

Названия все на латинском!

Установка на 13.х

Для этого достаточно установить архив из папки 13.х, залить файлы и папки engine и templates из папки 12.х в корень сайта и проследовать установке начиная с пункта шаблонов.


Последнее обновление: April 17, 2022
Дата создания: April 17, 2022
К началу