/** * Store log data. * * @param bool $override Whether to override the text domain. Default false. * @param string $domain Text domain. Unique identifier for retrieving translated strings. * @param string $mofile Path to the MO file. * @return bool */ public function log_file_load($override, $domain, $mofile) { $trace = new QM_Backtrace(); $filtered = $trace->get_filtered_trace(); $caller = array(); foreach ($filtered as $i => $item) { if (in_array($item['function'], array('load_plugin_textdomain', 'load_theme_textdomain', 'load_default_textdomain'), true)) { $caller = $item; $display = $i + 1; if (isset($filtered[$display])) { $caller['display'] = $filtered[$display]['display']; } break; } } if (empty($caller)) { if (isset($filtered[1])) { $caller = $filtered[1]; } else { $caller = $filtered[0]; } } if (!isset($caller['file']) && isset($filtered[0]['file']) && isset($filtered[0]['line'])) { $caller['file'] = $filtered[0]['file']; $caller['line'] = $filtered[0]['line']; } $this->data['languages'][] = array('caller' => $caller, 'domain' => $domain, 'mofile' => $mofile, 'found' => file_exists($mofile) ? filesize($mofile) : false); return $override; }