.
*/
class ApplGymPreference extends Appl {
/* Constructor
* Make sure you set the name, and, when needed, if the field is
* compulsory
*/
public function __construct($appl_id) {
$this->appl_id = $appl_id;
$this->name = "GymPreference";
$this->compulsory = false;
}
/* get_print_name()
* Return the name of the field (caption) to be shown in the application
* form
*/
public function get_print_name() {
return "People I would like to be in one gym with";
}
/* get_print_name_short()
* Return the name of the field (caption) to be shown in a table
*/
public function get_print_name_short() {
return "Gym preference";
}
/* get_print_value($readonly)
* Return the value to be printed in the form (with text boxes etc)
* @param: readonly: if the field can be changed (false) or not (true)
*/
public function get_print_value($readonly=false) {
return "name."\" value=\"".$this->value."\" size=38 maxlength=512" . ($readonly ? " readonly=\"readonly\"" : "") . " /> Fill in the IDs from the 'Participants list' of the people you like to be in a gym with, separated by a comma (,). Don't add spaces. You can fill in maximum 50 preferences, but the more you fill in, the less likely it becomes all are fulfilled.";
}
public function init($value) {
$this->value = $value;
$this->oldvalue = $value;
}
/* set($value)
* Check the supplied value and assign it if ok (return true), otherwise
* set an error and return false
* @param: value: the value to be assigned and checked
* @return: true on ok, false on error
*/
public function set($value) {
if( (strlen($value)>0 AND !preg_match("/^(([0-9]{3}-)?[0-9]{1,4},){0,50}$/", $value.",")) OR strlen($value)>512 ) { // add extra comma in regex for simplicity
$this->error = true;
$this->error_txt = "The gym preference is invalid. Please copy whole numbers from the participants list and separate them with a comma (,). Don't use spaces, and copy the exact numbers (for example: 001-0009). You can put maximum 50 preferences..";
return false;
}else {
$this->value = $value;
return true;
}
}
/* get()
* Return the value of this field.
* Normally the plain value is returned, if you need different behaviour,
* override this function
*/
//public function get() {
// return $this->value;
//}
/* The default access for a field is that 'admin', 'chair', 'localorg' and 'edit' people can edit the field, as well as a logged in user.
* Users with only 'view' can only view the field, and all others are denied access
* Override this function if you want different access
*/
public function get_access($new=true) {
global $setup;
if( $setup['ApplShowGymPreference']==false || $setup['ShowParticipantList']==false ) return self::ACCESS_NO;
elseif( $this->access>=0 ) return $this->access;
elseif( isset($_SESSION['sess_functions']) && in_array("applicationfield_optionedit", $_SESSION['sess_functions']) ) return self::ACCESS_RW;
elseif( isset($_SESSION['sess_functions']) && in_array("applicationfield_optionview", $_SESSION['sess_functions']) ) return self::ACCESS_R;
elseif( (isset($_SESSION['access_user']) && $_SESSION['access_user']) || $new ) return self::ACCESS_RW;
else return self::ACCESS_NO;
}
/* Normally a field is saved to MySQL. If you don't want to save it, or want to do something else before data is saved, override this function.
* Make sure you return an array (can be empty)
*/
//public function get_sql() {
// return array();
//}
}
?>