Roxen.git / server / etc / modules / Variable.pmod / module.pmod

version» Context lines:

Roxen.git/server/etc/modules/Variable.pmod/module.pmod:1: - // $Id: module.pmod,v 1.96 2007/01/12 10:17:26 erikd Exp $ + // $Id: module.pmod,v 1.97 2007/01/22 13:05:41 grubba Exp $      #include <module.h>   #include <roxen.h>      // Locale macros   //<locale-token project="roxen_config"> LOCALE </locale-token>      #define LOCALE(X,Y) \    ([string](mixed)Locale.translate("roxen_config",roxenp()->locale->get(),X,Y))   
Roxen.git/server/etc/modules/Variable.pmod/module.pmod:1390:   {    inherit StringChoice;    constant type = "ProviderChoice";    static Configuration conf;    static string provides;    static string default_id;    static string local_id = "";       int low_set(RoxenModule to)    { +  RoxenModule old = changed_values[_id]; +  if (to == old) return 0; +  if (!old) { +  if (local_id != "") { +  old = transform_from_form(local_id); +  } +  if (!old) { +  old = default_value(); +  if (old) local_id = _name(old); +  } +  changed_values[_id] = to; +  if (to == old) return 0; +  } +  changed_values[_id] = to;    local_id = _name(to); -  return ::low_set(to); +  if( get_changed_callback() ) +  get_changed_callback()( this_object() ); +  return 1;    }       // NOTE: Will be called with a string at module init!    int set(string|RoxenModule to)    {    if (stringp(to)) {    local_id = to;    to = transform_from_form(to);    }    return ::set(to);
Roxen.git/server/etc/modules/Variable.pmod/module.pmod:1420:    // Try locating it again.    res = transform_from_form(local_id);    if (res) low_set(res);    }    }    return res;    }       array get_choice_list()    { -  return conf->get_providers(provides); +  array res = conf->get_providers(provides); +  sort(map(res, _title), res); +  return res;    }       static string _name(RoxenModule val)    {    return val?val->module_local_id():"";    }       static string _title(RoxenModule val)    {    return val?val->module_name:"";
Roxen.git/server/etc/modules/Variable.pmod/module.pmod:1445:    return conf->find_module(local_id);    }       RoxenModule default_value()    {    if (default_id) {    return transform_from_form(default_id);    } else {    array(RoxenModule) providers = get_choice_list();    if (sizeof(providers)) { -  // FIXME: Add sorting? +     return providers[0];    }    return UNDEFINED;    }    }       array(string|mixed) verify_set( mixed new_value )    {    if (!new_value) {    return ({ "Not configured", 0 });