diff --git a/lib/private/util.php b/lib/private/util.php index e2005d31c381a7aca448cb28dc2a4ab4de3e0aba..5d747c36574fd565bf65536f9e312c94afcdcb68 100755 --- a/lib/private/util.php +++ b/lib/private/util.php @@ -938,6 +938,18 @@ class OC_Util { return true; } + /** + * Check if it's possible to get the inline annotations + * + * @return bool + */ + public static function isAnnotationsWorking() { + $reflection = new \ReflectionMethod(__METHOD__); + $docs = $reflection->getDocComment(); + + return (is_string($docs) && strlen($docs) > 50); + } + /** * @brief Check if the PHP module fileinfo is loaded. * @return bool diff --git a/settings/admin.php b/settings/admin.php index 49dde59ce2a5a1acf7b01dacf0067b2a8ee4cbd0..bd135435f160be8bdcf9f544df111d1aad31134b 100755 --- a/settings/admin.php +++ b/settings/admin.php @@ -38,6 +38,7 @@ $tmpl->assign('entriesremain', $entriesremain); $tmpl->assign('htaccessworking', $htaccessworking); $tmpl->assign('internetconnectionworking', OC_Util::isInternetConnectionEnabled() ? OC_Util::isInternetConnectionWorking() : false); $tmpl->assign('isLocaleWorking', OC_Util::isSetLocaleWorking()); +$tmpl->assign('isAnnotationsWorking', OC_Util::isAnnotationsWorking()); $tmpl->assign('isWebDavWorking', OC_Util::isWebDAVWorking()); $tmpl->assign('has_fileinfo', OC_Util::fileInfoLoaded()); $tmpl->assign('old_php', OC_Util::isPHPoutdated()); diff --git a/settings/templates/admin.php b/settings/templates/admin.php index d8a800ca20230bf9003d7034776585c1bbf83058..d6aa867d46927a79ebe186bc08466d2e2b326827 100644 --- a/settings/templates/admin.php +++ b/settings/templates/admin.php @@ -83,6 +83,21 @@ if (!$_['isWebDavWorking']) { <?php } +// Are doc blocks accessible? +if (!$_['isAnnotationsWorking']) { + ?> +<fieldset class="personalblock"> + <h2><?php p($l->t('Setup Warning'));?></h2> + + <span class="securitywarning"> + <?php p($l->t('PHP is apparently setup to strip inline doc blocks. This will make several core apps inaccessible.')); ?> + <?php p($l->t('This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator.')); ?> + </span> + +</fieldset> +<?php +} + // if module fileinfo available? if (!$_['has_fileinfo']) { ?>