Интересно почитать… Блог в котором есть много интересной информации…

5 марта 2013

Проходим тестирование на C++ разработчика в Яндексе

Категория: программирование — dmitriano @ 14:20

У них тест состоит из четырех простых вопросов

Первый вопрос

Перепишите код, устранив имеющиеся в нём проблемы, но не изменяя функцию main

class Foo
{
public:
    Foo(int j) { i=new int[j]; }
    ~Foo() { delete i; }
private:
    int* i;
};

class Bar: Foo
{
public:
    Bar(int j) { i=new char[j]; }
    ~Bar() { delete i; }
private:
    char* i;
};


void main()
{
    Foo* f=new Foo(100);
    Foo* b=new Bar(200);
    *f=*b;
    delete f;
    delete b;
}

(далее…)

29 января 2013

Установка базы IP адресов со странами и городами

Категория: программирование — dmitriano @ 17:01

Нашел в интерне базу IP адресов с городами, ссылки: http://habrahabr.ru/post/120872/, http://netload.biz/2011/12/31/geoip5/ . База неточная, но лучше чем ничего. Поставить её несложно, однако, при установке самой базы и обновления были некоторые нюансы, может быть кому-то будет интересно почитать…

(далее…)

9 января 2013

Ввод времени доставки заказа в VirtueMart 1.9.x – показываем русский день недели на PHP

Категория: программирование — dmitriano @ 14:10

Страничка подтверждения заказа сидит в файле components/com_virtuemart/themes/vm_mynxx/templates/checkout/get_final_confirmation.tpl.php. Там была строчка:

<?php echo $VM_LANG->_('PHPSHOP_CHECKOUT_CUSTOMER_NOTE') ?>:<br />

Чтобы пользователь знал какое сегодня число и вводил удобное ему время доставки, можно заменить её на следующий код:

<div style="font-size: 80%; color: green">
сегодня:
<?php
$tomorrow = mktime(0,0,0,date("m"),date("d"),date("Y"));
echo get_russian_date($tomorrow, true);
?>
</div><br />
Укажите, пожалуйста, удобное для вас время и место встречи с курьером, например:<br />
<div style="font-size: 80%;">
завтра,
<?php
$tomorrow = mktime(0,0,0,date("m"),date("d")+1,date("Y"));
echo get_russian_date($tomorrow, true);
?>
с 15:00 до 19:00 по указанному адресу<br />

Код функции get_russian_date есть в статье Русские даты на PHP.

(далее…)

7 января 2013

Скоро будет VirtueMart 2.1

Категория: программирование — dmitriano @ 0:04

Они напряженно работали целый год и в середине января 2013 собираются выпустить новый VirtueMart 2.1. Также они признают, что VirtueMart 2.0 был сыроват.

Интересно, что в текущей версии VirtueMart 2.0.16 теперь можно указывать нулевую цену, и при этом использовать Custom Fields:

— prices can be set easily to 0, removing the whole price tables is possible now and so removing the whole price entry
— show customfields and cart customfields, even price is set to 0

5 декабря 2012

Как показать большое фото товара в VirtueMart 1.9.x

Категория: программирование — dmitriano @ 8:06

На страницу товара “flypage-ask.tpl” добавляем следующий код:

echo $product_image . "<br>" . $product_full_image . "<br>" . $product_thumb_image . "<br>";

$imagePath = "$mosConfig_absolute_path/components/com_virtuemart/shop_image/product/$product_full_image";

$imageURL = "$mosConfig_live_site/components/com_virtuemart/shop_image/product/$product_full_image";

$imgSize = getimagesize($imagePath, $info);

$imgW = $imgSize[0];

$imgH = $imgSize[1];

echo "$imageURL : $imgW<br>$imgH<br>"; 

if ($imgW > 400)
{
    ?>
        <img src="<?php echo $imageURL; ?>" alt="<?php echo $product_name; ?>" width="400">
    <?php    
}

(далее…)

2 декабря 2012

Выбираем карту сайта Sitemap для WordPress

Плагин BWP Google XML Sitemaps генерирует для постов что-то странное:

Sitemap для WordPress

(далее…)

28 ноября 2012

Как увеличить длину адреса в VirtueMart 1.9

Категория: программирование — Метки: — dmitriano @ 18:25

Сначала заходим в базу и меняем длину полей в таблицах jos_vm_user_info и jos_vm_order_user_info:

ALTER TABLE `jos_vm_order_user_info` CHANGE `address_2` `address_2` VARCHAR( 255 ) CHARACTER 
SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL 

затем меняем длину полей в админке:

SNAGHTMLe533bc3

(далее…)

24 июля 2012

Как удлинить краткое описание товара в VirtueMart 1.9х

Категория: программирование — dmitriano @ 21:13

Сначала смотрим, что краткое описание в VirtueMart 1.9 имеет тип

`product_s_desc` varchar(255) DEFAULT NULL

проверить это можно с помощью команды

show create table jos_vm_product;

затем удлиняем его до 512 символов

alter table jos_vm_product modify product_s_desc varchar(512) DEFAULT NULL;

20 июля 2012

Подписка на новости ВКонтакте

Категория: программирование — dmitriano @ 2:29

image

открывается такое всплывающее окно

Модификация шаблона WordPress “Star”

Категория: программирование — dmitriano @ 2:09

Из файла header.php удаляем не нужный слайдер, комментируем строку 39:

//Add the Slider
//get_template_part('slider');

(далее…)

1 июля 2012

Вышел новый VirtueMart 2.0.8

Категория: программирование — Метки: — dmitriano @ 15:07

В версии VirtueMart 2.0.8 добавилась новая функциональность “Dynamic child variants can now be configured, if displaying parent as option or not.”, также интересно, что они планируют

  • Combining the plugin stockable variant with dynamic child variant of the core.
  • A new layout for a kind of vm1 product types (you can order a lot of different variants of one product in one view)
  • Bootstrap (for joomla 3.0)

Также, они говорят, что “most features are written by community members”, поэтому торопится с установкой VirtueMart 2 пока смысла нет, возможно, через год ситуация прояснится Улыбка

16 июня 2012

Новости XML-RPC интерфейса WordPress

Категория: программирование — dmitriano @ 16:36

Теперь XML-RPC интерфейса WordPress поддерживает произвольные типы записей и таксономий см. http://codex.wordpress.org/XML-RPC_WordPress_API, однако Windows Live Writer их пока не поддерживает.

9 мая 2012

Обновляем Joomla 1.5.23 + VirtueMart 1.1.9 до Joomla 2.5 + VirtueMart 2.0.6

Категория: программирование — dmitriano @ 18:26

Обновление Joomla

Сначала нужно обновить Joomla, для этого проделываем следующие действия:

  1. Скачиваем и устанавливаем jUpgrade (для этого нужно зарегистрироваться на сайте разработчика).
  2. Идем в Administrator > Components > jUpgrade > Parameters и там настраиваем префикс для новых таблиц, по умолчанию это будет j25_.
  3. Обновляем Joomla через jUpgrade согласно вот этой инструкции: Joomla! Tutorials: Using jUpgrade to Migrate from 1.5 to 1.6. (после обновления в папке jupgrade мы получим Joomla в без 3-d party модулей и соответственно без VirtueMart, однако таблицы VirtueMart останутся в базе).
  4. Копируем в папку jupgrade недостающие скрипты, которые не были скопированы при обновлении, например у меня это libraries/shared. Также Копируем картинки старого VirtueMart-а 1.1.9 из components/com_virtuemart/shop_image/ в новый сайт в каталог images/stories/virtuemart/. После чего весь старый сайт удаляем, к всё файлы из папки jupgrade копируем в корень.
  5. Инсталлируем Русский Язык для Joomla 2.5 – там одни пакет для сайта и админки.

(далее…)

25 апреля 2012

Новости по VirtueMart 2.0 – вышла версия 2.0.6

Категория: программирование — Метки: — dmitriano @ 12:07

Версия VirtueMart 2.0.6 не включает новую функциональность по сравнению с 2.0.4, зато в ней появился полный перевод на русский язык.

Кроме того, они заявляют, что хотят реализовать “pricing table, for different prices per product” – не очень понятно, что это такое, возможно это что-то связанное с такими понятиями как discount и price quantity range.

Разработчики VirtueMart признают, что обновление VirtueMart-а работает нестабильно. У меня лично в /etc/php5/apache2/php.ini прописаны следующие параметры:

max_execution_time = 90
memory_limit = 512M

однако обновление с 2.0.2 до 2.0.6 у меня тоже не сработало, при том, что Joomla обновилась нормально.

18 марта 2012

Как я починил капчу для WordPress плагина Quick Post Widget

Категория: программирование — Метки: — dmitriano @ 2:16

Quick Post Widget использует вот такую ссылку для показа капчи:

https://slogpost.ru/wp-content/plugins/quick-post-widget/utils/captcha/CaptchaSecurityImages.php?characters=6

и вот такой код для добавления картинки с меткой:

<p><label for="quick_post_captcha_input" class="quick_post_label" style="<?php echo $label_style; ?>"><?php echo $captcha_label; ?></label><br />
<input id="quick_post_captcha_input" name="quick_post_captcha_input" type="text" style="<?php echo $captcha_input_style; ?>"/><br />
<img id="quick_post_captcha_image" style="<?php echo $captcha_image_style; ?>" src=<?php echo $qpw_plugin_url . 'utils/captcha/CaptchaSecurityImages.php?characters=6' ?> /></p>

Будет эта капча работать или нет зависит от настроек путей к шрифтам. На моем сервере шрифт указанный вот таким образом в текущем каталоге не находился:

class CaptchaSecurityImages {

    var $font = 'monofont.ttf';

    ...
} 

(далее…)

15 марта 2012

Регистрация в VirtueMart через ВКонтакте

Категория: программирование — Метки: — dmitriano @ 1:50

Регистрация через ВКонтакте достаточно полезная вещь, так как пользователю при регистрации и авторизации не нужно вводить пароль. Вот, например как работает регистрация через ВКонтакте у Яндекса:

Сначала Яндекс выдает вот такое окно с предупреждением:

image

(далее…)

12 марта 2012

Тестируем PHP функцию preg_split

Категория: программирование — dmitriano @ 12:14

Без параметра PREG_SPLIT_NO_EMPTY функция ведет себя немного странно – в этом примере она выдаёт три пробела в начале, а пробелы в середине не выдает. Поэтому всё таки лучше этот параметр всегда использовать.

<?php
$str = '   hypertext language programming';

$chars = preg_split('/ /', $str, -1, PREG_SPLIT_OFFSET_CAPTURE | PREG_SPLIT_NO_EMPTY);

//$chars = preg_split('/( )/', $str, -1, PREG_SPLIT_OFFSET_CAPTURE | PREG_SPLIT_NO_EMPTY);

//$chars = preg_split('/ /', $str);

print_r($chars);
?>

в данном случае, на выходе всё нормально:

Array ( [0] => Array ( [0] => hypertext [1] => 3 ) [1] => Array ( [0] => language [1] => 13 ) [2] => Array ( [0] => programming [1] => 22 ) )

9 марта 2012

Ставим VirtueMart 2.0.2

Категория: программирование — Метки: — dmitriano @ 21:20

После того, как мы успешно поставили Joomla 2.5, ставим компонент VirtueMart-а, после его установки появляется вот такой экран:

virtuemart-installation-success

(далее…)

15 февраля 2012

Чиним ссылку в подтверждающем письме, странности VirtueMart 1.19

Категория: программирование — Метки: — dmitriano @ 14:59

Шаблон подтверждающего письма находится в файле components/com_virtuemart/themes/vm_mynxx/templates/order_emails/confirmation_email.tpl.php, в нем есть вот такой код:

if( VM_REGISTRATION_TYPE != 'NO_REGISTRATION' ) {
    $footer_html .= "<br /><a title=\"".$VM_LANG->_('PHPSHOP_CHECKOUT_EMAIL_SHOPPER_HEADER5')."\" href=\"$order_link\">"
    . $VM_LANG->_('PHPSHOP_CHECKOUT_EMAIL_SHOPPER_HEADER5')."</a>";
}

строковая константа сидит тут:

./administrator/components/com_virtuemart/languages/common/russian.php: 'PHPSHOP_CHECKOUT_EMAIL_SHOPPER_HEADER5' => 'Чтобы просмотреть заказ, проследуйте по ссылке ниже.',

(далее…)

2 февраля 2012

Меняем пароль у Joomla юзера

Категория: программирование — Метки: — dmitriano @ 2:42

Ищем юзера:

SELECT * FROM `jos_users` WHERE `username`='Алиса'

Запоминаем старый пароль и задаём новый:

UPDATE `beauty`.`jos_users` SET `password` = MD5( 'Ahphe0na' ) ,
`params` = '' WHERE `jos_users`.`id` =334;

возвращаем старый пароль:

UPDATE `beauty`.`jos_users` SET `password` = '******************' WHERE `jos_users`.`id` =334;
« Newer PostsOlder Posts »

SlogPost.ru