function doBulkUpdate($filter, $do, $ids = array()) { @set_time_limit(0); $change_fields = array(); // Make sure we have actions if (empty($do)) { return; } // Make sure we have checked items if we want a checked list if (0 == strcasecmp($filter, "checks") && empty($ids)) { return; } if (is_array($do)) { foreach ($do as $k => $v) { switch ($k) { // [TODO] Used for bulk update // $change_fields[DAO_ExportType::ID] = intval($v); // $change_fields[DAO_ExportType::NAME] = intval($v); // $change_fields[DAO_ExportType::RECIPIENT_TYPE] = intval($v); // $change_fields[DAO_ExportType::IS_DISABLED] = intval($v); // $change_fields[DAO_ExportType::PARAMS_JSON] = intval($v); // [TODO] Implement actions // case 'example': //$change_fields[DAO_ExportType::EXAMPLE] = 'some value'; // break; default: break; } } } $pg = 0; if (empty($ids)) { do { list($objects, $null) = DAO_ExportType::search($this->params, 100, $pg++, SearchFields_ExportType::ID, true, false); $ids = array_merge($ids, array_keys($objects)); } while (!empty($objects)); } $batch_total = count($ids); for ($x = 0; $x <= $batch_total; $x += 100) { $batch_ids = array_slice($ids, $x, 100); DAO_ExportType::update($batch_ids, $change_fields); unset($batch_ids); } unset($ids); }