コード例 #1
0
 public static function requireUpdateModuleSettings($module = P)
 {
     $settings = new CustomSettingRepository();
     $settings->setWhereModule(P);
     $to_unset = $settings->getPairs('key');
     // Update (create) settings
     foreach ($_POST as $k => $v) {
         // Check existing
         /** @var CustomSetting $setting */
         $setting = CustomSettingRepository::findOneEntityByCriteria(['module' => $module, 'key' => $k]);
         if (!$setting) {
             $setting = new CustomSetting();
             $setting->setModule($module);
             $setting->setKey($k);
         }
         // Set 1 for checkboxes
         if ($setting->getInputType() == 'checkbox' && !$v) {
             $v = 1;
         }
         $setting->setValue($v);
         $setting->save();
         unset($to_unset[$setting->getId()]);
     }
     // Set 0 for unset checkboxes
     foreach ($to_unset as $unset_id => $unset_key) {
         $setting = new CustomSetting($unset_id);
         $setting->setValue(0);
         $setting->save();
     }
     if (IS_AJAX_REQUEST) {
         die('1');
     }
     back();
 }