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; }