function store() { $db = JFactory::getDBO(); $item = $this->getTable('adagencyZone'); $modul = $this->getTable('adagencyModules'); $data = JRequest::get('post', JREQUEST_ALLOWRAW); // if the zone is new remember that if (!isset($data['zoneid']) || $data['zoneid'] <= 0) { $isNew = TRUE; } else { $isNew = FALSE; } // Determine wheather there was a change // to the text ad maximum width/height setting $trigger_thumb_resize = false; if (isset($data['zoneid']) && $data['zoneid'] != 0 && isset($data['textadparams'])) { $sql = "SELECT textadparams FROM #__ad_agency_zone WHERE zoneid = " . $data['zoneid']; $db->setQuery($sql); $old_tsettings = @unserialize($db->loadResult()); if (!isset($old_tsettings->mxsize) || !isset($old_tsettings->mxtype) || $old_tsettings->mxsize != $data['textadparams']['mxsize'] || $old_tsettings->mxtype != $data['textadparams']['mxtype']) { $trigger_thumb_resize = true; if (!isset($data['adparams']['width']) || $data['adparams']['width'] == '' || $data['adparams']['width'] == 0) { $ad_w = $data['textadparams']['mxsize']; } else { $ad_w = $data['adparams']['width']; } if (!isset($data['adparams']['height']) || $data['adparams']['height'] == '' || $data['adparams']['height'] == 0) { $ad_h = $data['textadparams']['mxsize']; } else { $ad_h = $data['textadparams']['mxsize']; } if ($data['textadparams']['mxtype'] == 'w') { $new_width = min($data['textadparams']['mxsize'], $ad_w); $new_height = ''; } else { $new_width = ''; $new_height = min($data['textadparams']['mxsize'], $ad_h); } } } if (isset($data["inventory_zone"]) && $data["inventory_zone"] == 1) { // zone is inventory and delete zone from packages that are not inventory $sql = "select `tid` from #__ad_agency_order_type where `type` <> 'in'"; $db->setQuery($sql); $db->query(); $tid = $db->loadColumn(); if (isset($tid) && count($tid) > 0) { $tid = implode(",", $tid); $sql = "delete from #__ad_agency_package_zone where `package_id` in (" . $tid . ") and `zone_id`=" . intval($data["zoneid"]); $db->setQuery($sql); $db->query(); } } else { // zone is not inventory and delete zone from packages that are inventory $sql = "select `tid` from #__ad_agency_order_type where `type` = 'in'"; $db->setQuery($sql); $db->query(); $tid = $db->loadColumn(); if (isset($tid) && count($tid) > 0) { $tid = implode(",", $tid); $sql = "delete from #__ad_agency_package_zone where `package_id` in (" . $tid . ") and `zone_id`=" . intval($data["zoneid"]); $db->setQuery($sql); $db->query(); } } if (isset($data['bx']) && $data['bx'] == '2') { $data['adparams']['textad'] = '1'; } if (isset($data['adparams']['width']) && isset($data['adparams']['height'])) { $data['textadparams']['width'] = $data['adparams']['width']; $data['textadparams']['height'] = $data['adparams']['height']; } $data['adparams'] = @serialize($data['adparams']); $zona = array(); $zona['z_title'] = $data['title']; $zona['banners'] = $data['banners']; $zona['banners_cols'] = $data['banners_cols']; if (isset($data['zoneid'])) { $zona['zoneid'] = $data['zoneid']; } $zona['showtitle'] = $data['showtitle']; $zona['z_ordering'] = $data['ordering']; $zona['z_position'] = $data['position']; $zona['rotatebanners'] = $data['rotatebanners']; $zona['rotaterandomize'] = $data['rotaterandomize']; $zona['rotating_time'] = $data['rotating_time']; $zona['defaultad'] = $data['defaultad']; $zona['show_adv_link'] = $data['show_adv_link']; $zona['link_taketo'] = $data['link_taketo']; $zona['cellpadding'] = $data['cellpadding']; $zona['adparams'] = $data['adparams']; $zona['keywords'] = $data['showkeyws']; $zona['ignorestyle'] = $data['ignorestyle']; $zona['textadparams'] = @serialize($data['textadparams']); $zona['zone_text_below'] = $data['zone_text_below']; $zona['zone_content_visibility'] = $data['zone_content_visibility']; $zona['zone_content_location'] = $data['zone_content_location']; $zona['inventory_zone'] = $data['inventory_zone']; if (isset($data['taketo_url'])) { $zona['taketo_url'] = $data['taketo_url']; } else { $zona['taketo_url'] = 'http://'; } /*$zona['suffix'] = 'moduleclass_sfx='.$data['params']; $data['params'] = $zona['suffix'];*/ //'moduleclass_sfx' => $data['params'], ////replaced with: //echo"<pre>"; //print_r($data); //echo"</pre>"; //die(); $arr = array('moduleclass_sfx' => $data['suffix'], 'cache' => $data['cache']); $data['params'] = json_encode($arr); /// if (isset($data['zoneid'])) { $data['id'] = $data['zoneid']; $zonid = $data['zoneid']; } $data['module'] = 'mod_ijoomla_adagency_zone'; if (!isset($data["publish_up"])) { $joomla_date = Jfactory::getDate(); $data["publish_up"] = $joomla_date->toSql(); } if (!$modul->bind($data)) { $this->setError($modul->getErrorMsg()); return false; } if (!$modul->check()) { $this->setError($modul->getErrorMsg()); return false; } if (!$modul->store()) { $this->setError($modul->getErrorMsg()); return false; } if ($zona['zoneid'] == "") { $zona['zoneid'] = mysql_insert_id(); if ($zona['zoneid'] == 0) { $ask = "SELECT `id` FROM `#__modules` ORDER BY `id` DESC LIMIT 1 "; $db->setQuery($ask); $zona['zoneid'] = $db->loadResult(); } if (!isset($zona['z_ordering'])) { $zona['z_ordering'] = 0; } $query = "INSERT INTO #__ad_agency_zone ( `zoneid` , `banners`, `banners_cols` , `z_title` , `z_ordering` , `z_position` , `show_title` , `suffix`, `rotatebanners`, `rotaterandomize`, `rotating_time`, `show_adv_link`, `link_taketo`, `taketo_url`, `cellpadding`, `defaultad`, `keywords`, `adparams`, `ignorestyle`, `textadparams`, `inventory_zone`) VALUES ({$zona['zoneid']}, {$zona['banners']}, {$zona['banners_cols']}, '{$zona['z_title']}', {$zona['z_ordering']}, '{$zona['z_position']}', {$zona['showtitle']}, '{$zona['suffix']}', '{$zona['rotatebanners']}', '{$zona['rotaterandomize']}', '{$zona['rotating_time']}', '{$zona['show_adv_link']}', '{$zona['link_taketo']}', '{$zona['taketo_url']}', '{$zona['cellpadding']}', '{$zone['defaultad']}', '{$zone['keywords']}', '{$zona['adparams']}', '{$zona['ignorestyle']}','{$zona['textadparams']}', " . intval($zona["inventory_zone"]) . ")"; $db->setQuery($query); $db->query(); } else { if (!$item->bind($zona)) { $this->setError($item->getErrorMsg()); return false; } if (!$item->check()) { $this->setError($item->getErrorMsg()); return false; } if (!$item->store()) { $this->setError($item->getErrorMsg()); return false; } } $menus = JRequest::getVar('menus', '', 'post', 'word'); $selections = JRequest::getVar('selections', array(), 'post', 'array'); JArrayHelper::toInteger($selections); // delete old module to menu item associations if (!isset($data['id']) || $data['id'] == 0) { $data['id'] = $zona['zoneid']; } $query = 'DELETE FROM #__modules_menu' . ' WHERE moduleid = ' . (int) $data['id']; $db->setQuery($query); if (!$db->query()) { return JError::raiseWarning(500, $row->getError()); } // check needed to stop a module being assigned to `All` // and other menu items resulting in a module being displayed twice if ($menus == 'all') { // assign new module to `all` menu item associations $query = 'INSERT INTO #__modules_menu' . ' SET moduleid = ' . (int) $data['id'] . ' , menuid = 0'; $db->setQuery($query); if (!$db->query()) { return JError::raiseWarning(500, $row->getError()); } } else { foreach ($selections as $menuid) { // this check for the blank spaces in the select box that have been added for cosmetic reasons if ((int) $menuid >= 0) { // assign new module to menu item associations $query = 'INSERT INTO #__modules_menu' . ' SET moduleid = ' . (int) $data['id'] . ', menuid = ' . (int) $menuid; $db->setQuery($query); if (!$db->query()) { return JError::raiseWarning(500, $row->getError()); } } } } if ($trigger_thumb_resize) { //echo "<pre>";var_dump($new_width);echo "<hr />";var_dump($new_height);die(); $sql = "SELECT imgfolder FROM #__ad_agency_settings LIMIT 1"; $db->setQuery($sql); $imgfolder = $db->loadResult(); $JPATH_BASE = str_replace('administrator', '', JPATH_BASE); $sql = "SELECT cb . * , b.advertiser_id, b.image_url\n\n\t\t\t\t\tFROM #__ad_agency_package_zone AS pz\n\n\t\t\t\t\tLEFT JOIN #__ad_agency_campaign AS c ON pz.package_id = c.otid\n\n\t\t\t\t\tLEFT JOIN #__ad_agency_campaign_banner AS cb ON c.id = cb.campaign_id\n\n\t\t\t\t\tLEFT JOIN #__ad_agency_banners AS b ON cb.banner_id = b.id\n\n\t\t\t\t\tWHERE pz.zone_id =" . $data['id']; $db->setQuery($sql); $elements = $db->loadObjectList(); //echo "<pre>";var_dump($elements);die(); foreach ($elements as $element) { $img_url = $JPATH_BASE . 'images' . DS . 'stories' . DS . $imgfolder . DS . $element->advertiser_id . DS . $element->image_url; $thumb = $this->makeThumb($img_url, $new_width, $new_height); if ($thumb != NULL) { $sql = "UPDATE `#__ad_agency_campaign_banner` SET `thumb` = '" . $thumb . "' WHERE `campaign_id` ='" . $element->campaign_id . "' AND `banner_id` ='" . $element->banner_id . "';"; } else { $sql = "UPDATE `#__ad_agency_campaign_banner` SET `thumb` = NULL WHERE `campaign_id` ='" . $element->campaign_id . "' AND `banner_id` ='" . $element->banner_id . "';"; } $sss[] = $sql; $db->setQuery($sql); $db->query(); } } $sql = "SELECT package_id FROM #__ad_agency_package_zone WHERE zone_id = {$data['id']} LIMIT 1"; $db->setQuery($sql); $has_packages = $db->loadResult(); $session = JFactory::getSession(); if ($isNew) { $session->set("newzone-{$data['id']}", "1", 'adag'); } elseif ($has_packages) { $session->clear("newzone-{$data['id']}", 'adag'); } // echo "<pre>";var_dump($data);die(); return $data['id']; }