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