فهرست منبع

Add install display on package page

Jordi Boggiano 13 سال پیش
والد
کامیت
4a79e68ba4

+ 17 - 0
src/Packagist/WebBundle/Controller/WebController.php

@@ -239,6 +239,23 @@ class WebController extends Controller
 
         $data = array('package' => $package);
 
+        $id = $package->getId();
+
+        try {
+            $redis = $this->get('snc_redis.default');
+            $data['downloads'] = array(
+                'total' => $redis->get('dl:'.$id) ?: 0,
+                'monthly' => $redis->get('dl:'.$id.':'.date('Ym')) ?: 0,
+                'daily' => $redis->get('dl:'.$id.':'.date('Ymd')) ?: 0,
+            );
+        } catch (\Exception $e) {
+            $data['downloads'] = array(
+                'total' => 'N/A',
+                'monthly' => 'N/A',
+                'daily' => 'N/A',
+            );
+        }
+
         $user = $this->getUser();
         if ($user && $package->getMaintainers()->contains($user)) {
             $data['form'] = $this->createAddMaintainerForm()->createView();

+ 16 - 0
src/Packagist/WebBundle/Resources/public/css/main.css

@@ -446,6 +446,21 @@ form ul {
   margin-top: 10px;
   padding-top: 10px;
 }
+.package .downloads {
+  clear: both;
+  float: right;
+  border: 1px solid #bbb;
+  background: #eee;
+  padding: 5px 10px;
+  margin: 0 0 10px;
+  -webkit-border-radius: 3px;
+  -moz-border-radius: 3px;
+  border-radius: 3px;
+}
+.package .downloads span {
+  display: inline-block;
+  width: 90px;
+}
 .package .details span {
   float: left;
   display: block;
@@ -454,6 +469,7 @@ form ul {
 }
 .package .versions {
   list-style: none;
+  clear: both;
   margin: 0;
 }
 .package .version {

+ 6 - 0
src/Packagist/WebBundle/Resources/views/Web/viewPackage.html.twig

@@ -42,6 +42,12 @@
                 <p class="warning">This package is not auto-updated. Go and set up the <a href="{{ path('fos_user_profile_show') }}">GitHub Service Hook</a> for Packagist so that it gets updated whenever you push!</p>
             {% endif %}
 
+            <p class="downloads">
+                <span>Overall:</span> {{ downloads.total }} installs<br />
+                <span>This month:</span> {{ downloads.monthly }} installs<br />
+                <span>Today:</span> {{ downloads.daily }} installs<br />
+            </p>
+
             <p class="description">{{ package.description }}</p>
             <p class="details">
                 <span>Maintainer{{ package.maintainers|length > 1 ? 's' : '' }}:</span>

+ 1 - 1
src/Packagist/WebBundle/Resources/views/layout.html.twig

@@ -17,7 +17,7 @@
         <script src="{{ asset('bundles/packagistweb/js/html5.js') }}"></script>
         <![endif]-->
 
-        <link rel="stylesheet" href="{{ asset('bundles/packagistweb/css/main.css?v=5') }}" />
+        <link rel="stylesheet" href="{{ asset('bundles/packagistweb/css/main.css?v=6') }}" />
         <link rel="stylesheet" href="{{ asset('css/humane/jackedup.css?v=2') }}" />
 
         {# {% stylesheets