function securefile($_params) { global $REX; $myself = 'xmediapool_password'; $m = OOMedia::getMediaByFilename($_params['filename']); $password = $m->getValue('med_' . $myself . '_password'); // htaccess-Datei auslesen $htaccess_path = rtrim($REX['MEDIAFOLDER'], '/\\') . '/.htaccess'; $htaccess = ''; if (file_exists($htaccess_path)) { $htaccess = file_get_contents($htaccess_path); } // RewriteBase ermitteln $base = trim(str_replace('\\', '/', substr(realpath($REX['MEDIAFOLDER']), strlen(realpath($_SERVER['DOCUMENT_ROOT'])))), '/'); $frontend = str_replace('//', '/', '/' . trim(str_replace('\\', '/', substr(realpath($REX['FRONTEND_PATH']), strlen(realpath($_SERVER['DOCUMENT_ROOT'])))), '/') . '/'); $lines = array(); $lines[] = "RewriteEngine On\nRewriteBase /" . $base; // vorhandene Passwort geschützte Dateien auslesen $already_secured = false; if (preg_match_all('~^RewriteRule \\^(.*)\\$\\s.*$~im', $htaccess, $matches, PREG_SET_ORDER)) { foreach ($matches as $match) { // Wenn bei einer Datei ein Passwort gelöscht wurde, dann diese Datei nicht mehr schützen if ($match[1] == preg_quote($_params['filename'], '~')) { if (!strlen($password)) { continue; } else { $already_secured = true; } } $lines[] = sprintf('RewriteRule ^%s$ http://%%{HTTP_HOST}%s%s [R=302,L]', $match[1], $frontend, ltrim(rex_geturl($REX['ADDON']['DOWNLOAD_FORM_ARTICLE_ID'][$myself], '', array($myself . '_filename' => stripslashes($match[1])), '&'), '/')); } } // neue passwortgeschützte Datei hinzufügen if (!$already_secured and strlen($password)) { $lines[] = sprintf('RewriteRule ^%s$ http://%%{HTTP_HOST}/%s%s [R=302,L]', preg_quote($_params['filename'], '~'), $frontend, ltrim(rex_geturl($REX['ADDON']['DOWNLOAD_FORM_ARTICLE_ID'][$myself], '', array($myself . '_filename' => $_params['filename']), '&'), '/')); } // Daten in die htaccess-Datei schreiben file_put_contents($htaccess_path, implode("\n", $lines)); }
<?php // module: magnific_popup_image_out $imageType = 'magnific_popup_image_thumb'; $imageFile = 'REX_MEDIA[1]'; if ($imageFile != '') { $media = OOMedia::getMediaByFilename($imageFile); // get title and description if (OOMedia::isValid($media)) { $title = $media->getValue('title'); $description = $media->getValue('med_description'); } else { $title = ''; $description = ''; } // get media dir if (isset($REX['MEDIA_DIR'])) { $mediaDir = $REX['MEDIA_DIR']; } else { $mediaDir = 'files'; } // generate image manager url if (method_exists('seo42', 'getImageManagerFile')) { $imageManagerUrl = seo42::getImageManagerFile($imageFile, $imageType); $imageUrl = seo42::getMediaDir() . $imageFile; } elseif (method_exists('seo42', 'getImageManagerUrl')) { // compat $imageManagerUrl = seo42::getImageManagerUrl($imageFile, $imageType); $imageUrl = seo42::getMediaDir() . $imageFile; } else { $imageUrl = $REX['HTDOCS_PATH'] . $mediaDir . '/' . $imageFile;