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