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;
    }
}