function ZooomrPhotosetsRuleSetViews($a_parameter_hash)
 {
     include 'Zooomr.Constants.php';
     $required_params = array('match_test', 'views');
     ZooomrPhotosetsRuleSet::params_are_valid($required_params, null, $a_parameter_hash);
     if ($a_parameter_hash['match_test'] != $VIEWS_EQUALTO and $a_parameter_hash['match_test'] != $VIEWS_NOTEQUALTO and $a_parameter_hash['match_test'] != $VIEWS_GREATERTHAN and $a_parameter_hash['match_test'] != $VIEWS_LESSTHAN) {
         throw new Exception("ZooomrPhotosetsRuleSetView: a_match constant not a recognised value");
     }
     $this->match_test = $a_parameter_hash['match_test'];
     $this->match_type = $PHOTOSETMATCH_VIEWS;
     $this->match_args = $a_parameter_hash['views'];
 }
 function ZooomrPhotosetsRuleSetDateUploaded($a_parameter_hash)
 {
     include 'Zooomr.Constants.php';
     $required_params = array('min_date');
     ZooomrPhotosetsRuleSet::params_are_valid($required_params, null, $a_parameter_hash);
     if (!is_a($a_parameter_hash['min_date'], 'DateTime')) {
         throw new Exception("zooomr.photos.recentlyUpdated requires a DateTime object for min_date");
     }
     // nt mktime ([ int $hour [, int $minute [, int $second [, int $month [, int $day [, int $year [, int $is_dst ]]]]]]] )
     $unixtime = date_format($a_parameter_hash['min_date'], "U");
     $this->match_test = "0";
     # no match test for Date Uploaded
     $this->match_type = $PHOTOSETMATCH_DATEUPLOADED;
     $this->match_args = $unixtime;
 }
 function ZooomrPhotosetsRuleSetLabels($a_parameter_hash)
 {
     include 'Zooomr.Constants.php';
     $required_params = array('match_test', 'labels');
     ZooomrPhotosetsRuleSet::params_are_valid($required_params, null, $a_parameter_hash);
     if ($a_parameter_hash['match_test'] != $LABELS_MATCHALLOF and $a_parameter_hash['match_test'] != $LABELS_MATCHANYOF and $a_parameter_hash['match_test'] != $LABELS_MATCHNONEOF) {
         throw new Exception("ZooomrPhotosetsRuleSetLabel: match_test not a recognised value");
     }
     if (!is_array($a_parameter_hash['labels'])) {
         throw new Exception("ZooomrPhotosetsRuleSetLabel: match_args must be an array");
     }
     $this->match_test = $a_parameter_hash['match_test'];
     $this->match_type = $PHOTOSETMATCH_LABEL;
     $this->match_args = join($a_parameter_hash['labels'], ",");
 }
 function ZooomrPhotosetsRuleSetPeopleTags($a_parameter_hash)
 {
     include 'Zooomr.Constants.php';
     $required_params = array('match_test', 'people_tags');
     ZooomrPhotosetsRuleSet::params_are_valid($required_params, null, $a_parameter_hash);
     if ($a_parameter_hash['match_test'] != $PEOPLETAG_MATCHALLOF and $a_parameter_hash['match_test'] != $PEOPLETAG_MATCHANYOF and $a_parameter_hash['match_test'] != $PEOPLETAG_MATCHNONEOF) {
         throw new Exception("ZooomrPhotosetsRuleSetPeopleTags: a_match constant not a recognised value");
     }
     if (!is_array($a_parameter_hash['people_tags'])) {
         throw new Exception("ZooomrPhotosetsRuleSetPeopleTags: match_args must be an array");
     }
     $this->match_test = $a_parameter_hash['match_test'];
     $this->match_type = $PHOTOSETMATCH_PEOPLETAG;
     $this->match_args = join(",", $a_parameter_hash['people_tags']);
 }
 function ZooomrPhotosetsRuleSetGeoTags($a_parameter_hash)
 {
     include 'Zooomr.Constants.php';
     $required_params = array('lat', 'lon');
     $optional_params = array('map_zooom_level');
     ZooomrPhotosetsRuleSet::params_are_valid($required_params, $optional_params, $a_parameter_hash);
     if (!array_key_exists('map_zoom_level', $a_parameter_hash)) {
         $a_parameter_hash['map_zoom_level'] = 3;
     }
     $params = array();
     $params = array_merge($params, $a_parameter_hash);
     $this->match_test = "0";
     # no match constant for GeoTags
     $this->match_type = $PHOTOSETMATCH_GEO;
     $this->match_args = "" . $a_parameter_hash['lat'] . "," . $a_parameter_hash['lon'] . "," . $a_parameter_hash['map_zooom_level'];
 }