Skip to content

Instantly share code, notes, and snippets.

View AgelxNash's full-sized avatar
Open to suggestions

Евгений Борисов AgelxNash

Open to suggestions
View GitHub Profile
@AgelxNash
AgelxNash / moto-detals.plugin.php
Created November 1, 2013 07:20
Документ 270400 имеет ссылку вида /detals/
//<?php
$DOC = 270400;
switch($modx->event->name){
case 'OnPageNotFound':{
$brand = '';
$q = explode('/', ltrim($_SERVER['REQUEST_URI'], '/'));
if(!isset($modx->motoDocID) && count($q)==2 && isset($q[0],$q[1])){
$motoID = (int)rtrim($q[1],$modx->config['friendly_url_suffix']);
if($motoID.$modx->config['friendly_url_suffix'] == $q[1]){
include_once(MODX_BASE_PATH.'assets/lib/modResource.php');
<?php
function close_tag_html($text) {
preg_match_all("/<[^>]*>/", $text, $bal);
$liste = array();
foreach($bal[0] as $balise) {
if ($balise{1} != "/") { // opening tag
preg_match("/<([a-z]+)/i", $balise, $type);
// add the tag
$liste[] = $type[1];
} else { // closing tag
<?php
trait HiddenCaller{
public function __call($key, $params){
try{
if(self::_checkMethod($key)){
self::_getMethod($this,$key,$params);
}
}catch(Exception $e){die($e->getMessage());}
}
public static function __callStatic($key, $params){
@AgelxNash
AgelxNash / TagList.snippet.php
Created April 1, 2013 18:11
[Evo] Список тегов текущей статьи (Внимание! Необходим сниппет urlencode)
<?php
/**
* TagList
*
* [[TagList? &data=`[*tag*]` &sep=`,` &tpl=`PostTagList` &outSep=`, `]]
*
* PostTagList:
* <a href="/[~11~]?tag=[+encode+]" title="Все статьи с тегом [+tag+]">[+tag+]</a>
*
* @category snippet
@AgelxNash
AgelxNash / TagPopular.snippet.php
Created April 1, 2013 18:06
[Evo] Облако тегов
<?php
/**
* TagPopular
*
* [[TagPopular? &tpl=`TagCloudItem` &tv=`7` &count=`15`]]
*
* TagCloudItem:
* <a href="/[~11~]?tag=[[urlencode? &input=`[+name+]`]]" title="Статьи с тегом [+name+]" class="label">[+name+] ([+count+])</a>
*
* @category snippet
<?php
/**
* PHP: Detect location by IP
* http://www.catswhocode.com/blog/10-super-useful-php-snippets-you-probably-havent-seen
*/
function detect_city($ip) {
$default = 'UNKNOWN';
if (!is_string($ip) || strlen($ip) < 1 || $ip == '127.0.0.1' || $ip == 'localhost')
@AgelxNash
AgelxNash / protect_TVsaver.plugin.php
Created March 13, 2013 11:50
[EVO] Защита от взлома менеджерами через @-операторы в значениях TV параметров
//<?php
/**
* Protect TV-saver
*
* @category plugin
* @version 0.1
* @license GNU General Public License (GPL), http://www.gnu.org/copyleft/gpl.html
* @internal @events OnBeforeDocFormSave
* @internal @modx_category Manager and Admin
* @author Agel_Nash <Agel_Nash@xaker.ru>
@AgelxNash
AgelxNash / include.validate.php
Created February 12, 2013 08:03
Корректная обработка возможных ошибок при подключении файла из текущей директории.
<?php
/**
* Include once file
*
* @category validate
* @version 0.1
* @license GNU General Public License (GPL), http://www.gnu.org/copyleft/gpl.html
* @param string $file Файл который необходимо подключить в текущей папке
* @param boolean $ret Возвращать статус подключения файла или его ответ
* @return boolean Результат подключения файла
@AgelxNash
AgelxNash / SEOphpthumb.snippet.php
Last active December 12, 2015 01:48
[Evo] ЧПУ имена у картинок. Для удобства картинки раскладываются по папкам как в исходном файле. Затем добавляется папка с месяцем и датой создания картинки. В эту папку вкладывается папка с хешем параметров. И только потом создается сам файл. В имени которого присутствует число, час, минута и секунда создания файла, а так же, оригинальное имя.
<?php
/**
* SEOphpthumb
*
* @category snippet
* @version 1.3
* @license GNU General Public License (GPL), http://www.gnu.org/copyleft/gpl.html
* @author Agel_Nash <Agel_Nash@xaker.ru>
*/
@AgelxNash
AgelxNash / tagsaver.plugin.php
Last active April 23, 2024 09:44
[Evo] Дублирование тегов в другую таблицу для удобной фильтрации без WHERE X LIKE '%tag%'. Подробности тут http://modx.im/blog/addons/374.html
//<?php
/**
* TagSaver
*
* @category plugin,DocLister
* @version 0.2
* @license GNU General Public License (GPL), http://www.gnu.org/copyleft/gpl.html
* @internal @properties &tv=ID TV-параметра;input; &sep=Разделитель тегов;input;
* @internal @events OnDocFormSave
* @internal @modx_category Manager and Admin