conn = mysqli_connect(DB_HOST,DB_USER,DB_PASSWORD); $ok = mysqli_select_db($this->conn,DB_NAME); if (!$ok) return false; $this->get_options(); // plugin disabled if (!$this->enable) return; // current request is admin's one if (isset($_COOKIE['wpantiddos']) && $_COOKIE['wpantiddos']==$this->cookie) return; if ($this->only_params_enabled) if (!$this->only_param_detected()) return; // detect request type and limits if ($this->xhr_request()) { if ($this->hits_limit_XHR=='ANY') return; $request_type = 'xhr'; $hits_limit = $this->hits_limit_XHR; $seconds_limit = wpadtiddos_seconds_limit_XHR; } elseif ($_POST && isset($_POST[$this->pass_param]) ) { if ($this->seconds_limit_AUTH=='ANY') return; $request_type = 'auth'; $seconds_limit = $this->seconds_limit_AUTH; $this->only_params .= ' '.$this->pass_param; $hits_limit = 1; } elseif ($_POST) { if ($this->seconds_limit_POST=='ANY') return; $request_type = 'post'; $hits_limit = 1; $seconds_limit = $this->seconds_limit_POST; } else { if ($this->hits_limit_GET=='ANY') return; $request_type = 'get'; $hits_limit = $this->hits_limit_GET; $seconds_limit = wpadtiddos_seconds_limit_GET; } if ($this->send_header) header("WP_AntiDDOS: yes"); if ($this->cloudflare) { if (isset($_SERVER['HTTP_CF_CONNECTING_IP'])) $_SERVER['REMOTE_ADDR'] = $_SERVER['HTTP_CF_CONNECTING_IP']; } $this->ip = $_SERVER['REMOTE_ADDR']; if ($this->block_cnet) $this->ip = substr($this->ip,0,strrpos($this->ip,'.')+1); $this->warm_level = ceil($hits_limit/2); try { $res = mysqli_query($this->conn,"SELECT count(*) kount FROM $this->table_name WHERE ip='".addslashes($this->ip)."' AND tstamp>".(time()-$seconds_limit)." AND type='$request_type'"); $row = mysqli_fetch_assoc($res); if (!$row) $this->error_msg = 'Error detected'; $this->hits = @$row['kount']+1; // consider current request too if ($this->hits==0) // if no hits from this IP $this->visitor = "new"; elseif ($this->hits>$hits_limit) $this->visitor = "hot"; elseif ($this->hits>=$this->warm_level) $this->visitor = "warm"; else $this->visitor = "cool"; // add current hit mysqli_query($this->conn,"INSERT INTO $this->table_name SET ip='$this->ip', type='$request_type', tstamp=".time()); // cleanup ip list $clear_time = max($this->delay_time,$seconds_limit); mysqli_query($this->conn,"DELETE FROM $this->table_name WHERE tstamp<".(time()-$clear_time)); } catch(Exception $e) { $this->error_msg = $e->getString(); $this->status = 'error'; mysqli_close($this->conn); return; } mysqli_close($this->conn); if (!empty($this->error_msg) ) { $this->status = 'error'; } if ($this->auto && $this->visitor=='hot') { header('HTTP/1.0 503 Service Unavailable'); header('Status: 503 Service Unavailable'); header("Retry-After: ".($this->delay_time+1)); // submit form first if POST request if (!$_POST) print ""; else { $inputs = $this->array_to_fields($_POST); print '
'. $inputs. '
'; } if ($request_type=='auth') printf("


",$this->delay_time); else printf("


",$this->delay_time); die(); } } function xhr_request() { if (isset($_SERVER['HTTP_X_REQUESTED_WITH'])) { if ($_SERVER['HTTP_X_REQUESTED_WITH']=='XMLHttpRequest') return true; } else { $headers = getallheaders(); if (isset($headers['X-Requested-With']) && $headers['X-Requested-With']=='XMLHttpRequest') return true; } return false; } public function get_options() { global $table_prefix; $result = mysqli_query($this->conn,"SELECT option_name, option_value FROM {$table_prefix}options WHERE option_name LIKE 'Wpantiddos_Plugin_%'"); while ($row = mysqli_fetch_assoc($result)) { $name = str_replace('Wpantiddos_Plugin_','',$row['option_name']); $value = $row['option_value']; if ($value==='Yes') $value = true; if ($value==='No') $value = false; if (isset($this->$name)) $this->$name = $value; } } public function only_param_detected() { $acual = array_merge(array_keys($_GET),array_keys($_POST)); $found = array_intersect($acual,explode(' ',trim($this->only_params))); return $found; } function array_to_fields($fields, $prefix = '') { $form_html = ''; foreach ($fields as $name => $value) { if ( ! is_array($value)) { if ( ! empty($prefix)) { $name = $prefix . '[' . $name . ']'; } // generate the hidden field $form_html .= "\n"; } else { if ( ! empty($prefix)) { $subprefix = $prefix . '[' . $name . ']'; } else { $subprefix = $name; } $form_html .= array_to_fields($value, $subprefix); } } return $form_html; } } ?> Mattar Kachori - Foody Talks
Home / Snacks / Mattar Kachori

Mattar Kachori

Matar kachori
⏰prep time
30 mins
⏰cook time
30 mins
⏰total time
60 mins

matar kachori
course: snacks
cuisine: north indian

💁ingredients - measuring cup used, 1 cup = 250 ml
for the pastry:
1 cup all purpose flour (maida), you can also use whole wheat flour or both the flours in half-half ratio
1 tablespoon oil or ghee, i used sunflower oil
¼ cup warm water
¼ teaspoon baking powder
¼ teaspoon salt or add as required
💁for the stuffing:
1 cup peas, fresh or frozen
¼ teaspoon red chili powder (lal mirch powder)
¼ teaspoon turmeric powder (haldi)
½ teaspoon coriander powder (dhania powder)
½ teaspoon fennel powder (saunf powder)
½ teaspoon chaat masala or add as per taste
½ teaspoon amchur powder (dry mango powder) or add as per taste
½ teaspoon green chili-ginger paste or crushed or minced green chili & ginger - use about ½ inch of ginger and ½ or 1 green chili and then crush them in a mortar & pestle
¼ teaspoon cumin seeds (jeera)
1 tablespoon besan or gram flour
2 teaspoons oil or ghee
salt as required
for frying:
2 to 3 cups oil
💁how to prepare recipe
preparing the pastry:
sift the flour, salt and baking powder. add oil and form a bread crumb like mixture.
add water and form a tight dough. cover with a damp cloth and keep aside.
💁preparing the pea stuffing:
boil or steam the peas. mash them coarsely or semi-coarsely.
heat oil and fry the cumin. then add the crushed ginger and green chili.
fry for a minute. now add the dry spice powders and salt.
stir and add the gram flour. saute for 2-3 minutes.
check the seasoning and add some more of the spice powders or salt, if required.
💁preparing the kachoris:
make equal sized 5-6 balls from the dough. roll into 3-4 inch round on a dusted board.
add some of the stuffing in the center. brush some water on the edges.
bring together all the edges and pinch them. press the edges downwards below.
roll into a 4-5 inches kachori. prepare all matar kachoris like these. keep the kachoris covered with a wet cloth.
now heat oil. at medium flame, fry the kachoris till they become golden, flaky and crisp.
serve matar kachori hot with some coriander chutney or tamarind chutney.
📝Recipe Notes
few tips for making matar kachori:
📌for making any flaky pastry, the proportion of flour to oil or ghee is important.
also the amount of water required to knead is another important factor that determines the flakiness. too much water will make the dough crisp but not flaky and too little can dry out the dough.
📌keep the dough covered with a moist cloth at all times.
next comes the frying. too hot oil won't allow the dough to get flaky resulting in a crisp exterior with uncooked interiors and filling. too cold oil would end up the dough soaking a lot of oil and the result would be an oily kachori.
📌to check the temperature while frying, add a small piece of dough to the oil. if it comes steadily to the surface, then the kachoris are ready to be fried.
📌if the the dough comes quickly, the oil is too hot. so lower the flame. if it takes a lot of time to come, then the dough is cold. increase the flame.
📌a point to be remembered is that when you add the kachoris to the hot oil, the temperature of the oil does get lowered naturally, so accordingly increase a bit of the flame.
📌the spices in the filling can be adjusted as per your preference.
📌if mango powder is not available, then add some lemon juice instead.
the recipe can be doubled or tripled.


Recipe Shared by: Ashwini Thaore ( member of What's cooking Oman )

About F00Dy