From 6bfe2289be05e9f54272a86a0f957ec41ef32e28 Mon Sep 17 00:00:00 2001
From: Frank Karlitschek <karlitschek@kde.org>
Date: Sat, 21 Apr 2012 15:30:58 +0200
Subject: [PATCH] improve the app installer. show a label if an app is an
 internal app or a third party app from the app store. show a preview image of
 the app if available

---
 lib/ocsclient.php           |   1 +
 settings/apps.php           |   7 +++++++
 settings/css/settings.css   |   3 ++-
 settings/js/apps.js         |   3 +++
 settings/templates/apps.php |   6 ++++--
 settings/trans.png          | Bin 0 -> 187 bytes
 6 files changed, 17 insertions(+), 3 deletions(-)
 create mode 100644 settings/trans.png

diff --git a/lib/ocsclient.php b/lib/ocsclient.php
index 9ad9ef21c6..aef51f38fb 100755
--- a/lib/ocsclient.php
+++ b/lib/ocsclient.php
@@ -162,6 +162,7 @@ class OC_OCSClient{
 		$app['preview3']=$tmp->smallpreviewpic3;
 		$app['changed']=strtotime($tmp->changed);
 		$app['description']=$tmp->description;
+		$app['detailpage']=$tmp->detailpage;
 
 		return $app;
 	}
diff --git a/settings/apps.php b/settings/apps.php
index 0889b0c45e..cc16102602 100644
--- a/settings/apps.php
+++ b/settings/apps.php
@@ -39,6 +39,9 @@ foreach($registeredApps as $app){
 		$info=OC_App::getAppInfo($app);
 		$active=(OC_Appconfig::getValue($app,'enabled','no')=='yes')?true:false;
 		$info['active']=$active;
+		$info['internal']=true;
+		$info['internallabel']='Internal App';
+		$info['preview']='trans.png';
 		$apps[]=$info;
 	}
 }
@@ -64,6 +67,7 @@ usort($apps, 'app_sort');
 		}
 
 		if(!$local) {
+ 			if($app['preview']=='') $pre='trans.png'; else $pre=$app['preview'];
 	 		$apps[]=array(
  				'name'=>$app['name'],
  				'id'=>$app['id'],
@@ -71,6 +75,9 @@ usort($apps, 'app_sort');
  				'description'=>$app['description'],
  				'author'=>$app['personid'],
  				'license'=>$app['license'],
+ 				'preview'=>$pre,
+ 				'internal'=>false,
+ 				'internallabel'=>'3rd Party App',
  			);
 		}
  	}
diff --git a/settings/css/settings.css b/settings/css/settings.css
index 42576953d0..62e84654d5 100644
--- a/settings/css/settings.css
+++ b/settings/css/settings.css
@@ -40,7 +40,8 @@ select.quota.active { background: #fff; }
 /* APPS */
 li { color:#888; }
 li.active { color:#000; }
+small.externalapp { color:#FFF; background-color:#BBB; font-weight:bold; font-size:6pt; padding:4px; border-radius: 4px;}
 span.version { margin-left:3em; color:#ddd; }
 
 /* LOF */
-#log { white-space:normal; }
\ No newline at end of file
+#log { white-space:normal; }
diff --git a/settings/js/apps.js b/settings/js/apps.js
index 12d09ac69d..df5300911a 100644
--- a/settings/js/apps.js
+++ b/settings/js/apps.js
@@ -13,8 +13,11 @@ $(document).ready(function(){
 		var app=$(this).data('app');
 		$('#rightcontent p').show();
 		$('#rightcontent span.name').text(app.name);
+		$('#rightcontent small.externalapp').text(app.internallabel);
 		$('#rightcontent span.version').text(app.version);
 		$('#rightcontent p.description').text(app.description);
+		$('#rightcontent img.preview').attr('src',app.preview);
+		$('#rightcontent small.externalapp').attr('style','visibility:visible');
 		$('#rightcontent span.author').text(app.author);
 		$('#rightcontent span.licence').text(app.licence);
 		
diff --git a/settings/templates/apps.php b/settings/templates/apps.php
index 1e49b4c892..d25ca1bc7f 100644
--- a/settings/templates/apps.php
+++ b/settings/templates/apps.php
@@ -5,7 +5,7 @@
  */?>
 
 <div id="controls">
-	<a class="button" target="_blank" href="http://owncloud.org/dev/writing-apps/"><?php echo $l->t('Add your application');?></a>
+	<a class="button" target="_blank" href="http://owncloud.org/dev/writing-apps/"><?php echo $l->t('Add your App');?></a>
 </div>
 <ul id="leftcontent">
 	<?php foreach($_['apps'] as $app):?>
@@ -14,12 +14,14 @@
 		<span class="hidden">
 			<?php OC_JSON::encodedPrint($app,false) ?>
 		</span>
+		<?php  if(!$app['internal']) echo '<small class="externalapp">3rd party</small>' ?>
 	</li>
 	<?php endforeach;?>
 </ul>
 <div id="rightcontent">
-	<h3><strong><span class="name"><?php echo $l->t('Select an App');?></span></strong><span class="version"></span></h3>
+	<h3><strong><span class="name"><?php echo $l->t('Select an App');?></span></strong><span class="version"></span><small class="externalapp" style="visibility:hidden;"></small></h3>
 	<p class="description"></p>
+	<img src="" class="preview" />
 	<p class="hidden"><span class="licence"></span><?php echo $l->t('-licensed');?> <?php echo $l->t('by');?> <span class="author"></span></p>
 	<input class="enable hidden" type="submit" />
 </div>
diff --git a/settings/trans.png b/settings/trans.png
new file mode 100644
index 0000000000000000000000000000000000000000..e6920168bf2dbb9405040360e42095922b9e124a
GIT binary patch
literal 187
zcmeAS@N?(olHy`uVBq!ia0y~yU|<Ac4mJh`26@pVoghwekh>GZx^prw85kJYlDyqr
z82*Fcg1yTpGcYi47I;J!Gca%qgD@k*tT_@43=Hfgp1!W^cUVNZEyNd>Ep%aEU{ES?
zjVN)>&&^HED`9XhN=+<DO;IS%EXh!C_w)@=$j?(qRPaqqZeLOE40er+V+hCf<b;HT
b1O^5MRtCnn&stUt3=9mOu6{1-oD!M<m_ROM

literal 0
HcmV?d00001

-- 
GitLab