1
0
Fork 0
mirror of https://github.com/Oreolek/ifhub.club.git synced 2024-06-16 14:50:48 +03:00
This commit is contained in:
Alexander Yakovlev 2017-02-17 14:41:26 +07:00
parent 50d6e96312
commit 1e5e2cd98a
13 changed files with 50 additions and 231 deletions

View file

@ -0,0 +1,41 @@
<?php
/**
* Модуль для функций Ифхаба
*
* @license GPLv2
* @package application.modules.ifhub
* @author Alexander Yakovlev
*/
class ModuleIfhub extends Module
{
/**
* Инициализация
*
*/
public function Init()
{
}
/**
* Обработка тега spoiler в тексте
* <pre>
* <spoiler title="Заголовок">Текст спойлера</spoiler>
* </pre>
*
* @param string $sTag Тег на ктором сработал колбэк
* @param array $aParams Список параметров тега
* @return string
*/
public function CallbackParserTagSpoiler($sTag, $aParams, $sText)
{
$sTitle = "Спойлер";
if (isset($aParams['title'])) {
$sTitle = $aParams['title'];
}
return '<div class="spoiler">'.
'<b class="spoiler-title">'.$sTitle.'</b>'.
'<div class="spoiler-body">'.$sText.'</div>'.
'</div>';
}
}

View file

@ -6,7 +6,7 @@ return array(
'cfgAllowTags' => array(
// вызов метода с параметрами
array(
array('ls', 'gallery'),
array('ls', 'gallery', 'spoiler'),
),
),
// Коротие теги типа
@ -56,6 +56,10 @@ return array(
'a',
array('data-rel' => '#text', 'class' => array('js-lbx'))
),
array(
'spoiler',
array('title' => '#text')
),
),
'cfgSetTagCallbackFull' => array(
array(
@ -66,6 +70,10 @@ return array(
'gallery',
array('_this_', 'Media_CallbackParserTagGallery'),
),
array(
'spoiler',
array('_this_', 'Ifhub_CallbackParserTagSpoiler'),
),
)
),
);

View file

@ -1,73 +0,0 @@
<?php
/*-------------------------------------------------------
*
* LiveStreet Engine Social Networking
* Copyright © 2008 Mzhelskiy Maxim
*
*--------------------------------------------------------
*
* Official site: www.livestreet.ru
* Contact e-mail: rus.engine@gmail.com
*
* GNU General Public License, version 2:
* http://www.gnu.org/licenses/old-licenses/gpl-2.0.html
*
*---------------------------------------------------------
*
* Plugin Spoiler
* Shpinev Konstantin
* Contact e-mail: thedoublekey@gmail.com
*
*---------------------------------------------------------
*
* Spoiler :: Plugin
* Modified by fedorov mich © 2014
* [ LS :: 1.0.3 | Habra Style ]
*
*/
if (!class_exists('Plugin')) {
die('Hacking attemp!');
}
class PluginBspoiler extends Plugin {
protected $sTemplatesUrl = "";
/**
* Делегаты
*
* @var unknown_type
*/
protected $aInherits = array(
'module' => array('ModuleText' => '_ModuleBspoiler')
);
// Активация плагина
public function Activate() {
return TRUE;
}
// Деактивация плагина
public function Deactivate() {
return TRUE;
}
/**
* Инициализация плагина
*
* (non-PHPdoc)
* @see engine/classes/Plugin#Init()
*/
public function Init()
{
$sTemplatesUrl = Plugin::GetTemplatePath('PluginBspoiler');
// Добавление своего CSS и JS
$this->Viewer_AppendStyle($sTemplatesUrl."/css/style.css");
$this->Viewer_AppendScript($sTemplatesUrl."/js/bspoiler.js");
}
}
?>

View file

@ -1,8 +0,0 @@
---Плагин спойлер---
Описание настройки: http://livestreet.ru/blog/17229.html
Первоначальный автор - kks.
Адаптировал для 1.0.3 - http://livestreet.ru/profile/dex-/
Выложил в каталог - testerok, gs.dafter.ru

View file

@ -1,2 +0,0 @@
Order Deny,Allow
Deny from all

View file

@ -1,64 +0,0 @@
<?php
/*-------------------------------------------------------
*
* LiveStreet Engine Social Networking
* Copyright © 2008 Mzhelskiy Maxim
*
*--------------------------------------------------------
*
* Official site: www.livestreet.ru
* Contact e-mail: rus.engine@gmail.com
*
* GNU General Public License, version 2:
* http://www.gnu.org/licenses/old-licenses/gpl-2.0.html
*
*---------------------------------------------------------
*
* Plugin Spoiler
* Shpinev Konstantin
* Contact e-mail: thedoublekey@gmail.com
*
*---------------------------------------------------------
*
* Spoiler :: Plugin
* Modified by fedorov mich © 2014
* [ LS :: 1.0.3 | Habra Style ]
*
*/
class PluginBspoiler_ModuleBspoiler extends ModuleText
{
protected function JevixConfig()
{
parent::JevixConfig();
$aTags = array_keys($this->oJevix->tagsRules);
$aTags[] = 'spoiler';
$this->oJevix->cfgAllowTags($aTags);
$this->oJevix->cfgAllowTagParams('spoiler', array('title'));
}
private function SpoilerParser($sText)
{
$aMatches = array();
while (preg_match('/<spoiler title="(.+?)">/', $sText, $aMatches) !== false && count($aMatches) > 1) {
$sTitle = $aMatches[1];
$sText = str_replace("<spoiler title=\"$sTitle\">",
'<div><b class="spoiler-title">'.$sTitle.'</b><div class="spoiler-body">',
$sText);
$sText = str_replace("</spoiler>", '</div></div>', $sText);
}
return $sText;
}
public function Parser($sText)
{
$sResult = parent::Parser($sText);
$sResult = $this->SpoilerParser($sResult);
echo $sResult;die;
return $sResult;
}
}
?>

View file

@ -1,2 +0,0 @@
Order Deny,Allow
Deny from all

View file

@ -1,32 +0,0 @@
<?php
/*-------------------------------------------------------
*
* LiveStreet Engine Social Networking
* Copyright © 2008 Mzhelskiy Maxim
*
*--------------------------------------------------------
*
* Official site: www.livestreet.ru
* Contact e-mail: rus.engine@gmail.com
*
* GNU General Public License, version 2:
* http://www.gnu.org/licenses/old-licenses/gpl-2.0.html
*
*---------------------------------------------------------
*
* Plugin Spoiler
* Shpinev Konstantin
* Contact e-mail: thedoublekey@gmail.com
*
*---------------------------------------------------------
*
* Spoiler :: Plugin
* Modified by fedorov mich © 2014
* [ LS :: 1.0.3 | Habra Style ]
*
*/
$config = array();
?>

View file

@ -1,22 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<plugin>
<name>
<lang name="default">Bspoiler Plugin (rewrote 1.0.3)</lang>
<lang name="russian">Плагин Bspoiler (переделан под 1.0.3)</lang>
</name>
<author>
<lang name="default">kks (rewrote dex-)</lang>
<lang name="russian">kks (переделал dex-, выложил testerok)</lang>
</author>
<homepage>http://ls.ksotik.ru/</homepage>
<version>1.1.0</version>
<requires>
<livestreet>2.0.*</livestreet>
<plugins>
</plugins>
</requires>
<description>
<lang name="default">Spoiler tag support.</lang>
<lang name="russian">Плагин, добавляющий поддержку тега spoiler в топики и страницы.</lang>
</description>
</plugin>

View file

@ -1,5 +0,0 @@
Options -Indexes
<Files ~ "\.tpl$">
Order allow,deny
Deny from all
</Files>

View file

@ -1,10 +0,0 @@
/**
* Spoiler :: CSS
* Modified by fedorov mich © 2014
* [ LS :: 1.0.3 | Habra Style ]
*/
.spoiler-title { color: #6da3bd; border-bottom: 1px dashed; font-weight: normal; cursor: pointer; }
.spoiler-title:hover { color: #4d7285; }
.spoiler-body { display: none; padding: 10px; border: 1px solid #eee; background: #f9f9f9; margin-top: 10px; overflow: hidden; }
.spoiler-title:before { float: left; content: " "; width: 16px; height: 16px; margin-top: 2px; display: block; border: 0px solid red; background: url(../images/spoiler.icon.png) no-repeat left top; }
.spoiler-title.open:before { background: url(../images/spoiler.icon.png) no-repeat left bottom; }

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1,022 B

View file

@ -1,12 +0,0 @@
/**
* Spoiler :: jQuery
* Modified by fedorov mich © 2014
* [ LS :: 1.0.3 | Habra Style ]
*/
$(document).ready(function(){
$('.spoiler-title').on('click touchstart', function(){
$(this).toggleClass('open');
$(this).parent().children('div.spoiler-body').toggle('normal');
return false;
});
});