Tpoxa's blog. Yii, PHP, jQuery etc | Freelancer Developer Blog

Проект Uwin — существует с марта 2013 года. За это время он значительно изменился, но суть осталась прежняя.
Uwin лучший инструмент для проведения промо акций в социальных сетях.
(далее…)

No tags

Случалось Вам терять что то? Если да тогда мой новый сервис для Вас.

Предлагаю Вашему вниманию http://losted.info новая доска объявлений. (ex imiss-u.com)

Задачи которые решает мой сервис.

Пример:
Кто то потерял фотоаппарат в парке и хочет вернуть хотя бы фотографии. Тем временем кто то нашел фотоаппарат привык к нему а фотки как бы и не нужны.
Обычный вариант когда человек утерявший фотик пишет об этом во всяких пабликах или просит друзей сделать репост.
Но кто захочет выдавать себя что он нашел фотоаппарат, а готов вернуть только фотографии.

(далее…)

No tags

Хочу представить Вам мой сервис который автоматизирует проведение акций вконтакте.
Вот список возможностей сервиса.

  • Отслеживает как лайки так и репосты
  • Следит за тем находится ли человек в указанной группе.
  • Можно создавать неограниченные по времени акции. Акция состоится как только наберется нужное кол-во участников.
  • Используется Signed API Random.org что исключает какие либо подтасовки. Для удобства все резульаты акций можно верифицировать прямо на сайте.
  • Realtime обновление участников и победителей.

Сервис проведения акций вконтакте UWin
Заходите, смотрите, подключайтесь.

No tags

Представляю сервис закладок и сниппетов для программистов.
Список возможностей.

  • Авторизация с помощью социальный сетей.
  • Подсветка синтаксиса при добавлении сниппета.
  • Возможность добавить существующий сниппет в закладки.
  • Лайки и комментарии.

Сайт достаточно новый поэтому сниппетов пока мало их количество будет расти с посетителями сайта (надеюсь)

Сервис сниппетов и закладок для программистов

No tags

Янв/13

15

Yii Google images widget

Даный виджет поможет отобразить на странице изображения полученые в результате поиска с помощью сервиса Google Images Search

Для работы данного виджета Вам не нужно вносить никаких дополнительных настроек

(далее…)

No tags

В свободное время неспешно делаю проект поиска людей с которыми познакомились совершенно случайно.
Чтобы найти человека нужно знать только место и примерное время когда это было.
Поиск должен быть взаимный иначе ничего не получится. Грубо говоря поиск первого человека является результатом для второго. Если Вы не нашли нужного Вам человека значит он не начал Вас искать или не знает про существование этого сервиса(

Сайт конечно же написан на Yii и работает как facebook приложение. База данных — MongoDB (geospatial keys).

Как вы думаете будет ли интересен такой проект кому-либо?
А то меня постоянно одолевают смутные сомнения(

А вот и ссылка на сам сайт Взаимный поиск людей

No tags

Окт/12

24

Yii image resize on the fly

I used this method in my last project. Could be useful for someone.

Requirements.

  • Yii based application
  • Enabled path UrlFormat for UrlManager
  • All rewrites rules shout be written (.htaccess or any other conf)
  • Image  extension for Yii installed  ( http://www.yiiframework.com/extension/image/ )

How it’s works.

For example have folder with resources which are public accessible

/resources/images/avatars/*
/resources/images/posters/*
/resources/images/photos/*
/resources/images/photos/album1/*

Ordinary image displaying would be

<?php echo CHtml::image("/resoures/images/photos/album1/gh53.jpg"); ?>

If we want to get thumbnail of this picture we just have to change a bit url

<?php echo CHtml::image("/resources/thumbs/images/photos/album1/gh53.jpg_200x300.jpg"); ?>

Pretty simple? Is not it?

Code

To get this working we have to create new Controller with id resources here its code.

<?php
 
class ResourcesController extends Controller {
 
    public function actionThumbs() {
 
        $request = str_replace(DIRECTORY_SEPARATOR . 'thumbs', '', Yii::app()->request->requestUri);
 
        $resourcesPath = Yii::getPathOfAlias('webroot') . $request;
        $targetPath = Yii::getPathOfAlias('webroot') . Yii::app()->request->requestUri;
 
 
        if (preg_match('/_(\d+)x(\d+).*\.(jpg|jpeg|png|gif)/i', $resourcesPath, $matches)) {
 
            if (!isset($matches[0]) || !isset($matches[1]) || !isset($matches[2]) || !isset($matches[3]))
                throw new CHttpException(400, 'Non valid params');
 
            if (!$matches[1] || !$matches[2]) {
                throw new CHttpException(400, 'Invalid dimensions');
            }
 
            $originalFile = str_replace($matches[0], '', $resourcesPath);
            if (!file_exists($originalFile))
                throw new CHttpException(404, 'File not found');
 
 
            $dirname = dirname($targetPath);
            if (!is_dir($dirname))
                mkdir($dirname, 0775, true);
 
 
            $image = Yii::app()->image->load($originalFile);
            $image->resize($matches[1], $matches[2]);
 
            if ($image->save($targetPath)) {
                if (Yii::app()->request->urlReferrer != Yii::app()->request->requestUri)
                    $this->refresh();
            }
 
            throw new CHttpException(500, 'Server error');
        } else {
            throw new CHttpException(400, 'Wrong params');
        }
    }
 
}

What was it?

After first attempt to thumb url /resources/thumbs/images/photos/album1/gh53.jpg_200x300.jpgthumb action will be triggered because file won’t found on disk.

Script will try to find location of the original source file here /resources/images/photos/album1/gh53.jpg

If source file exists it will be resized and stored here /resources/thumbs/images/photos/album1/gh53.jpg_200x300.jpg

Then script will refresh the url page and after that browser will open newly created thumbnail file directly from disk!

Quite easy!

You can extend this script to support only list of dimensions to avoid disk overflow.

That is all.

Comments are appreciated. Thanks.

 

 

No tags

Давно собирался сделать СДЛ чтобы был качественный и полезный.

Выбор пал на проект с предварительным название Photobook

Project codename Photobook  Сервис хранения и составленяи фотоальбомов. Основная фича это то что альбом выглядит как настоящий альбом который можно листать. Идея в том что у пользователь сможет загружать огромное кол-во фотографий и составлять из них альбомы. Альбомы могут быть как приватные так и общедоступные. Понравившийся альбом пользователь может заказать и его сделают для него в печатном виде. (нужно партнерство с полиграфической студией)

Основные требования

  1. Никакого флеша — ни при создании книги ни при ее просмотре ( html5, css3)
  2. Поддержка всех устройств (ipad,iphone,android)
  3. Неограниченое кол-во страниц.
  4. Поддержка видео.
  5. Поддержка анимации
  6. ImageMagick
  7. Поддержка Amazon S3  или др

 

Идеальным для просмотра книги я вижу скрипт http://www.turnjs.com/

Продолжение следует.

No tags

Июн/12

28

Yii extension inifinite-scroll-pager

Вот мой первый extension в оффициальной директории Yii

 

http://www.yiiframework.com/extension/inifinite-scroll-pager/

No tags

Приобрел себе недавно этот девайс на Ebay. Приехал он с корейской прошивкой версии 1.038 соответственно голосовые подсказки на корейском языке.
На офф сайте на данный момент лежит последняя 1.040 — прошивка с англоязычными подсказками. Прошив ее я обнаружил что регистратор не хочет включаться заявив что версия прошивки и программного обеспечения не совпадает. «version information is different» .
Погуглив оказалось что с версии 1.038 регистраторы предназначенные для Кореи не прошиваются на отличные от корейского языки. (далее…)

No tags

Older posts >>

Theme Design by devolux.nh2.me