Zebra_Form::_load_mime_types PHP Method

_load_mime_types() private method

@return void
private _load_mime_types ( ) : void
return void
    private function _load_mime_types()
    {
        // if file with mime types was not already loaded
        if (!isset($this->form_properties['mimes'])) {
            // read file into an array
            $rows = file($this->form_properties['assets_server_path'] . 'mimes.json');
            // convert JSON to array
            // i'm aware that in PHP 5.2+ there is json_decode, but i want this library to be
            // as backward compatible as possible so, since the values in mimes.json has a
            // specific structure, i wrote my own decoder
            $this->form_properties['mimes'] = array();
            // iterate through all the rows
            foreach ($rows as $row) {
                // if valid row found
                if (strpos($row, ':') !== false) {
                    // explode the string by :
                    $items = explode(':', $row);
                    // the file type (extension)
                    $index = trim(str_replace('"', '', $items[0]));
                    // if there are more mime types attached
                    if (strpos($items[1], '[') !== false) {
                        // convert to array
                        $value = array_diff(array_map(create_function('&$value', 'return trim($value);'), explode(',', str_replace(array('[', ']', '"', '\\/'), array('', '', '', '/'), $items[1]))), array(''));
                    } else {
                        // convert to string
                        $value = trim(str_replace(array('"', ',', '\\/'), array('', '', '/'), $items[1]));
                    }
                    // save entry
                    $this->form_properties['mimes'][$index] = $value;
                }
            }
        }
    }