MySQL 5.7 comes with a native JSON data type and a set of built-in functions to manipulate values of the JSON type. This document demonstrates the usage.
-- raw json
INSERT INTO json_test
(name, attributes)
VALUES (| <?php | |
| /** | |
| * CSV_parser | |
| * | |
| * @package | |
| * @author Dave's Simple Project | |
| * @copyright MESMERiZE | |
| * @version 2012 | |
| * @access public | |
| */ |
| <!doctype html> | |
| <!-- | |
| PHP Batch Download Script | |
| @author Yosko <contact@yosko.net> | |
| @copyright none: free and opensource | |
| @link http://www.yosko.net/article32/snippet-05-php-telechargement-de-fichiers-par-lots | |
| --> | |
| <html lang="en-US"> | |
| <head> |
| (function () { | |
| 'use strict' | |
| const QUOTES = ['', "'", '"'] | |
| // const THRESHOLD = 0.95 | |
| // function levenstein(a, b) { | |
| // const d = (i, j) => 0 === Math.min(i, j) ? Math.max(i, j) : Math.min(d(i - 1, j) + 1, d(i, j - 1) + 1, d(i - 1, j - 1) + (a[i - 1] === b[j - 1] ? 0 : 1)) | |
| // return d(a.length, b.length) | |
| // } | |
| // levenstein('kitten', 'sitting') | |
| // function ratio(a, b) { |
| <?php | |
| // Parsing this spreadsheet: https://spreadsheets.google.com/pub?key=0Ah0xU81penP1dFNLWk5YMW41dkcwa1JNQXk3YUJoOXc&hl=en&output=html | |
| $url = 'http://spreadsheets.google.com/feeds/list/0Ah0xU81penP1dFNLWk5YMW41dkcwa1JNQXk3YUJoOXc/od6/public/values?alt=json'; | |
| $file= file_get_contents($url); | |
| $json = json_decode($file); | |
| $rows = $json->{'feed'}->{'entry'}; | |
| foreach($rows as $row) { | |
| echo '<p>'; |
####MODX Extra:
| Управление альбомом галереи на странице ресурса | |
| Tips & tricks | |
| Чего мне всегда не хватало в Revo дак это удобной галереи для менеджера. Для Evo есть EvoGallery, где можно управлять альбомом прямо на странице документа. Менеджеру не нужно постоянно путаться, что редактирование документов осуществляется в дереве документов, а фотографии грузятся через модули. Все в одном месте, удобно. Причем галерея нужна на основе базы данных, а не просто файлы в папке, чтобы можно было указать описания для фотографий, метки, сортировать их итд. | |
| Поэтому решил попытаться сделать похожее в Revo, где в качестве галереи выбрал Gallery. В Revo есть возможность создавать собственные параметры ввода для TV, на основе которых в Gallery сделан тип TV galleryalbumlist, с помощью которого можно привязать альбом к документы, но фотографии по прежнему загружаются через компоненты. | |
| Создадим новый тип galleryalbumview. Принцип работы будет такой: TV хранит ID альбома в галерее, редактирования ID не будет. При редактировании документа проб |
| <?php | |
| /* | |
| Плагин добавляет редактор к указанным полям ресурса | |
| событие OnDocFormPrerender | |
| */ | |
| switch ($modx->event->name) { | |
| case 'OnDocFormPrerender': | |
| if (!$modx->controller->resourceArray) { | |
| return; | |
| } |
| <?php | |
| $resources = $modx->getCollection('modResource',array('parent' => 1)); //1 is id of parent container | |
| foreach ($resources as $res) { | |
| $res->set('template', 2); // 2 is id of template | |
| $res->save(); | |
| } |
| <?php | |
| // get user-defined source document and target parents | |
| $source = intval($modx->getOption('sourceId', $scriptProperties, '')); | |
| $targets = array_map('trim', explode(',', $modx->getOption('targetIds', $scriptProperties, ''))); | |
| // to prevent accidents... | |
| $_allowedUsers = explode(',', 'username1,username2'); | |
| // check stuff, and if passed then get the source document object | |
| if ( !in_array($modx->user->get('username'), $_allowedUsers) || empty($source) || $source == 0 || !is_array($targets) || empty($targets) ) return; | |
| $sourceDoc = $modx->getObject('modResource', $source); |