コード例 #1
0
function phpAds_ImageDuplicate($storagetype, $name)
{
    global $phpAds_config;
    // Strip existing path
    $name = basename($name);
    if ($storagetype == 'web') {
        if ($phpAds_config['type_web_mode'] == 0) {
            // Local mode
            $duplicate = phpAds_LocalUniqueName($name);
            if (@copy($phpAds_config['type_web_dir'] . "/" . $name, $phpAds_config['type_web_dir'] . "/" . $duplicate)) {
                $stored_url = $duplicate;
            }
        } else {
            // FTP mode
            $server = parse_url($phpAds_config['type_web_ftp']);
            if ($server['path'] != "" && substr($server['path'], 0, 1) == "/") {
                $server['path'] = substr($server['path'], 1);
            }
            if ($server['scheme'] == 'ftp') {
                $stored_url = phpAds_FTPDuplicate($server, $name);
            }
        }
    }
    if ($storagetype == 'sql') {
        if ($buffer = phpAds_ImageRetrieve($storagetype, $name)) {
            $stored_url = phpAds_ImageStore($storagetype, $name, $buffer);
        }
    }
    if (isset($stored_url) && $stored_url != '') {
        return $stored_url;
    } else {
        return false;
    }
}
コード例 #2
0
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;
    }
}
コード例 #3
0
ファイル: banner-swf.php プロジェクト: villos/tree_admin
     // Prepare the parameters
     $parameters_complete = array();
     foreach ($parameters as $key => $val) {
         if (isset($overwrite_source) && $overwrite_source[$val] != '') {
             $overwrite_link[$val] .= '|source:' . $overwrite_source[$val];
         }
         $parameters_complete[$key] = array('link' => $overwrite_link[$val], 'tar' => $overwrite_target[$val]);
     }
     $parameters = array('swf' => $parameters_complete);
 } else {
     $parameters = '';
 }
 $row['pluginversion'] = phpAds_SWFVersion($result);
 $row['htmltemplate'] = $row['htmltemplate'];
 $extension = substr($row['filename'], strrpos($row['filename'], "."));
 $row['filename'] = phpAds_LocalUniqueName($result, $extension);
 // Store the HTML Template
 $doBanners = OA_Dal::factoryDO('banners');
 $doBanners->get($bannerid);
 $doBanners->filename = $row['filename'];
 $doBanners->url = $row['url'];
 $doBanners->target = $row['target'];
 $doBanners->pluginversion = $row['pluginversion'];
 $doBanners->htmltemplate = $row['htmltemplate'];
 $doBanners->parameters = empty($parameters) ? null : serialize($parameters);
 $doBanners->update();
 // Store the banner
 phpAds_ImageStore($row['storagetype'], $row['filename'], $result, true);
 // Rebuild cache
 // require_once MAX_PATH . '/lib/max/deliverycache/cache-'.$conf['delivery']['cache'].'.inc.php';
 // phpAds_cacheDelete();