Beispiel #1
0
 /**
  * Install modulevars for a module. $vars is an array of $key => array($default_value, $type, $min, $max).
  * @param GWF_Module $module
  * @param array $vars
  * return error message or ''
  */
 public static function installVars(GWF_Module $module, array $vars)
 {
     $old_vars = $module->getModuleVars();
     $id = $module->getID();
     $var_t = GDO::table('GWF_ModuleVar');
     # TODO: SAFE CLEANUP
     //		if (false === $var_t->deleteWhere("mv_mid=$id")) {
     //			return GWF_HTML::err('ERR_DATABASE', array(__FILE__, __LINE__));
     //		}
     $back = '';
     foreach ($vars as $key => $d) {
         $value = isset($old_vars[$key]) ? $old_vars[$key] : $d[0];
         $type = $d[1];
         $min = isset($d[2]) ? $d[2] : NULL;
         $max = isset($d[3]) ? $d[3] : NULL;
         if (false === ($val = self::getVarValue($value, $type, $min, $max))) {
             $back .= GWF_HTML::err('ERR_PARAMETER', array(__FILE__, __LINE__, '$key=' . $key . ', $value=' . htmlspecialchars($value) . ', $type=' . $type));
             continue;
         }
         if (false === $var_t->insertAssoc(array('mv_mid' => $id, 'mv_key' => $key, 'mv_val' => $val, 'mv_value' => $value, 'mv_type' => $type, 'mv_min' => $min, 'mv_max' => $max), true)) {
             $back .= GWF_HTML::err('ERR_DATABASE', array(__FILE__, __LINE__));
             continue;
         }
     }
     return $back;
 }