Thursday, December 15, 2011

flashfxp use private key

To use only private key in flashfxp

you need upgrade flashfxp to 4.0+

make sure connection type is sftp over ssh

in connection -> key manager -> import certificate

choose RSA/DSA key for SFTP

give a name of the certificate, can be anything

choose your private key file

enter your password if there's one

then save it

not finished yet!!!


after you save the certificate, make sure you selected it in your key manager, then you will be able to connect to your site via ssh

Tuesday, December 06, 2011

sfConfig in tasks to access app.yml

When you load a task, there is no application defined.

so you cannot get any app.yml definition.


for that you need to specify an application when you call the tasks ex:

symfony project:do-nothing --application="frontend"


and then you will be able to get the value of sfConfig::get('app_sender_email')

It should be possible to setup a default application, but i didn't find it out.

Friday, December 02, 2011

Functions to Import/Export CSV data utf-8

Documentation

CSVEport()

This function has just one argument - the query that returns the necessary data to be exported.

Example: CSVExport("SELECT name,username,email,url FROM User WHERE status=1");

CSVImport()

This will upload a CSV file and import the data into the specified table. This function must have the following arguments...

$table
The name of the table the data must be imported to
$fields
An array of fields that will be used
$csv_fieldname
The name of the CSV file field

Example: CSVImport("User", array('name','username','email','url'), "csv_file");

Code

<?php
//Get the result of the query as a CSV stream.
//http://www.bin-co.com/php/scripts/csv_import_export/
function CSVExport($query) {
    
$sql_csv mysql_query($query) or die("Error: " mysql_error()); //Replace this line with what is appropriate for your DB abstraction layer
    
    
header("Content-type:text/octect-stream");
    
header("Content-Disposition:attachment;filename=data.csv");
    while(
$row mysql_fetch_row($sql_csv)) {
        print 
'"' stripslashes(implode('","',$row)) . "\"\n";
    }
    exit;
}

//Import the contents of a CSV file after uploading it
//http://www.bin-co.com/php/scripts/csv_import_export/
//Aruguments : $table - The name of the table the data must be imported to
//                $fields - An array of fields that will be used
//                $csv_fieldname - The name of the CSV file field
function CSVImport($table$fields$csv_fieldname='csv') {
    if(!
$_FILES[$csv_fieldname]['name']) return;

    
$handle fopen($_FILES[$csv_fieldname]['tmp_name'],'r');
    if(!
$handle) die('Cannot open uploaded file.');

    
$row_count 0;
    
$sql_query "INSERT INTO $table("implode(',',$fields) .") VALUES(";

    
$rows = array();

    
//Read the file as csv
    
while (($data fgetcsv($handle1000",")) !== FALSE) {
        
$row_count++;
        foreach(
$data as $key=>$value) {
            
$data[$key] = "'" addslashes($value) . "'";
        }
        
$rows[] = implode(",",$data);
    }
    
$sql_query .= implode("),("$rows);
    
$sql_query .= ")";
    
fclose($handle);

    if(
count($rows)) { //If some recores  were found,
        //Replace these line with what is appropriate for your DB abstraction layer
        
mysql_query("TRUNCATE TABLE $table") or die("MySQL Error: " mysql_error()); //Delete the existing records
        
mysql_query($sql_query) or die("MySQL Error: " mysql_error()); // and insert the new ones.

        
print 'Successfully imported '.$row_count.' record(s)';
    } else {
        print 
'Cannot import data - no records found.';
    }

if you have trouble to export as utf-8

you can try add BOM header