PHP

Warning: ftp_mkdir(): Switching to ASCII mode.

Afin d'éviter cette erreur, il suffit de passer en mode FTP passif avec la fonction ftp_pasv() :

// Mise en place d'une connexion basique
$conn_id = ftp_connect($ftp_server);

// Identification avec un nom d'utilisateur et un mot de passe
$login_result = ftp_login($conn_id, $ftp_username, $ftp_password);

// Activation du mode passif
ftp_pasv($conn_id, true);

Tags:

[PHP] Sécuriser CKFinder dans Zend Framework

CKFinder est le filemanager de CKEditor, lors de sa configuration, il faut le sécuriser, pour cela, il a une fonction "CheckAuthentication()" qui retourne false par défaut.

dans le cadre d'un zend framework, le sécurisation peut se faire comme suit :

session_start();
function CheckAuthentication()
{
	// WARNING : DO NOT simply return "true". By doing so, you are allowing
	// "anyone" to upload and list the files in your server. You must implement
	// some kind of session validation here. Even something very simple as...

	// return isset($_SESSION['IsAuthorized']) && $_SESSION['IsAuthorized'];

	// ... where $_SESSION['IsAuthorized'] is set to "true" as soon as the
	// user logs in your system. To be able to use session variables don't
	// forget to add session_start() at the top of this file.

	//return true;

    return !empty($_SESSION['Zend_Auth']['storage']);
}

[Magento] check if prodcut is new

here is the code :) (à mettre dans un helper de module)

public function isProductNew($product) {
        $today = Mage::app()->getLocale()->date()->toString(Varien_Date::DATETIME_INTERNAL_FORMAT);
        $new_from = $product->getData('news_from_date');
        $new_to   = $product->getData('news_to_date');

        return ($new_from && $new_from <= $today && (!$new_to || $new_to >= $today));
}

Exemple d'appel dans le template :

if($this->helper('MONMODULE')->isProductNew($_product)):
    echo 'Nouveauté';
endif;

[PHP]Faire un str_replace sur tout un tableau

voici la fonction :

function str_replace_array($search, $replace, $subject) {
    if(is_array($subject)) {
        foreach($subject as $index => $val) {
            $subject[$index] = str_replace_array($search, $replace, $val);
        }
        return $subject;
    } else {
        return str_replace($search, $replace, $subject);
    }
}

Tags:

[PHP]S'assurer qu'un script s'exécute en CLI

ceci évite à des scripts prévus pour fonctionner sous CLI d'être exécutés en http (sous apache)

if(!isset($_ENV['SHELL']) || stripos($_ENV['_'], 'apache') !== false) {
	die('Vous ne pouvez pas executer ce script !!!');
}

Pages

Subscribe to RSS - PHP