function phpAds_ImageStore($storagetype, $name, $buffer, $overwrite = false) { global $phpAds_config; // Make name web friendly $name = basename($name); $name = strtolower($name); $name = str_replace(" ", "_", $name); $name = str_replace("'", "", $name); if ($storagetype == 'web') { if ($phpAds_config['type_web_mode'] == 0) { // Local mode if ($overwrite == false) { $name = phpAds_LocalUniqueName($name); } // Write the file if ($fp = @fopen($phpAds_config['type_web_dir'] . "/" . $name, 'wb')) { @fwrite($fp, $buffer); @fclose($fp); // Add read permissions to group and others: this is especially // required when using suPHP @chmod($phpAds_config['type_web_dir'] . "/" . $name, 0644); $stored_url = $name; } } else { // FTP mode $server = parse_url($phpAds_config['type_web_ftp']); // Decode URL parts $server['user'] = urldecode($server['user']); $server['pass'] = urldecode($server['pass']); $server['path'] = urldecode($server['path']); if ($server['path'] != "" && substr($server['path'], 0, 1) == "/") { $server['path'] = substr($server['path'], 1); } if ($server['scheme'] == 'ftp') { $stored_url = phpAds_FTPStore($server, $name, $buffer, $overwrite); } } } if ($storagetype == 'sql') { if ($overwrite == false) { $name = phpAds_SqlUniqueName($name); } $res = phpAds_dbQuery("\n\t\t\tREPLACE INTO \n\t\t\t\t" . $phpAds_config['tbl_images'] . "\n\t\t\tSET\n\t\t\t\tfilename = '" . $name . "',\n\t\t\t\tcontents = '" . addslashes($buffer) . "',\n\t\t\t\tt_stamp = now()\n\t\t"); $stored_url = $name; } if (isset($stored_url) && $stored_url != '') { return $stored_url; } else { return false; } }
function phpAds_ImageStore($type, $name, $buffer, $overwrite = false) { $aConf = $GLOBALS['_MAX']['CONF']; $pref = $GLOBALS['_MAX']['PREF']; // Make name web friendly $name = basename($name); $name = strtolower($name); $name = str_replace(" ", "_", $name); $name = str_replace("'", "", $name); $extension = substr($name, strrpos($name, ".")); if ($type == 'web') { $filename = phpAds_LocalUniqueName($buffer, $extension); if ($aConf['store']['mode'] == 'ftp') { // FTP mode $server = array(); $server['host'] = $aConf['store']['ftpHost']; $server['path'] = $aConf['store']['ftpPath']; if ($server['path'] != "" && substr($server['path'], 0, 1) == "/") { $server['path'] = substr($server['path'], 1); } $server['user'] = $aConf['store']['ftpUsername']; $server['pass'] = $aConf['store']['ftpPassword']; $server['passiv'] = !empty($aConf['store']['ftpPassive']); $stored_url = phpAds_FTPStore($server, $filename, $buffer, true); } else { // Local mode, get the unique filename $filename = phpAds_LocalUniqueName($buffer, $extension); // Doe the file exist already? if (@file_exists($aConf['store']['webDir'] . "/" . $filename) == false) { // Write the file if ($fp = @fopen($aConf['store']['webDir'] . "/" . $filename, 'wb')) { @fwrite($fp, $buffer); @fclose($fp); $stored_url = $filename; } } else { $stored_url = $filename; } } } if ($type == 'sql') { // Look for existing image. $doImages = OA_Dal::staticGetDO('images', $name); if ($doImages) { $doImages->contents = DB_DataObject_Cast::blob($buffer); if ($overwrite == false) { $name = $doImages->getUniqueFileNameForDuplication(); $doImages->filename = $name; $doImages->insert(); } else { $doImages->filename = $name; $doImages->update(); } } else { $doImages = OA_Dal::factoryDO('images'); $doImages->filename = $name; $doImages->contents = DB_DataObject_Cast::blob($buffer); $doImages->insert(); } $stored_url = $name; } if (isset($stored_url) && $stored_url != '') { return $stored_url; } else { return false; } }