3 августа 2009 г.

Установка и запуск cygwin crontab

cygrunsrv -I cron -p /usr/sbin/cron -a -D
net start cron
45 18 * * * /cygdrive/c/Al/Reports/do_nightly_wget.sh 2> /dev/null

1 февраля 2009 г.

Как добавить новую запись в Ext.data.Store с помощью методов add() или insert()?

Conf.boxRecord = new Ext.data.Record.create([
 {name: 'name_id'},
 {name: 'name'},
 {name: 'descr_short'},
 {name: 'img_name'},
 {name: 'annot'}
]);

Conf.boxDataStore = new Ext.data.Store({
[...]
 reader: new Ext.data.JsonReader({
   totalProperty: 'total',
   root: 'data'
  },
  Conf.boxRecord
 ),
 listeners: {
  add: function(){
   alert('add');// выпрыгнет, когда запись будет добавлена
  }
 }
});

Conf.boxDataStore.add(new Conf.boxRecord({
 name: 'Name',
 descr_short: 'zzzz'
}));

28 января 2009 г.

Как удалить элемент с панели Ext.Toolbar?

Ext.getCmp('personal-bar-login-button').getEl().parent().remove();
или
Ext.fly('personal-bar-login-button').parent().remove();
Где personal-bar-login-button — id удаляемого элемента.
Второй вариант быстрее, по идее.

16 января 2009 г.

Как узнать разрешение экрана на КПК с Windows Mobile

А очень просто:

MessageBox.Show(Screen.PrimaryScreen.Bounds.Width + "x" + Screen.PrimaryScreen.Bounds.Height);

15 января 2009 г.

Как на C# создать список, содержащий экземпляры Panel

// создаем массив
System.Collections.Generic.List panels = new System.Collections.Generic.List();
[...]
// формируем
Panel panelTmp = new Panel();
panels.Add((Panel)panelTmp);
[...]
// обход массива
for (int i = 0; i < panels.Count; i++)
{
       Panel panelTmp = panels[i];
}


Еще:
How to create Control Array in C#
An array of panels?

Основы C#

www.robinland.com/csharp-basis

8 января 2009 г.

Где хранятся координаты всех иконок на рабочем столе?

[HKEY_CURRENT_USER\Software\Microsoft\Windows\Shell\Bags\1\Desktop]

ItemPos1024x768(1) = "а тут имена значков и их координаты"

Отсюда

1 декабря 2008 г.

Как получить родительский GridPanel из обработчика на Toolbar.Button

var node = this.getEl().up('div[@class*=x-grid-panel]');
var grid = new Ext.grid.GridPanel({
 tbar: [
  {
   text: 'Свернуть/развернуть группы',
   handler: function(){
    var node = this.getEl().up('div[@class*=x-grid-panel]');
    if(!Ext.isEmpty(node)){
     var cmp = Ext.getCmp(node.id);
     if(cmp.getXType() == 'grid'){
      cmp.getView().toggleAllGroups();
     }
    }
   }
  }
 ]
});

MooTools Essentials

«MooTools Essentials: The Official MooTools Reference for JavaScript™ and Ajax Development» by Aaron Newton

ISBN-13 (electronic): 978-1-4302-0984-3
ISBN-13 (paperback): 978-1-4302-0983-6

http://torrents.ru/forum/viewtopic.php?t=1265725

30 ноября 2008 г.

Баг в Multi User Wordpress

В Multi User Wordpress, с установленным плагином Multi-Site Manager имеется проблема с управлением дополнительными хостами (не с основным site.com и sub.site.com, а с site2.com и site3.com), т. е. ими невозможно рулить с полными админовскими правами. Нельзя разрешить темы, нельзя активировать плагины и т. п. Хотя, казалось бы, все настроено правильно.

Чтобы решить эту проблему, необходимо добавить в таблицу `wp_sitemeta` добавить записи для нужных хостов, в которой перечислены админские имена, взяв за основу поле `meta_value` из записи с `meta_key` = 'site_admins', из строки заведомо рабочего хоста (обычно это самый первый, основной хост, с `site_id` = 1). Ессно, вместо `site_id` исходной записи, нужно поставить `site_id` нужного хоста (можно посмотреть в таблице `wp_site`).

Запрос должен выглядить примерно так:

INSERT INTO `wordpress_mu`.`wp_sitemeta` (`meta_id`, `site_id`, `meta_key`, `meta_value`) VALUES (NULL, '4', 'site_admins', 'a:2:{i:0;s:5:"admin";i:1;s:7:"other_admin";}')

9 сентября 2008 г.

Хранение IP-адреса в базе данных

SELECT INET_ATON("209.207.224.40");

Вернет число 3520061480

SELECT INET_NTOA(3520061480);

Вернет строку "209.207.224.40"

Т.е., записывать ip в бд можно так:

INSERT INTO log (ip) VALUES (INET_ATON("209.207.224.40"));

Читать:

SELECT INET_NTOA(ip) FROM log;
Ах, да, поле в бд должно быть INT(10).

30 августа 2008 г.

Автоматическая загрузка объектов

Большинство разработчиков объектно-ориентированных приложений создают для каждого определения класса отдельный файл с кодом PHP. Одной из самых больших неприятностей в этом случае является необходимость писать в начале каждого скрипта длинный список подгружаемых файлов.

Если используется PHP 5, то делать это не обязательно. Вы можете определить функцию __autoload, которая автоматически вызывается в том случае, когда вы пытаетесь использовать класс/интерфейс, который не был определен ранее. Вызов этой функции - это последний шанс для интерпретатора загрузить класс прежде, чем он закончит выполнение скрипта с ошибкой.

<?php
function __autoload($class_name) {
    require_once 'cms/class/'.$class_name.'.php';
}

$obj  = new MyClass1();
$obj2 = new MyClass2(); 
?>

Источник

Архив блога

Поиск