#!/usr/bin/php id); define("INTERNAL_USER_USERNAME", $me->username); define("MFBASE_BYPASS_LOGIN", true); $log = mfLoghandler::singleton(); $f = 0; $u = 0; $status_codes = [300, 350, 351, 500]; $preorders = PreorderModel::searchActive(["status_code" => $status_codes]); //$preorders = [new Preorder(1138)]; foreach($preorders as $preorder) { if(preg_match('/^RML/', $preorder->campaign->name)) continue; if(!in_array($preorder->status->code, $status_codes)) continue; $updated = false; foreach(PreorderStatusflagModel::getAll() as $sflag) { //$preorder = new Preorder($preorder->id); if(!$sflag->id) { var_dump($sflag);exit; } $sflag_val = PreorderStatusflagValueModel::getFirst(["preorder_id" => $preorder->id, "flag_id" => $sflag->id]); if(!$sflag_val) { $sflag_val = PreorderStatusflagValueModel::create([ "preorder_id" => $preorder->id, "flag_id" => $sflag->id ]); } if($sflag_val->value != 1) { $log->debug(__FILE__.": Setting flag ".$sflag->code." to 1 in Preorder ".$preorder->id); $sflag_val->value = 1; $sflag_val->save(); $updated = true; $f++; } $hflag = ADBStatusflagModel::getFirst(["code" => $sflag->code]); $hflag_val = ADBHausnummerStatusflagValueModel::getFirst(["hausnummer_id" => $preorder->adb_hausnummer_id, "flag_id" => $hflag->id]); if(!$hflag_val) { $hflag_val = ADBHausnummerStatusflagValueModel::create([ "hausnummer_id" => $preorder->adb_hausnummer_id, "flag_id" => $hflag->id ]); } if($hflag_val->value != 1) { $hflag_val->value = 1; $log->debug(__FILE__.": Setting flag ".$hflag->code." to 1 in Hausnummer ".$preorder->adb_hausnummer_id); $hflag_val->save(); } mfValuecache::singleton()->purge("mfObjectmodel-Preorder", false); mfValuecache::singleton()->purge("Preorder", false); $log->debug("=========================================="); } if($updated) { $u++; } } echo "Updated $f Flags for $u Preorders\n";