Archive for the ‘Development’ Category

How to print the sql dump in cake php

by on Wednesday, February 27th, 2013

$db = ConnectionManager::getDataSource('default');
$db->showLog();

How to Setup Adobe Media Server 5 for Recording

by on Thursday, February 7th, 2013

It is a common seen requirement to use Flash to record audio from browser, like the famous singing search site midomi. These days I did a little survey about this, write down some memo here.

There are a lot of resources introducing how to program in ActionScript to send video/audio stream via RTMP protocol. One particular page I found very useful is this. It gives you out-of-box sample application and full source codes, also with complete related JavaScript sample codes. However the author seems using Red5 server, which I found not maintained as well as AMS(Adobe Media Server). Here are some steps to setup AMS5 to work:

Download AMS5 and install it. An Adobe member account is required. I used Windows version.
Open AMS start page and play with it, default location. Test if video streaming is working.
Open AMS admin console and play with it, default location. Here you can view active connections to the server and log.
Replace the application “live” with an unsigned version: backup all contents under path \applications\live\, then delete them; copy all contents under path \samples\applications\live\ to \applications\live. This is based on instructions in \applications\live\readme.txt.
Open \conf\ams.ini, change the line starting with “LIVE_DIR” to
# LIVE_DIR = C:\Program Files\Adobe\Adobe Media Server 5\applications\live
LIVE_DIR = C:\Program Files\Adobe\Adobe Media Server 5\webroot\live_recorded.
Restart AMS5 service: run “Stop Adobe AMS5″ then “Start Adobe AMS5 in start shortcut group of AMS5.
Open the demo page OR click here mentioned above on the AMS5 machine. Use the “Want to test your Red5 install?” part to test your own FMS setup. Fill in “rtmp://localhost/live” and click “Load” button. It should be able to record and play, the file should be saved under \webroot\live_recorded\ as an .flv file.

Using CURLOPT_CAINFO with updated CA bundle causes certificate verify failed

by on Friday, February 1st, 2013

1. Open this link : Click Here.

2. Save the file on your coputer with cacert.pem name.

2. use

curl_setopt($ch, CURLOPT_CAINFO, dirname(__FILE__) . ‘/cacert.pem’);

OR

curl_setopt($ch, CURLOPT_CAINFO, '/path/to/cacert.pem');

How to add symlinks windows 7

by on Thursday, January 31st, 2013

Symlinks via Command Prompt

1. First of all run your command prompt as administrator.

2. type mklink and press enter. and you can see the options.

3. if we choose /D (means directory) then use below command

C:\Windows\system32>mklink /D C:\xampp\htdocs\videorepo “C:\
Program Files\Adobe\Adobe Media Server 5\webroot\live_recorded”

For Referer link: Click Here

CakePHP cake bake command

by on Tuesday, January 8th, 2013

step 1: set path to environment variable. like:

C:\xampp\php;C:\xampp\htdocs\yourproject\lib\cake\console\;

step 2: open command prompt and type

cd C:\xampp\htdocs\yourproject\app  and press enter.

step 3: now type cake bake

now you can see the options there. you can continue accordingly.

Manipulating datastore data after loading

by on Wednesday, December 26th, 2012

var restaurantsStore = this.getStore();
var avg_rating;
restaurantsStore.clearFilter();
if ( restaurantsStore !== undefined )
{
restaurantsStore.load({
callback: function(records, operation, success) {
var proxy = restaurantsStore.getProxy(),
message = proxy.getReader().rawData.message;

if( success === false ){
Ext.Msg.alert('Operation Failed', message);
}
else{
var vendor = records[0].get('vendor');
Ext.getCmp('poweredByContainer').setVendor( vendor );

if( vendor === 'O' ){
for ( var index = 0; index < records.length; index++)
{
var phone = records[index].get('phone');
var recordR = restaurantsStore.getAt(index);
Ext.Ajax.request({
modelInstance: recordR,
url: 'restaurants/call_yelp_api/'+phone,
success: function(response, context){
var text = Ext.decode(response.responseText);
if( text.businesses[0] !== undefined )
avg_rating = text.businesses[0].avg_rating;
context.modelInstance.set('overall_rating', (avg_rating/5)*100);

},
failure: function(response){
var textF = response.responseText;
}
});

}
}

}
},
params: params,
scope: this
});

How can i Do Checkbox state maintain In Paging Grid

by on Friday, December 7th, 2012

Ques: http://www.sencha.com/forum/showthread.php?99255-How-can-i-Do-Checkbox-state-maintain-In-Paging-Grid

Ans: http://www.sencha.com/forum/showthread.php?61282-Ext.ux.grid.RowSelectionPaging&highlight=pagingselection

install mongodb on redhat centos or fedora linux

by on Thursday, November 29th, 2012

install mongo on linux/ubuntu:
1. sudo apt-get install mongodb
2. sudo pecl install mongo
3. echo “extension=mongo.so” >> /etc/php5/apache2/php.ini
4. restart apache
5. restart mongodb ( sudo service mongodb restart/start )
install on centos centos 6.3

1. http://docs.mongodb.org/manual/tutorial/install-mongodb-on-red-hat-centos-or-fedora-linux/
2. Install php-pecl-mongo rpm package: yum install php-pecl-mongo
3. echo “extension=mongo.so” >> /etc/php.ini
4. service httpd restart
5. restart mongodb ( sudo service mongod restart/start )

set allowBlank dynamically in extjs

by on Thursday, November 8th, 2012

myField.allowBlank = true;

myField.validateValue(myField.getValue()); //force update

Convert array to object and object to array in PHP

by on Thursday, November 1st, 2012

convert array to object PHP

$obj = json_decode (json_encode ($var), FALSE);
where $var is an array.

convert object to array PHP

$arr = json_decode( json_encode($var), true);
where $var is an object