DevCraft - Разработка приложений

Приветствую!

Это новый и обновлённый сайт maxim-harder.de! Если вы были зарегистрированы на старом сайте, то восстановите свой пароль на сайте!

Создай свой аккаунт!

Установка

Установка
  • Залить файлы из папки 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:
    <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:
    							 <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:
    <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:
    							<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:
    $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:
    						$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 и выше можно сделать так
    Код:
    returningseries|Снимаетсяnewseries|Новинка
    pilotordered|Пилотная серия
    canceledended|Закрыт
    onhiatus|Приостановлен
    tbdonthebubble|Под вопросом
    Для версий ниже поля должны выглядеть так
    Код:
    returningseriesnewseries
    pilotordered
    canceledended
    onhiatus
    tbdonthebubble
Пример подключения: {include file="engine/modules/mystatus.php?mysid={myshows}&title={title}&news_id={news-id}"}

  • mysid - это поле нужно для выяснения ID с MyShows
  • title - к этому тегу подключается любая комбинация названия. Желательно иметь такую комбинацию: Русское название English Name (ГОД)
  • news_id - это определяющее самой новости
[warn=Внимание!]
Не будет работать, если подключать доп. поля в режиме перелинковки. Для этого нужно создавать и/ли определять доп. поля по новой[/warn]

Верх