/** * Restore backupped profiles * This is not a trigger of plugin API. It's called by Backupper plugin */ function restoreItems($items) { $models = Application_Model_ProfilesMapper::i()->fetchAll(); // cleaning up all shares foreach ($models as $model) { Application_Model_ProfilesMapper::i()->delete($model); } foreach (@$items['profiles'] as $modelInfo) { $model = new Application_Model_Profile(); $model->setArg(@$modelInfo['arg'])->setCondProviders(@$modelInfo['cond_providers'] !== '' ? @$modelInfo['cond_providers'] : null)->setCondFormats(@$modelInfo['cond_formats'] !== '' ? @$modelInfo['cond_formats'] : null)->setCondDevices(@$modelInfo['cond_devices'] !== '' ? @$modelInfo['cond_devices'] : null)->setLabel(@$modelInfo['label'])->setWeight(@$modelInfo['weight']); // i don't set id, or db adapter will try to update old data that i cleaned Application_Model_ProfilesMapper::i()->save($model); } return X_Env::_('p_profiles_backupper_restoreditems') . ": " . count($items['profiles']); }