Allow apps to have own 404 content, closes #3225

This commit is contained in:
Victor Dubiniuk 2013-07-29 16:33:23 +03:00
parent 954b5d9019
commit 97f2c393c1
4 changed files with 39 additions and 6 deletions

View File

@ -234,6 +234,11 @@ if (isset($path)) {
} else {
OCP\Util::writeLog('share', 'could not resolve linkItem', \OCP\Util::DEBUG);
}
$errorTemplate = new OCP\Template('files_sharing', 'part.404', '');
$errorContent = $errorTemplate->fetchPage();
header('HTTP/1.0 404 Not Found');
$tmpl = new OCP\Template('', '404', 'guest');
$tmpl->assign('content', $errorContent);
$tmpl->printPage();

View File

@ -0,0 +1,12 @@
<ul>
<li class="error error-broken-link">
<p><?php p($l->t('Sorry, this link doesnt seem to work anymore.')) ?></p>
<p><?php p($l->t('Reasons might be:')); ?></p>
<ul>
<li><?php p($l->t('the item was removed')); ?></li>
<li><?php p($l->t('the link expired')); ?></li>
<li><?php p($l->t('sharing is disabled for this ownCloud')); ?></li>
</ul>
<p><?php p($l->t('For more info, please ask the person who sent this link.')); ?></p>
</li>
</ul>

View File

@ -304,6 +304,18 @@ label.infield { cursor:text !important; top:1.05em; left:.85em; }
#body-login form .errors { background:#fed7d7; border:1px solid #f00; list-style-indent:inside; margin:0 0 2em; padding:1em; }
#body-login .success { background:#d7fed7; border:1px solid #0f0; width: 35%; margin: 30px auto; padding:1em; text-align: center;}
#body-login .error-broken-link{
text-align:left;
}
#body-login .error-broken-link ul{
margin:10px 0 10px 0;
}
#body-login .error-broken-link ul li{
list-style: disc;list-style-position:inside;
}
/* Show password toggle */
#show, #dbpassword {
position: absolute;

View File

@ -7,9 +7,13 @@ if(!isset($_)) {//also provide standalone error page
exit;
}
?>
<ul>
<li class='error'>
<?php p($l->t( 'Cloud not found' )); ?><br/>
<p class='hint'><?php if(isset($_['file'])) p($_['file'])?></p>
</li>
</ul>
<?php if (isset($_['content'])): ?>
<?php print_unescaped($_['content']) ?>
<?php else: ?>
<ul>
<li class="error">
<?php p($l->t( 'Cloud not found' )); ?><br/>
<p class='hint'><?php if(isset($_['file'])) p($_['file'])?></p>
</li>
</ul>
<?php endif; ?>