Beispiel #1
0
 public static function get_all_for_form($form_id, $limit = '', $inc_sub = 'exclude')
 {
     if (!(int) $form_id) {
         return array();
     }
     $results = self::get_fields_from_transients($form_id, $inc_sub);
     if (!empty($results)) {
         if (empty($limit)) {
             return $results;
         }
         $fields = array();
         $count = 0;
         foreach ($results as $result) {
             $fields[$result->id] = $result;
             if (!empty($limit) && $count >= $limit) {
                 break;
             }
         }
         return $fields;
     }
     self::$use_cache = false;
     // get the fields, but make sure to not get the subfields if set to exclude
     $results = self::getAll(array('fi.form_id' => absint($form_id)), 'field_order', $limit);
     self::$use_cache = true;
     self::include_sub_fields($results, $inc_sub, 'all');
     if (empty($limit)) {
         self::set_field_transient($results, $form_id, $inc_sub);
     }
     return $results;
 }
 public static function get_all_for_form($form_id, $limit = '', $inc_embed = 'exclude', $inc_repeat = 'include')
 {
     if (!(int) $form_id) {
         return array();
     }
     $results = self::get_fields_from_transients($form_id, array('inc_embed' => $inc_embed, 'inc_repeat' => $inc_repeat));
     if (!empty($results)) {
         if (empty($limit)) {
             return $results;
         }
         $fields = array();
         $count = 0;
         foreach ($results as $result) {
             $fields[$result->id] = $result;
             if (!empty($limit) && $count >= $limit) {
                 break;
             }
         }
         return $fields;
     }
     self::$use_cache = false;
     $where = array('fi.form_id' => absint($form_id));
     self::maybe_include_repeating_fields($inc_repeat, $where);
     $results = self::getAll($where, 'field_order', $limit);
     self::$use_cache = true;
     self::include_sub_fields($results, $inc_embed, 'all');
     if (empty($limit)) {
         self::set_field_transient($results, $form_id, 0, array('inc_embed' => $inc_embed, 'inc_repeat' => $inc_repeat));
     }
     return $results;
 }