".$lang['admin']['settings_ftp_writeing']."
"; for($x = 0; $x < count($exist); $x++) { $prodId = $exist[$x]['productId']; $producturl = generateProductUrl($prodId); $tempfilename = explode("?", basename($producturl)); $prodfilename = $tempfilename[0]; $proddirectory = dirname($producturl) . "/"; generatePage($config['ftp_root_dir'], $proddirectory, $prodfilename, $prodId, "prod"); echo sprintf($lang['admin']['settings_ftp_created'],$config['ftp_root_dir'].$proddirectory.$prodfilename)."".$lang['admin']['settings_writing_taf']."
"; for($x = 0; $x < count($exist); $x++) { $prodId = $exist[$x]['productId']; $producturl = generateTellFriendUrl($prodId); $tempfilename = explode("?", basename($producturl)); $prodfilename = $tempfilename[0]; $proddirectory = dirname($producturl) . "/"; generatePage($config['ftp_root_dir'], $proddirectory, $prodfilename, $prodId, "taf"); echo sprintf($lang['admin']['settings_ftp_created'],$config['ftp_root_dir'].$proddirectory.$prodfilename)."".$lang['admin']['settings_writing_cats']."
"; for($x = 0; $x < count($exist); $x++) { $catId = $exist[$x]['cat_id']; $categoryurl = generateCategoryUrl($catId); $tempfilename = explode("?", basename($categoryurl)); $catfilename = $tempfilename[0]; $catdirectory = dirname($categoryurl) . "/"; generatePage($config['ftp_root_dir'], $catdirectory, $catfilename, $catId, "cat"); echo sprintf($lang['admin']['settings_ftp_created'],$config['ftp_root_dir'].$catdirectory.$catfilename)."".$lang['admin']['settings_writing_docs']."
"; for($x = 0; $x < count($exist); $x++) { $docId = $exist[$x]['doc_id']; $documenturl = generateDocumentUrl($docId); $tempfilename = explode("?", basename($documenturl)); $docfilename = $tempfilename[0]; $docdirectory = dirname($documenturl) . "/"; generatePage($config['ftp_root_dir'], $docdirectory, $docfilename, $docId, "doc"); echo sprintf($lang['admin']['settings_ftp_created'],$config['ftp_root_dir'].$docdirectory.$docfilename)."".$lang['admin']['settings_ftp_complete']."
"; // END OF SCRIPT!! /**************** functions *****************************/ function generatePage($cubecartdir, $dir, $filename, $Id, $pagetype){ global $conn_id, $config; // create directory structure FTPMkDir($conn_id, "/".$config['ftp_root_dir'].$dir); // count directory deep levels $path = split("/", $dir); $deep = count($path); $homedir = "./"; for ($i=1; $i<$deep; $i++) $homedir = $homedir . "../"; // open file for writing // most likely it already exists need to delete it then so we can update it @ftp_delete($conn_id, '/'.$config['ftp_root_dir'].$dir.$filename); $handle = @fopen('ftp://'.$config['ftp_username'].':'.$config['ftp_password'].'@'.$config['ftp_server'].'/'.$cubecartdir.$dir.$filename, "w"); // generate correct page contents if (strcmp($pagetype, "prod") == 0) { $pagecontents = "\n"; } else if(strcmp($pagetype, "cat") == 0) { $pagecontents = "\n"; } else if(strcmp($pagetype, "taf") == 0) { $pagecontents = "\n"; } else if(strcmp($pagetype, "doc") == 0) { $pagecontents = "\n"; } // write and close file fwrite($handle, $pagecontents); fclose($handle); // lets change permissions to 755 for ($i=0; $i<5; $i++) // damn command can execute asychronous to above file creation meaning file might not be ready yet, simplest hack { if (@ftp_site($conn_id, 'CHMOD 0755 '.'/'.$cubecartdir.$dir.$filename) == true) break; // success! sleep(1); } // ok for some reason I can only assume the asychronous behaviour between the FTP library and fopen we get a filesize of 0 // extremely rare but a pain in the neck nevertheless. If this happens redo this function. Simple hack if(@ftp_size($conn_id, '/'.$config['ftp_root_dir'].$dir.$filename) == 0) { generatePage($cubecartdir, $dir, $filename, $Id, $pagetype); } } /***************** FTP functions ************************/ function FTPConnect($server, $username, $password){ $conn_id = @ftp_connect($server); if($conn_id != FALSE) { if(@ftp_login($conn_id, $username, $password) == FALSE) { @ftp_close($conn_id); $conn_id = FALSE; // wrong details } } return $conn_id; } function FTPDisconnect($conn_id){ ftp_close($conn_id); } function FTPMkDir($conn_id, $path){ $dir=split("/", $path); $path=""; $ret = true; for ($i=1;$i