Beispiel #1
0
 function _validateImage($aImage, &$oImage)
 {
     if (empty($aImage['filename'])) {
         $this->raiseError("Image filename empty");
         return false;
     }
     if (empty($aImage['content'])) {
         $this->raiseError("Image content empty");
         return false;
     }
     $oImage = OA_Creative_File::factoryString($aImage['filename'], $aImage['content']);
     if (PEAR::isError($oImage)) {
         $this->raiseError($oImage->getMessage());
         return false;
     }
     return true;
 }
function save_ajax_request($banner_id, $campaign_id, $client_id, $image_id, $template_id, $banner_description, $banner_storagetype)
{
    $file = fopen('http://zetaprints.com/preview/' . $image_id, 'rb');
    $data = fread($file, 1024);
    while (!feof($file)) {
        $data .= fread($file, 1024);
    }
    fclose($file);
    $banner = OA_Dal::factoryDO('banners');
    // Get the existing banner details (if it is not a new banner)
    if (!empty($banner_id)) {
        $result = $banner->get($banner_id);
    }
    if (!$result) {
        OA::debug('here');
        $banner->bannerid = '';
        $banner->campaignid = $campaign_id;
        $banner->clientid = $client_id;
        $banner->url = '';
        $banner->imageurl = '';
        $banner->weight = $pref['default_banner_weight'];
        $banner->description = $banner_description;
        $banner->storagetype = $banner_storagetype;
    }
    require_once MAX_PATH . '/lib/OA/Creative/File.php';
    $file = OA_Creative_File::factoryString($image_id, $data);
    $file->store($banner->storagetype);
    if (!empty($banner->filename) && ($banner->storagetype == 'web' || $banner->storagetype == 'sql')) {
        DataObjects_Banners::deleteBannerFile($banner->storagetype, $banner->filename);
    }
    $file_detailes = $file->getFileDetails();
    $new_banner = empty($banner_id) ? true : false;
    if ($new_banner) {
        $size_changed = $file_detailes['width'] != $banner->width || $file_detailes['height'] != $banner->height;
    }
    $banner->filename = $file_detailes['filename'];
    $banner->contenttype = $file_detailes['contenttype'];
    $banner->width = $file_detailes['width'];
    $banner->height = $file_detailes['height'];
    $banner->pluginversion = $file_detailes['pluginversion'];
    if ($new_banner) {
        $banner->insert();
        require_once MAX_PATH . '/lib/OA/Maintenance/Priority.php';
        OA_Maintenance_Priority::scheduleRun();
        $banner_id = $banner->bannerid;
    } else {
        $banner->update();
        // if size has changed
        if (size_changes) {
            MAX_adjustAdZones($banner_id);
            MAX_addDefaultPlacementZones($banner_id, $campaign_id);
        }
    }
    $zp_banners = OA_Dal::factoryDO('Zpbanners');
    $zp_banners->set_zp_banner_id($banner_id, $template_id);
    return "banner-edit.php?clientid={$client_id}&campaignid={$campaign_id}&bannerid={$banner_id}";
}