вторник, 23 февраля 2010 г.

Как заставить сотрудничать Smarty и Form Helper из CodeIgniter

Так как, при использовании шаблонизатора Smarty, ограничивается использование PHP-тегов, необходимо искать другие пути.

Один из них это разработка плагина для Smarty.
Немного покопавшись, я нашёл готовый, но меня не устроил ограниченный набор передаваемых параметров.

Поэтому я допилил до следующего вида:



  1. <?php


  2. /*


  3.  Author: Svetoslav Marinov; svetoslavm [] gmail.com


  4.  Inspired by: http://codeigniter.com/wiki/Use_URL_helper_from_Smarty/


  5.  Modified: Dmitriy S. Aleshkowsky; to.wwarlock [] gmail.com


  6.  */




  7. function smarty_function_form($params, &$smarty)


  8. {


  9.     //check if the needed function exists


  10.     //otherwise try to load it


  11.     if (!function_exists('form_open')) {


  12.         //return error message in case we can't get CI instance


  13.         if (!function_exists('get_instance')) return "Can't get CI instance";


  14.         $CI =& get_instance();


  15.         $CI->load->helper('form');


  16.     }




  17.     // Making it more complex


  18.     if (isset($params['url'])) {


  19.         $url = $params['url'];


  20.         unset ($params['url']);


  21.         if ($params['type'] == 'upload')


  22.         {


  23.             unset ($params['type']);


  24.             return form_open_multipart($url, $params);


  25.         } else {


  26.             return form_open($url, $params);


  27.         }


  28.     } elseif (empty($params)) {


  29.         return form_close();


  30.     }


  31. }


  32. ?>

Согласно API можно ещё добавить параметры для скрытых полей, однако у меня не было в них необходимости, поэтому я намеренно не стал их реализовывать.

понедельник, 8 февраля 2010 г.

Грядёт DirectX 10/11 поверх Gallium3D.

Gallium3D - это драйверная архитектура для ускорения различного спектра API, от OpenGL ES и OpenVG, и до OpenGL и OpenCL.

Со слов Майкла Ларабэля (Michael Larabel) стало известно, что с помощью данной прослойки через какое-то время будет возможно поддерживать и Microsoft's DirectX API.

Ходят слухи, что Tungsten Graphics, создатель Gallium3D, уже имеет работающий DirectX среди своих наработок.
VMware, которая является владельцем Tungsten Graphics в настоящее время, использует открытую драйверную архитектуру в своей платформе виртуализации для аппаратного ускорения гостевых операционных систем с помощью GPU, и для них такая поддержка чертовски важна.

Зак Расин (Zack Rusin) подтвердил, что среди новых возможностей Gallium3D, над которыми сейчас работают это OpenCL 1.0, DirectX 10.0/10.1, и DirectX 11.0.
Много работы уже сделано, и ещё больше предстоит сделать, до завершении работ пока далеко.
Хотя поддержка DirectX в Gallium3D безусловна интересна, но мы больше ждём поддержки OpenGL 3.x.

Технические подробности о новых трекерах состояний ищите в блоге Зака.

Myst Online:URU Live стала вновь доступна для игроков

Игра Myst Online:URU Live стала вновь доступна для игроков. Были открыты все эпохи.
Цена доступная: Бесплатно. Однако не отказываются от пожертвований через PayPal.
Так же, компания Cyan Worlds планирует в скором времени открыть исходные коды и надеется на помощь сообщества.
Все любители закадок Welcome.
P.S. К сожалению, клиент игры доступен только для подоконников, но уверен, что с открытием сырцов, версии для других платформ не заставят себя ждать.