Template CMS 2.1.0 - Release

Template CMS

Template CMS обновилась до 2.1.0

Список основных изменений:

  1. Обновлен инсталятор. Улучшена проверка прав на папки и файлы перед установкой системы. thanks to Oleg Gatseluk

  2. Появился Shortcodes API
    Примеры:
    {shortcode}
    {shortcode parameter="value"}
    {shortcode parameter="value"}Enclosed Content{/shortcode}
  3. Появился новый хелпер Image для работы с изображениями: ресайз изображения, кроп изображения, конвертирование(png,jpg,gif), наложение водяного знака, фильтры(grayscale, sepia, brightness, colorize, contrast), поворот изображения, создание рамки
  4. Исправлен баг в заголовке страницы плагина карты сайта
  5. Появилась возможность клонировать страницы
  6. Автоматическая генерация карты сайт при добавлении, редактировании, клонирование, удалении страниц
  7. Исправлены функции getPageBreadcrumbs() и getAvailablePages() плагина Pages
  8. Новый Zip модуль и улучшения в Filesystem модуле
  9. Исправлен баг с адресом картинки(логотипа) в инсталяторе
  10. В целях безопасности тег php отключен по умолчанию. Для включения необходимо в Defines константу TEMPLATE_CMS_EVAL_PHP поставить в значение true
  11. Исправлен баг с определением автора страницы в плагине Pages
  12. Cleditor + kcfinder для вставки изображений в текст. thanks to s.mashevsky
  13. Доступные шорткоды из коробки {block name="blockname"} и {siteurl}
  14. Улучшена функция safeName() красивые ссылки создаются еще красивее
  15. Появилась возможность скачивать бекапы администратору находясь в админке.
  16. Исправлен баг с битыми ссылками в плагине Filesmanager
  17. Исправлен баг с удалением вложенных папок и файлов в плагине Filesmanager
  18. Улучшения безопасности системы
  19. Исправления в языковых файлах
  20. Исправлена ссылка для скачивания бекапов из админки

Обновление с 2.0.4 до 2.1.0

Заменить:
  • /admin/
  • /plugins/box/
  • /template_cms/
  • /themes/default/
  • /index.php


Новый формат релизов:
{основная версия}.{дополнительная версия}.{фиксы безопасности} ({Major}.{Minor}.{Security fixes})


Скачать: Template CMS 2.1.0

Класс для работы с Bitbicket API

Писал для себя такой вот класс для работы с бибакетом.
Он позволяет:
+ Получить информацию о репозиториях
+ Получить информацию о конкретном репозитории
+ Создание и удаление репозиториев
+ Получить тикеты
+ Создание, обновление и удаление тикетов
+ Получить список фоловеров
+ Получить список коммитов и конкретные коммиты

Несколько простых примеров:


// Get all repositories
$repositories = Bitbucket::factory('Username')
    ->repositories()
    ->get();

var_dump($repositories);

// Create new repositories
Bitbucket::factory('Username', 'password')
 ->createRepository('repository1', 'hg');

Bitbucket::factory('Username', 'password')
 ->createRepository('repository2', 'git');

// Delete repository
Bitbucket::factory('Username', 'password')
 ->deleteRepository('repository');

// Repository followers
$followers = Bitbucket::factory('Username')
 ->repository('repository')
 ->followers()
 ->get();
 
var_dump($followers); 


Скачать: bitbucket.php.zip

Установка PHPUnit в Ubuntu 11.04

sudo apt-get install php-pear

sudo pear upgrade pear

sudo pear channel-discover pear.phpunit.de
sudo pear channel-discover components.ez.no
sudo pear channel-discover pear.symfony-project.com

sudo pear install --alldeps --force phpunit/phpunit

Tweevalid - php валидатор в один твит!

Написал мини php валидатор размером в один твит! (~117 символов)


class Tweevalid{function __call($v,$a){$m=array('email'=>274,'ip'=>275,'url'=>273);return filter_var($a[0],$m[$v]);}}


Пример использования:


    $valid = new Tweevalid();

    var_dump($valid->email('test@test.com'));
    var_dump($valid->url('http://test.com'));
    var_dump($valid->ip('10.10.10.10'));  

Tweetpl - php шаблонизатор

Написал мини php шаблонизатор размером в один твит! (~130 символов)

class Tweetpl{static function display($f,$v=array()){ob_start();extract($v,1);if(!@include$f)echo'Ooops...';echo ob_get_clean();}}

Пример использования:

$user = 'Awilum';
Tweetpl::display('profile.php', array('user' => $user));

шаблон profile.php
Welcome, <?php echo $user; ?>

Atweet PHP Framework

Написал мини php фреймворк размером в один твит! (~137 символов)

require(__DIR__.'/c.php'); 
if(($a=!empty($_GET['r'])?$_GET['r']:'index')&&(!is_callable($a)||substr($a,0,1)=='_'))die("Ooops...");
$a();

Екшены записывать необходимо в файл c.php.
+ дефолтный нкшен index (обязательный)
+ защищенные экшены записать вот так _action

Пример создания простого приложения на Atweet PHP фреймворке:

Мобильная тема для Template CMS c jQuery Mobile


В этой статье расскажу, как сделать мобильную тему для Template CMS
c jQuery Mobile :)