Skip to content
Permalink
Browse files

MaxSite CMS 0.863

  • Loading branch information...
maxsite committed Dec 3, 2014
1 parent 5798007 commit d6f2855d41279857d174273901f1cfb310d10118
@@ -7,7 +7,7 @@
class Maxsite_lib
{
public $version = '0.862';
public $version = '0.863';
public $config = array();
public $data = array();
public $hooks = array();
@@ -95,7 +95,7 @@

<div class="header"><div class="header-wrap">

<a href="http://max-3000.com/" class="logo-cms" title="MaxSite CMS"><a>
<a href="http://max-3000.com/" class="logo-cms" title="MaxSite CMS"></a>

<div class="name-site-descr">
<a href="<?= getinfo('siteurl') ?>"><?= mso_get_option('name_site', 'general') ?></a>
@@ -1045,7 +1045,7 @@ function mso_get_option($key, $type = 'general', $return_value = false)
# аналог опций, хранящейся в отдельном файле/каталоге _mso_float
function mso_add_float_option($key, $value, $type = 'general', $serialize = true, $ext = '', $md5_key = true, $dir = '')
{
$CI = & get_instance();
// $CI = & get_instance();
if ($dir) $dir .= '/';
@@ -1080,7 +1080,7 @@ function mso_add_float_option($key, $value, $type = 'general', $serialize = true
# получение данных из flat-опций
function mso_get_float_option($key, $type = 'general', $return_value = false, $serialize = true, $ext = '', $md5_key = true, $dir = '')
{
$CI = & get_instance();
// $CI = & get_instance();
if (!$key or !$type) return $return_value;
@@ -1114,7 +1114,7 @@ function mso_get_float_option($key, $type = 'general', $return_value = false, $s
# удаление flat-опции если есть
function mso_delete_float_option($key, $type = 'general', $dir = '')
{
$CI = & get_instance();
// $CI = & get_instance();
if (!$key or !$type) return false;
@@ -2348,8 +2348,8 @@ function mso_get_permalink_cat_slug($slug = '', $prefix = 'category/')
}
# разделить строку из чисел, разделенных запятыми в массив
# если $integer = true, то дополнительно преобразуется в числа
# преобразовать строку из чисел, разделенных запятыми, в массив
# если $int = true, то дополнительно преобразуется в числа
# если $probel = true, то разделителем может быть пробел
# если $unique = true, то убираем дубли
function mso_explode($s = '', $int = true, $probel = true, $unique = true )
@@ -2375,7 +2375,7 @@ function mso_explode($s = '', $int = true, $probel = true, $unique = true )
{
if ($int)
{
if ( (int) $val > 0 ) $out[] = $val; // id в массив
if ( (int) $val > 0 ) $out[] = $val; // id в массив
}
else
{
@@ -3962,7 +3962,6 @@ function mso_get_val($key = '', $default = '', $array = false)
return $default;
}
if ($array !== false and $default and isset($MSO->key_options[$key][$default]))
{
return $MSO->key_options[$key][$default];
@@ -3995,7 +3994,6 @@ function mso_set_val($key, $val, $val_val = null)
{
$MSO->key_options = array();
}
if ($val_val !== null)
{
@@ -4005,7 +4003,6 @@ function mso_set_val($key, $val, $val_val = null)
{
$MSO->key_options[$key] = $val; // записали значение
}
}
# Функция удаляет ключ $key

Large diffs are not rendered by default.

@@ -241,7 +241,8 @@ function mso_get_pages($r = array(), &$pag)
{
if ( isset($MSO->data['session']['users_id']) ) // залогинен
{
if ( $pages[0]['page_id_autor'] <> $MSO->data['session']['users_id'] ) return array();
// if ( $pages[0]['page_id_autor'] <> $MSO->data['session']['users_id'] ) return array();
if ( $pages[0]['page_id_autor'] <> $MSO->data['session']['users_id'] && !mso_check_allow('admin_page_edit_other') ) return array();
else
{
if ($page_status == 'draft') $pages[0]['page_title'] .= ' ' . tf('(черновик)');
@@ -0,0 +1,5 @@
/*
ваши стили оформления элементов плагина
уберите знак подчёркивания в имени файла, чтобы файл начал подключаться при работе плагина
*/
.auth_content { dispay: inline-block; border: 1px dotted red; padding: 3px; }
@@ -1,34 +1,106 @@
<?php if (!defined('BASEPATH')) exit('No direct script access allowed');
/**
* MaxSite CMS
* (c) http://max-3000.com/
*/
function auth_content_autoload()
{
mso_hook_add( 'content', 'auth_content_parse'); # хук на админку
}
function auth_content_check ($m)
{
if ( is_login() || is_login_comuser() )
{
return $m[1];
}
else
{
return 'Запись только для зарегистрированных';
}
}
function auth_content_parse($text)
{
$preg = '~\[auth\](.*?)\[\/auth\]~si';
$text = preg_replace_callback($preg, "auth_content_check" , $text);
$text = str_ireplace('[auth]', '', $text);
$text = str_ireplace('[/auth]', '', $text);
return $text;
}
# end file
<?php if (!defined('BASEPATH')) exit('No direct script access allowed');
/**
* MaxSite CMS
* (c) http://max-3000.com/
*/
function auth_content_autoload()
{
mso_hook_add('head', 'auth_content_head'); # хук для подключения стилей на внешних страницах
mso_hook_add('content', 'auth_content_parse'); # хук на админку
$options = mso_get_option('plugin_auth_content', 'plugins', array());
if( isset($options['comments']) && ( $options['comments'] == 1 ) )
{
mso_hook_add('comments_content_out', 'auth_content_parse'); # хук на обработку комментариев
}
}
# функция выполняется при деинстяляции плагина
function auth_content_uninstall($args = array())
{
mso_delete_option('plugin_auth_content', 'plugins' ); # удалим созданные опции
return $args;
}
# функция отрабатывающая миниопции плагина (function плагин_mso_options)
function auth_content_mso_options()
{
$options = mso_get_option('plugin_auth_content', 'plugins', array());
if( !isset($options['message']) ) $options['message'] = 'Запись только для зарегистрированных';
if( !isset($options['format']) ) $options['format'] = '%MESSAGE%';
# ключ, тип, ключи массива
mso_admin_plugin_options('plugin_auth_content', 'plugins',
array(
'message' => array(
'type' => 'text',
'name' => t('Общий текст сообщения'),
'description' => t('Укажите текст сообщения для незалогиненых посетителей.'),
'default' => 'Запись только для авторизованных - хотите <a href="/login">войти</a> или <a href="/registration">зарегистрироваться</a>?',
),
'format' => array(
'type' => 'text',
'name' => t('Шаблон ввода сообщения'),
'description' => t('Укажите шаблон вывода текстового сообщения. Используйте код <b>%MESSAGE%</b> для подстановки общего текста сообщения. Можно использовать HTML чтобы потом иметь возможность задать стили оформления через css. Например: <br><code>&lt;div class="auth_content">%MESSAGE%&lt;/div></code>'),
'default' => '<div class="auth_content">%MESSAGE%</div>',
),
'comments' => array(
'type' => 'checkbox',
'name' => 'Обрабатывать комментарии',
'description' => 'Если поставить галочку, то тэг [auth] можно будет использовать в комментариях. Снимите галочку в случае, если в комментариях точно не будет использоваться скрытый контент - это позволит экономить вычеслительные ресурсы не делая лишних обработок.',
'default' => 1
),
),
t('Настройки плагина «Скрытый текст»'), // титул
'<p class="info">Задайте общий текст сообщения и шаблон вывода. Кастомный текст сообщения можно будет задать внутри бб-кода. Например, так: <code>[auth Ссылка только для авторизованых]...[/auth]</code></p>' // инфо
);
}
# подключение своих стилей на внешних страницах
function auth_content_head( $args = array() )
{
# стили пользователя
if( file_exists(getinfo('plugins_dir').basename(dirname(__FILE__)).'/custom.css') )
{
echo '<link rel="stylesheet" href="'.getinfo('plugins_url').basename(dirname(__FILE__)).'/custom.css" type="text/css" media="screen">'.NR;
}
return $args;
}
function auth_content_check( $m )
{
static $options; # статик, чтобы не получать каждый раз опции
if( !isset($options) )
{
$options = mso_get_option('plugin_auth_content', 'plugins', array());
if( !isset($options['message']) ) $options['message'] = 'Запись только для зарегистрированных';
if( !isset($options['format']) ) $options['format'] = '%MESSAGE%';
}
if( is_login() || is_login_comuser() )
{
return $m[2];
}
else
{
return str_ireplace('%MESSAGE%', ( isset($m[1]) && $m[1] != '' ? $m[1] : $options['message'] ), $options['format']);
}
}
# основная функция
function auth_content_parse( $text )
{
$preg = '~\[auth(.*?)\](.*?)\[\/auth\]~si';
$text = preg_replace_callback($preg, "auth_content_check" , $text);
$text = str_ireplace('[auth]', '', $text);
$text = str_ireplace('[/auth]', '', $text);
return $text;
}
# end file
@@ -134,6 +134,8 @@ function bbcode_custom($text = '')
'~\[p=(.*?)\](.*?)\[\/p\]~si' => '<p style="$1">$2</p>',
'~\[p (.*?)\](.*?)\[\/p\]~si' => '<p $1>$2</p>',
'~\[p\((.*?)\)\](.*?)\[\/p\]~si' => '<p class="$1">$2</p>', // [p(класс)] [/p]
'~\[pleft\](.*?)\[\/pleft\]~si' => '<p style="text-align: left;">$1</p>',
'~\[pright\](.*?)\[\/pright\]~si' => '<p style="text-align: right;">$1</p>',
'~\[pcenter\](.*?)\[\/pcenter\]~si' => '<p style="text-align: center;">$1</p>',
@@ -3,7 +3,7 @@
$info = array(
'name' => t('BB-коды'),
'description' => t('Конвертирует тэги BBCode в HTML'),
'version' => '3.0',
'version' => '3.1',
'author' => 'MAX',
'plugin_url' => 'http://max-3000.com/',
'author_url' => 'http://maxsite.org/',
@@ -165,7 +165,9 @@ function last_comments_widget_custom($options = array(), $num = 1)
else
$css_style_add = 'last_comment_anonim';
$out .= '<li class="' . $css_style_add . '"><a href="' . getinfo('siteurl') . 'page/' . mso_slug($page_slug) . '#comment-' . $comments_id . '" id="comment-' . $comments_id . '"><strong>';
//$out .= '<li class="' . $css_style_add . '"><a href="' . getinfo('siteurl') . 'page/' . mso_slug($page_slug) . '#comment-' . $comments_id . '" id="comment-' . $comments_id . '"><strong>';
$out .= '<li class="' . $css_style_add . '"><a href="' . getinfo('siteurl') . 'page/' . mso_slug($page_slug) . '#comment-' . $comments_id . '"><strong>';
if ($comments_users_id) // это автор
{
@@ -3,7 +3,7 @@
$info = array(
'name' => t('Последние комментарии'),
'description' => t('Виджет последних комментариев'),
'version' => '1.3',
'version' => '1.4',
'author' => 'Максим',
'plugin_url' => 'http://max-3000.com/',
'author_url' => 'http://maxsite.org/',
@@ -125,6 +125,9 @@ function smtp_mail_custom($arg = array())
if (!isset($options['to_email'])) $options['to_email'] = 1;
$sent = '!not-sent-';
$res = false;
$debug = '';
if ($options['to_email'] == 1)
{
$CI->load->library('email');
@@ -163,7 +166,7 @@ function smtp_mail_custom($arg = array())
$CI->email->_safe_mode = true; # иначе CodeIgniter добавляет -f к mail - не будет работать в не safePHP
$res = $CI->email->send();
$debug = '';
if (!$res)
{
$debug = '<div style="border: silver solid 1px; padding: 20px; margin: 20px;">' . $CI->email->print_debugger() . '<div>';
@@ -205,4 +208,4 @@ function smtp_mail_custom($arg = array())
return $res;
}
?>
# end file
@@ -3,7 +3,7 @@
$info = array(
'name' => t('Почта чере SMTP mail'),
'description' => t('Плагин позволяет отправлять почту через SMTP сервер.'),
'version' => '0.7.2',
'version' => '0.8',
'author' => 'Wave',
'plugin_url' => 'http://wave.fantregata.com/page/work-for-maxsite',
'author_url' => 'http://wave.fantregata.com/',
@@ -114,7 +114,7 @@
. tf('Сайт комментатора') . '"></a>';
}
$comment_date = '<span class="date"><a href="#comment-'
$comment_date = ' <span class="date"><a href="#comment-'
. $comments_id
. '" id="comment-' . $comments_id . '">' . $comments_date . '</a></span>';
@@ -141,7 +141,7 @@
. ($comment_edit ? ' | ' . $comment_edit : '')
. ($comment_approved ? ' | ' . $comment_approved : '')
. $comment_num_comment
. '<br>' . $comment_date
. $comment_date
. '</div>'
. '<div class="comments_content">'
@@ -144,7 +144,7 @@
$slide['text'] = '<p>' . trim($slide['text']) . '</p>';
}
echo '<li>' . $a1 . '<img src="' . $slide['img'] . '">' . $slide['text'] . $a2 . '</li>';
echo '<li>' . $a1 . '<img src="' . $slide['img'] . '" alt="">' . $slide['text'] . $a2 . '</li>';
}
?>
</ul>
@@ -18,7 +18,7 @@
$pt->div_start('r2');
if ($fn = mso_fe('components/_social/_social.php')) require($fn);
$pt->div_end('r3');
$pt->div_end('r2');
$pt->div_end('search-icons', 'wrap');
@@ -2,3 +2,9 @@
// Copyright http://max-3000.com/

// комментарии

div.comments {
span.date {
display: block;
}
}

Large diffs are not rendered by default.

0 comments on commit d6f2855

Please sign in to comment.
You can’t perform that action at this time.