Programming and Exciting Things

[php] Kohana + Zend Framework интеграция

Published on 01.07.2010

Не е тайна че обичам Kohana, не просто обичам а я обожавам, но пък Zend Framework никак не е за подценяване, има много готови библиотеки една от които е разработената с Google - Google Gdata, която дава възможност за достъп до API то на Youtube, Google Calendar, Google Docs, Picasa .... и още много други... И какво правим когато искаме да използваме тези класове за проект който се пише с Kohana framework ? Ето какво 1. Сваляме gdata библиотеката, разархивираме я в system/vendors/Zend/ 2. Отиваме в application/libraries/ 3. Създаваме файл Zend.php 4. Добавяме следното съдържание в създадения по рано файл

 
<?php 
class Zend {
    /**
     * Returns a singleton instance of URI.
     *
     * @return  object
     */
    public static function instance($class = NULL) {
        static $instance;
        // Create the singleton
        if ($instance == NULL) {
            // Initialize the URI instance
            $instance = new Zend($class);
        } else {
            $instance->load($class);
        }
        return $instance;
    }
    /**
     * Constructor
     *
     * @param	string $class class name
     */
    function __construct($class = NULL) {
        // include path for Zend Framework
        // alter it accordingly if you have put the 'Zend' folder elsewhere
        ini_set('include_path', ini_get('include_path').PATH_SEPARATOR.APPPATH.'vendors');
        if ($class) {
            require_once (string) $class.EXT;
            //Log::add('debug', "Zend Class $class Loaded");
        } else {
            //Log::add('debug', "Zend Class Initialized");
        }
    }
    /**
     * Zend Class Loader
     *
     * @param	string $class class name
     */
    function load($class) {
        require_once (string) $class.EXT;
        //Log::add('debug', "Zend Class $class Loaded");
    }
}

5. Запазваме И това е ! Начина на използване е следният
 public function youtube() {
        Zend::instance('Zend/Gdata/ClientLogin');
        Zend::instance('Zend/Gdata/YouTube');

.... вашият код .....
   }
ПС: това е за Kohana 2.x версията. За 3.x все още не ми се е налагало но предполагам метода е същият.

Външен достъп до mysql базите данни на хостинг провайдъра

Published on 29.06.2010

Както знаете повечето (всички) хостинг доставчици не разрешават отдалечен достъп до базата данни (в случая mysql). За разглезани хлапета като мен, които си харесват GUI приложенията това е малко кофти. Интересното е че същитете тези хостинг доставчици предлагат SSH достъп до акаунта, което е добре дошло и ще ни свърши перфектна работа. Та какво ни трябва ? 1. plink.exe 2. HeidiSQL 3. SSH достъп до акаунта сваляме plink.exe някъде на хард диска отваряме HeidiSQL натискаме бутончето New и създаваме нов профил, от Network type избираме SSH тунел Избор на мрежовия тип конфигурация в HeidiSQL настройките за User/Pass си ги нагласяте спрямо mysql user/pass за достъп на хостинг акаунта. След това превключвате табчето горе на SSH tunnel Избор на настройки за SSH тунел на HeidiSQL попълвате полетата за host,user,pass, ако разполагате и с pkk добавяте и него, поглеждате още веднъж дали всичко е както трябва и смело натискате Open и само след това сте в базата си данни :) На мен лично ми върши чудесна работа и не ми се налага да влизам през putty или чрез phpMyAdmin, да ровичкам по базата. PS: За HeidiSQL ще пиша някой следващ ден :)

[php] премахане на всички img тагове от string

Published on 28.06.2010

function remove_image_from_strings($content) {
		$content = preg_replace("/<img[^>]+\>/i", "", $content); 
		return $content;
	}
Още една малка фунцкия която от подаден стринг ичиства всички < img > тагове

Намиране и извеждане на изображенията от подаден стринг (php)

Published on 28.06.2010

    /**
     * Намиране и извеждане само на снимките от даден стринг
     * @param string $data
     * @return array images
     */
    function find_images($data) {
        $images = array();
        preg_match_all('/(img|src)\=(\&quot;|\')[^\&quot;\'\&gt;]+/i', $data, $media);
        unset($data);
        $data = preg_replace('/(img|src)(\&quot;|\'|\=\&quot;|\=\')(.*)/i', &quot;$3&quot;, $media[0]);
        foreach ($data as $url) {
            $info = pathinfo($url);
            if (isset($info['extension'])) {
                if (($info['extension'] == 'jpg') || ($info['extension'] == 'JPG') || ($info['extension'] == 'jpeg') || ($info['extension'] == 'gif') || ($info['extension'] == 'png'))
                    array_push($images, $url);
            }
        }
        return $images;
    }
Една малка функция която "събира" всички изборажение (хтмл таг [html]<img>[/html]) в масивче.

Успешен upgrade на Wordpress

Published on 26.06.2010

И така след няколко разменини е-mail съобщения с Superhosting вече и аз си обнових версията на Wordpress. Не смятам да пиша кои са новостите нито да хваля излишно платформата, но си заслужава да се отбележи че на пръв поглед всичко което ползвам работи без проблеми, което си е приятна изненада спрямо предишнимия ми опит с обновяването на други open source системи като joomla. Новата тема на административния интерфейс леко ме дразни но предполагам че ще свикна и с него :)