瀏覽代碼

Merge remote-tracking branch 'simensen/source-reference'

Jordi Boggiano 12 年之前
父節點
當前提交
2bbb7235ab

+ 5 - 1
src/Packagist/WebBundle/Resources/public/css/main.css

@@ -512,6 +512,10 @@ form ul {
   margin-bottom: 5px;
   cursor: pointer;
 }
+.package .version .source-reference {
+  padding-left: 10px;
+  font-size: 12px;
+}
 .package .version .release-date {
   padding-left: 10px;
   font-size: 14px;
@@ -693,4 +697,4 @@ pre {
   @page { margin: 0.5cm; }
   p, h2, h3 { orphans: 3; widows: 3; }
   h2, h3{ page-break-after: avoid; }
-}
+}

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

@@ -124,6 +124,9 @@
                                     {% if version.hasVersionAlias() %}
                                         / {{ version.versionAlias }}
                                     {% endif %}
+                                    {% if version.isDevelopment %}
+                                    <span class="source-reference">reference: {{ version.source.reference|prettify_source_reference }}</span>
+                                    {% endif %}
                                     <span class="release-date">{{ version.releasedAt|date("Y-m-d H:i") }} UTC</span>
                                     <span class="license{% if not version.license %} unknown{% endif %}">{{ version.license ? version.license|join(', ') : 'Unknown License' }}</span>
                                 </h1>

+ 16 - 0
src/Packagist/WebBundle/Twig/PackagistExtension.php

@@ -23,6 +23,13 @@ class PackagistExtension extends \Twig_Extension
         );
     }
 
+    public function getFilters()
+    {
+        return array(
+            'prettify_source_reference' => new \Twig_Filter_Method($this, 'prettifySourceReference')
+        );
+    }
+
     public function getName()
     {
         return 'packagist';
@@ -37,4 +44,13 @@ class PackagistExtension extends \Twig_Extension
         return $this->doctrine->getRepository('PackagistWebBundle:Package')
             ->packageExists($package);
     }
+
+    public function prettifySourceReference($sourceReference)
+    {
+        if (preg_match('/^[a-f0-9]{40}$/', $sourceReference)) {
+            return substr($sourceReference, 0, 7);
+        }
+
+        return $sourceReference;
+    }
 }