Exemplo n.º 1
0
 function save_properties(&$ad, $default = false)
 {
     global $advman_engine;
     // Whether we changed any setting in this entity
     $changed = false;
     // Set the ad properties (if not setting default properties)
     if (!$default) {
         if (isset($_POST['advman-name'])) {
             $value = OX_Tools::sanitize($_POST['advman-name']);
             if ($value != $ad->name) {
                 Advman_Admin::check_default($ad, $value);
                 $ad->name = $value;
                 $changed = true;
             }
         }
         if (isset($_POST['advman-active'])) {
             $value = $_POST['advman-active'] == 'yes';
             if ($ad->active != $value) {
                 $ad->active = $value;
                 $changed = true;
             }
         }
     }
     $properties = $ad->get_network_property_defaults();
     if (!empty($properties)) {
         foreach ($properties as $property => $d) {
             if (isset($_POST["advman-{$property}"])) {
                 $value = OX_Tools::sanitize($_POST["advman-{$property}"]);
                 if ($default) {
                     // Deal with multi select 'show-author'
                     if ($property == 'show-author') {
                         Advman_Tools::format_author_value($value);
                     }
                     if ($property == 'show-category') {
                         Advman_Tools::format_category_value($value);
                     }
                     if ($property == 'show-tag') {
                         Advman_Tools::format_tag_value($value);
                     }
                     if ($ad->get_network_property($property) != $value) {
                         $ad->set_network_property($property, $value);
                         $changed = true;
                     }
                 } else {
                     // Deal with multi select 'show-author'
                     if ($property == 'show-author') {
                         Advman_Tools::format_author_value($value);
                     }
                     if ($property == 'show-category') {
                         Advman_Tools::format_category_value($value);
                     }
                     if ($property == 'show-tag') {
                         Advman_Tools::format_tag_value($value);
                     }
                     if ($ad->get_property($property) != $value) {
                         $ad->set_property($property, $value);
                         $changed = true;
                     }
                 }
                 // deal with adtype
                 if ($property == 'adtype') {
                     if (isset($_POST["advman-adformat-{$value}"])) {
                         $v = OX_Tools::sanitize($_POST["advman-adformat-{$value}"]);
                         if ($default) {
                             if ($ad->get_network_property('adformat') != $v) {
                                 $ad->set_network_property('adformat', $v);
                                 $changed = true;
                             }
                         } else {
                             if ($ad->get_property('adformat') != $v) {
                                 $ad->set_property('adformat', $v);
                                 $changed = true;
                             }
                         }
                     }
                 }
             }
         }
     }
     return $changed;
 }