Skip to content

Instantly share code, notes, and snippets.

View 0test's full-sized avatar

Andrey 0test

View GitHub Profile
params:
&chunk=Redirect Map Chunk;text;redirectMap
OnPageNotFound
global $modx;
$map = $modx->getChunk($chunk);
$lines = explode("\r\n",$map);
$redirectArray = array();
foreach($lines as $line) {
list($link,$redirectId) = explode('||',$line);
switch ($modx->event->name) {
case 'OnManagerBeforeOrdersListRender': {
// добавляем столбец в таблицу заказов
$params['columns']['name'] = [
'title' => 'Имя',
'content' => function($data, $DL, $eDL) {
return !empty($data['fields']['fullname']) ? $data['fields']['fullname'] : '';
},
'sort' => 20,
/**
* categoryUpdate
*
* При сохранении и перемещении товаров обновляет их категорию
*
* @category plugins
* @internal @events onAfterMoveDocument,OnDocFormSave
*/
$e = $modx->Event;
public static function prepare(array $data = array(), DocumentParser $modx, $_DocLister, prepare_DL_Extender $_extDocLister){
return $data;
}
//FormLister preare нельзять анонимно только название функции или метода
function setSubject(DocumentParser $modx,array $data,\FormLister\Form $Fl,string $name)
{
}
<?php
date_default_timezone_set('Europe/Moscow');
$host ='http://ursite.ru/manager/';
$auth_fields = [
'username' => 'administrator',
'password' => '******',
];
$header = [
'Accept: */*',
'Accept-Encoding: gzip, deflate',
@0test
0test / myconfig.js
Created May 24, 2021 07:56
Ex. config Tiny 5
let myconfig = {
selector: selector_myconfig,
document_base_url: modx_site_url,
language: lang,
language_url: modx_site_url + 'assets/plugins/tinymce5/langs/' + lang + '.js',
plugins: 'print preview importcss searchreplace autolink directionality visualblocks visualchars fullscreen image link media template table charmap hr paste pagebreak nonbreaking anchor toc insertdatetime advlist save lists wordcount imagetools textpattern noneditable charmap emoticons code',
toolbar1: 'undo | bold italic | alignleft aligncenter alignright | bullist numlist blockquote table | link unlink image insertfile formatselect | visualblocks removeformat code ',
mobile:{
theme: "mobile"
<?php
function getUserGeo() {
if (!empty($_SERVER['HTTP_CLIENT_IP'])) {
$ip = $_SERVER['HTTP_CLIENT_IP'];
} elseif (!empty($_SERVER['HTTP_X_FORWARDED_FOR'])) {
$ip = explode(",",$_SERVER['HTTP_X_FORWARDED_FOR'])[0];
} elseif (!empty($_SERVER['REMOTE_ADDR'])){
$ip = $_SERVER['REMOTE_ADDR'];
}
else{
@0test
0test / evo.sh
Created August 17, 2021 10:42 — forked from Dmi3yy/evo.sh
evo.sh
#!/bin/bash
# basic script, before use need change logins,passwords in this script
# put this script in project folder and run: sh evo.sh
#variables
EVO_VERSION="3.x-dev"
INSTALL_TYPE=1
DATABASE_TYPE="mysql"
DATABASE_SERVER="localhost"
DATABASE_NAME="DB"
@0test
0test / evo3controllersdumb.md
Created August 25, 2021 16:43 — forked from sashabeep/evo3controllersdumb.md
Как подключить контроллеры втупую в Evolution 3.0

1. Создать свой пакет

Это рекомендуемый подход. В большинстве случаев вы создадите всего 1 пакет. Выполняем в папке /core

php artisan package:create main

Введите имя своего пакета - Main

#Laravel Routing, Request, Response, Validator

Ajax №5 или Laravel Routes для кастомных роутов и аякс запросов

Очень долгая история с вопросом как же правильно рабатать с Ajax в Evo вот методы которые предлагались ранеее:

В Evo 3.0 предлагаем поставить точку в выборе правильного решения через Laravel Routes