get_filtered_trace() public method

public get_filtered_trace ( )
Exemplo n.º 1
0
 /**
  * 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;
 }