$attach, 'preview_style' => $preview_style, 'preview_width' => $preview_width, 'preview_height' => $preview_height, 'thumbnail' => null ]; /** * @hooks thumbnail * * \e array \b attach * * \e int \b preview_style * * \e int \b preview_width * * \e int \b preview_height * * \e string \b thumbnail */ call_hooks('thumbnail', $p); if ($p['thumbnail']) { return; } $default_controller = null; $files = glob('Zotlabs/Thumbs/*.php'); if ($files) { foreach ($files as $f) { $clsname = '\\Zotlabs\\Thumbs\\' . ucfirst(basename($f, '.php')); if (class_exists($clsname)) { $x = new $clsname(); if (method_exists($x, 'Match')) { $matched = $x->Match($attach['filetype']); if ($matched) { $x->Thumb($attach, $preview_style, $preview_width, $preview_height); } } if (method_exists($x, 'MatchDefault')) { $default_matched = $x->MatchDefault(substr($attach['filetype'], 0, strpos($attach['filetype'], '/'))); if ($default_matched) { $default_controller = $x; } } } } } if (($default_controller) && ((!file_exists(dbunescbin($attach['content']) . '.thumb')) || (filectime(dbunescbin($attach['content']) . 'thumb') < (time() - 60)))) { $default_controller->Thumb($attach, $preview_style, $preview_width, $preview_height); } return; } }