2015-03-30 15:58:20 +02:00
|
|
|
<?php
|
|
|
|
style('settings', 'settings');
|
|
|
|
vendor_script(
|
|
|
|
'core',
|
|
|
|
[
|
2016-09-30 14:41:19 +02:00
|
|
|
'marked/marked.min',
|
2015-03-30 15:58:20 +02:00
|
|
|
]
|
|
|
|
);
|
|
|
|
script(
|
|
|
|
'settings',
|
|
|
|
[
|
|
|
|
'settings',
|
|
|
|
'apps',
|
|
|
|
]
|
|
|
|
);
|
|
|
|
/** @var array $_ */
|
2018-02-08 15:13:06 +01:00
|
|
|
/** @var \OCP\IURLGenerator $urlGenerator */
|
|
|
|
$urlGenerator = $_['urlGenerator'];
|
2015-03-30 15:58:20 +02:00
|
|
|
?>
|
2014-08-14 15:48:38 +02:00
|
|
|
<script id="categories-template" type="text/x-handlebars-template">
|
|
|
|
{{#each this}}
|
2015-10-20 12:02:08 +02:00
|
|
|
<li id="app-category-{{ident}}" data-category-id="{{ident}}" tabindex="0">
|
2017-09-23 18:12:59 +02:00
|
|
|
<a href="#" class="icon-category-{{ident}}">{{displayName}}</a>
|
2017-10-03 14:56:41 +02:00
|
|
|
<div class="app-navigation-entry-utils">
|
|
|
|
<ul>
|
|
|
|
<li class="app-navigation-entry-utils-counter">{{ counter }}</li>
|
|
|
|
</ul>
|
|
|
|
</div>
|
2015-03-26 10:28:49 +01:00
|
|
|
</li>
|
2014-08-14 15:48:38 +02:00
|
|
|
{{/each}}
|
2013-01-21 22:18:42 +01:00
|
|
|
|
2015-12-02 14:35:38 +01:00
|
|
|
<?php if($_['appstoreEnabled']): ?>
|
2014-08-14 15:48:38 +02:00
|
|
|
<li>
|
2018-02-08 15:13:06 +01:00
|
|
|
<a class="app-external icon-info" target="_blank" rel="noreferrer noopener" href="<?php p($urlGenerator->linkToDocs('developer-manual')); ?>"><?php p($l->t('Developer documentation'));?> ↗</a>
|
2014-08-14 15:48:38 +02:00
|
|
|
</li>
|
|
|
|
<?php endif; ?>
|
|
|
|
</script>
|
2013-06-11 17:24:47 +02:00
|
|
|
|
2017-01-21 17:06:26 +01:00
|
|
|
<script id="app-template-installed" type="text/x-handlebars">
|
2017-04-26 01:50:22 +02:00
|
|
|
{{#if newCategory}}
|
2017-04-26 12:41:54 +02:00
|
|
|
<div class="apps-header">
|
|
|
|
<div class="app-image"></div>
|
|
|
|
<h2>{{categoryName}} <input class="enable" type="submit" data-bundleid="{{bundleId}}" data-active="true" value="<?php p($l->t('Enable all'));?>"/></h2>
|
|
|
|
<div class="app-version"></div>
|
|
|
|
<div class="app-level"></div>
|
|
|
|
<div class="app-groups"></div>
|
|
|
|
<div class="actions"> </div>
|
|
|
|
</div>
|
2017-04-26 01:50:22 +02:00
|
|
|
{{/if}}
|
2017-01-21 17:06:26 +01:00
|
|
|
<div class="section" id="app-{{id}}">
|
2017-01-22 22:16:12 +01:00
|
|
|
<div class="app-image app-image-icon"></div>
|
2017-03-29 01:12:46 +02:00
|
|
|
<div class="app-name">
|
2017-01-21 17:06:26 +01:00
|
|
|
{{#if detailpage}}
|
2017-10-19 12:16:04 +02:00
|
|
|
<a href="{{detailpage}}" target="_blank" rel="noreferrer noopener">{{name}}</a>
|
2017-01-21 17:06:26 +01:00
|
|
|
{{else}}
|
|
|
|
{{name}}
|
|
|
|
{{/if}}
|
2017-03-29 01:12:46 +02:00
|
|
|
</div>
|
2017-03-28 23:55:11 +02:00
|
|
|
<div class="app-version">{{version}}</div>
|
2017-01-21 17:06:26 +01:00
|
|
|
<div class="app-level">
|
2018-03-28 12:17:43 +02:00
|
|
|
{{{level}}}{{#unless internal}}<a href="https://apps.nextcloud.com/apps/{{id}}" target="_blank"><?php p($l->t('View in store'));?> ↗</a>{{/unless}}
|
2017-01-21 17:06:26 +01:00
|
|
|
</div>
|
|
|
|
|
2017-03-28 23:55:11 +02:00
|
|
|
<div class="app-groups">
|
2017-01-21 17:06:26 +01:00
|
|
|
{{#if active}}
|
|
|
|
<div class="groups-enable">
|
|
|
|
<input type="checkbox" class="groups-enable__checkbox checkbox" id="groups_enable-{{id}}"/>
|
|
|
|
<label for="groups_enable-{{id}}"><?php p($l->t('Limit to groups')); ?></label>
|
2017-05-19 19:05:09 +02:00
|
|
|
<input type="hidden" class="group_select" title="<?php p($l->t('All')); ?>">
|
2017-01-21 17:06:26 +01:00
|
|
|
</div>
|
|
|
|
{{/if}}
|
|
|
|
</div>
|
|
|
|
|
|
|
|
<div class="actions">
|
|
|
|
<div class="warning hidden"></div>
|
2017-01-23 16:29:16 +01:00
|
|
|
<input class="update hidden" type="submit" value="<?php p($l->t('Update to %s', array('{{update}}'))); ?>" data-appid="{{id}}" />
|
|
|
|
{{#if canUnInstall}}
|
2017-03-29 01:41:53 +02:00
|
|
|
<input class="uninstall" type="submit" value="<?php p($l->t('Remove')); ?>" data-appid="{{id}}" />
|
2017-01-23 16:29:16 +01:00
|
|
|
{{/if}}
|
2017-01-21 17:06:26 +01:00
|
|
|
{{#if active}}
|
|
|
|
<input class="enable" type="submit" data-appid="{{id}}" data-active="true" value="<?php p($l->t("Disable"));?>"/>
|
|
|
|
{{else}}
|
|
|
|
<input class="enable{{#if needsDownload}} needs-download{{/if}}" type="submit" data-appid="{{id}}" data-active="false" {{#unless canInstall}}disabled="disabled"{{/unless}} value="<?php p($l->t("Enable"));?>"/>
|
|
|
|
{{/if}}
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</script>
|
|
|
|
|
2014-08-14 15:48:38 +02:00
|
|
|
<script id="app-template" type="text/x-handlebars">
|
|
|
|
<div class="section" id="app-{{id}}">
|
|
|
|
{{#if preview}}
|
2017-04-24 23:52:07 +02:00
|
|
|
<div class="app-image{{#if previewAsIcon}} app-image-icon{{/if}} icon-loading">
|
2014-08-14 15:48:38 +02:00
|
|
|
</div>
|
|
|
|
{{/if}}
|
2015-05-04 11:35:30 +02:00
|
|
|
<h2 class="app-name">
|
|
|
|
{{#if detailpage}}
|
2017-10-19 12:16:04 +02:00
|
|
|
<a href="{{detailpage}}" target="_blank" rel="noreferrer noopener">{{name}}</a>
|
2015-05-04 11:35:30 +02:00
|
|
|
{{else}}
|
|
|
|
{{name}}
|
|
|
|
{{/if}}
|
|
|
|
</h2>
|
2015-04-07 11:55:10 +02:00
|
|
|
<div class="app-level">
|
|
|
|
{{{level}}}
|
|
|
|
</div>
|
2016-11-30 15:59:02 +01:00
|
|
|
{{#if ratingNumThresholdReached }}
|
2015-04-07 12:27:39 +02:00
|
|
|
<div class="app-score">{{{score}}}</div>
|
|
|
|
{{/if}}
|
2014-08-14 15:48:38 +02:00
|
|
|
<div class="app-detailpage"></div>
|
|
|
|
|
2015-03-06 16:28:38 +01:00
|
|
|
<div class="app-description-container hidden">
|
2017-03-29 01:35:18 +02:00
|
|
|
<div class="app-version">{{version}}</div>
|
2017-10-19 12:16:04 +02:00
|
|
|
{{#if profilepage}}<a href="{{profilepage}}" target="_blank" rel="noreferrer noopener">{{/if}}
|
2017-03-29 01:35:18 +02:00
|
|
|
<div class="app-author"><?php p($l->t('by %s', ['{{author}}']));?>
|
|
|
|
{{#if licence}}
|
|
|
|
(<?php p($l->t('%s-licensed', ['{{licence}}'])); ?>)
|
|
|
|
{{/if}}
|
|
|
|
</div>
|
|
|
|
{{#if profilepage}}</a>{{/if}}
|
2017-01-17 05:22:05 +01:00
|
|
|
<div class="app-description">{{{description}}}</div>
|
2015-03-06 16:28:38 +01:00
|
|
|
<!--<div class="app-changed">{{changed}}</div>-->
|
|
|
|
{{#if documentation}}
|
|
|
|
<p class="documentation">
|
|
|
|
<?php p($l->t("Documentation:"));?>
|
|
|
|
{{#if documentation.user}}
|
2015-07-22 14:02:43 +02:00
|
|
|
<span class="userDocumentation">
|
2017-10-19 12:16:04 +02:00
|
|
|
<a id="userDocumentation" class="appslink" href="{{documentation.user}}" target="_blank" rel="noreferrer noopener"><?php p($l->t('User documentation'));?> ↗</a>
|
2015-03-06 16:28:38 +01:00
|
|
|
</span>
|
|
|
|
{{/if}}
|
|
|
|
|
|
|
|
{{#if documentation.admin}}
|
2015-07-22 14:02:43 +02:00
|
|
|
<span class="adminDocumentation">
|
2017-10-19 12:16:04 +02:00
|
|
|
<a id="adminDocumentation" class="appslink" href="{{documentation.admin}}" target="_blank" rel="noreferrer noopener"><?php p($l->t('Admin documentation'));?> ↗</a>
|
2015-03-06 16:28:38 +01:00
|
|
|
</span>
|
|
|
|
{{/if}}
|
2016-06-10 15:15:27 +02:00
|
|
|
|
|
|
|
{{#if documentation.developer}}
|
|
|
|
<span class="developerDocumentation">
|
2017-10-19 12:16:04 +02:00
|
|
|
<a id="developerDocumentation" class="appslink" href="{{documentation.developer}}" target="_blank" rel="noreferrer noopener"><?php p($l->t('Developer documentation'));?> ↗</a>
|
2016-06-10 15:15:27 +02:00
|
|
|
</span>
|
|
|
|
{{/if}}
|
2015-03-06 16:28:38 +01:00
|
|
|
</p>
|
2014-08-14 15:48:38 +02:00
|
|
|
{{/if}}
|
2016-06-10 15:15:27 +02:00
|
|
|
|
|
|
|
{{#if website}}
|
2017-10-19 12:16:04 +02:00
|
|
|
<a id="userDocumentation" class="appslink" href="{{website}}" target="_blank" rel="noreferrer noopener"><?php p($l->t('Visit website'));?> ↗</a>
|
2016-06-10 15:15:27 +02:00
|
|
|
{{/if}}
|
|
|
|
|
|
|
|
{{#if bugs}}
|
2017-10-19 12:16:04 +02:00
|
|
|
<a id="adminDocumentation" class="appslink" href="{{bugs}}" target="_blank" rel="noreferrer noopener"><?php p($l->t('Report a bug'));?> ↗</a>
|
2016-06-10 15:15:27 +02:00
|
|
|
{{/if}}
|
2015-03-06 16:28:38 +01:00
|
|
|
</div><!-- end app-description-container -->
|
2016-04-19 19:49:31 +02:00
|
|
|
<div class="app-description-toggle-show" role="link"><?php p($l->t("Show description …"));?></div>
|
|
|
|
<div class="app-description-toggle-hide hidden" role="link"><?php p($l->t("Hide description …"));?></div>
|
2015-03-06 16:28:38 +01:00
|
|
|
|
2016-02-16 12:59:24 +01:00
|
|
|
<div class="app-dependencies update hidden">
|
|
|
|
<p><?php p($l->t('This app has an update available.')); ?></p>
|
|
|
|
</div>
|
|
|
|
|
2016-01-07 14:55:23 +01:00
|
|
|
{{#if missingMinOwnCloudVersion}}
|
|
|
|
<div class="app-dependencies">
|
2016-06-20 10:38:37 +02:00
|
|
|
<p><?php p($l->t('This app has no minimum Nextcloud version assigned. This will be an error in the future.')); ?></p>
|
2016-01-07 14:55:23 +01:00
|
|
|
</div>
|
|
|
|
{{else}}
|
|
|
|
{{#if missingMaxOwnCloudVersion}}
|
|
|
|
<div class="app-dependencies">
|
2016-06-20 10:38:37 +02:00
|
|
|
<p><?php p($l->t('This app has no maximum Nextcloud version assigned. This will be an error in the future.')); ?></p>
|
2016-01-07 14:55:23 +01:00
|
|
|
</div>
|
|
|
|
{{/if}}
|
|
|
|
{{/if}}
|
|
|
|
|
2014-12-01 23:07:16 +01:00
|
|
|
{{#unless canInstall}}
|
2014-12-11 15:24:36 +01:00
|
|
|
<div class="app-dependencies">
|
|
|
|
<p><?php p($l->t('This app cannot be installed because the following dependencies are not fulfilled:')); ?></p>
|
2014-12-01 23:07:16 +01:00
|
|
|
<ul class="missing-dependencies">
|
|
|
|
{{#each missingDependencies}}
|
|
|
|
<li>{{this}}</li>
|
|
|
|
{{/each}}
|
|
|
|
</ul>
|
2014-12-11 15:24:36 +01:00
|
|
|
</div>
|
2014-12-01 23:07:16 +01:00
|
|
|
{{/unless}}
|
|
|
|
|
2015-06-10 12:01:54 +02:00
|
|
|
<input class="update hidden" type="submit" value="<?php p($l->t('Update to %s', array('{{update}}'))); ?>" data-appid="{{id}}" />
|
2014-08-14 15:48:38 +02:00
|
|
|
{{#if active}}
|
|
|
|
<input class="enable" type="submit" data-appid="{{id}}" data-active="true" value="<?php p($l->t("Disable"));?>"/>
|
2016-12-02 23:54:24 +01:00
|
|
|
<div class="groups-enable">
|
2015-10-31 17:02:30 +01:00
|
|
|
<input type="checkbox" class="groups-enable__checkbox checkbox" id="groups_enable-{{id}}"/>
|
|
|
|
<label for="groups_enable-{{id}}"><?php p($l->t('Enable only for specific groups')); ?></label>
|
2016-12-02 23:54:24 +01:00
|
|
|
</div>
|
2017-05-19 19:05:09 +02:00
|
|
|
<input type="hidden" class="group_select" title="<?php p($l->t('All')); ?>" style="width: 200px">
|
2014-08-14 15:48:38 +02:00
|
|
|
{{else}}
|
2016-04-11 16:48:07 +02:00
|
|
|
<input class="enable{{#if needsDownload}} needs-download{{/if}}" type="submit" data-appid="{{id}}" data-active="false" {{#unless canInstall}}disabled="disabled"{{/unless}} value="<?php p($l->t("Enable"));?>"/>
|
2014-12-01 23:07:16 +01:00
|
|
|
{{/if}}
|
2014-08-14 15:48:38 +02:00
|
|
|
{{#if canUnInstall}}
|
2017-04-05 22:12:49 +02:00
|
|
|
<input class="uninstall" type="submit" value="<?php p($l->t('Remove')); ?>" data-appid="{{id}}" />
|
2014-08-14 15:48:38 +02:00
|
|
|
{{/if}}
|
2014-05-08 19:26:20 +02:00
|
|
|
|
2013-08-18 17:37:22 +02:00
|
|
|
<div class="warning hidden"></div>
|
2014-08-14 15:48:38 +02:00
|
|
|
|
2012-08-05 01:41:55 +02:00
|
|
|
</div>
|
2014-08-14 15:48:38 +02:00
|
|
|
</script>
|
|
|
|
|
2015-10-15 16:15:42 +02:00
|
|
|
<div id="app-navigation" class="icon-loading" data-category="<?php p($_['category']);?>">
|
2014-08-14 15:48:38 +02:00
|
|
|
<ul id="apps-categories">
|
|
|
|
|
|
|
|
</ul>
|
|
|
|
</div>
|
2017-04-24 23:13:46 +02:00
|
|
|
<div id="app-content" class="icon-loading">
|
|
|
|
<div id="apps-list"></div>
|
2016-03-31 15:26:37 +02:00
|
|
|
<div id="apps-list-empty" class="hidden emptycontent emptycontent-search">
|
2017-10-03 18:15:14 +02:00
|
|
|
<div id="app-list-empty-icon" class="icon-search"></div>
|
2015-03-24 10:27:00 +01:00
|
|
|
<h2><?php p($l->t('No apps found for your version')) ?></h2>
|
|
|
|
</div>
|
2011-08-10 12:20:43 +02:00
|
|
|
</div>
|