⌈⌋ branch:  freshcode


Hex Artifact Content

Artifact c4b49acc051f1829f915856bb4d88f3af39a1a8d:

  • File page_launchpadreleases.php — part of check-in [686e87487e] at 2015-03-24 18:23:10 on branch trunk — Updated stylesheet to use table-layout for #main/#sidebar split. Padding still needs work. (user: mario size: 3713)

0000: 3c 3f 70 68 70 0a 2f 2a 2a 0a 20 2a 20 61 70 69  <?php./**. * api
0010: 3a 20 66 72 65 73 68 63 6f 64 65 0a 20 2a 20 74  : freshcode. * t
0020: 69 74 6c 65 3a 20 6c 61 75 6e 63 68 70 61 64 2d  itle: launchpad-
0030: 72 65 6c 65 61 73 65 73 0a 20 2a 20 64 65 73 63  releases. * desc
0040: 72 69 70 74 69 6f 6e 3a 20 64 75 6d 70 20 72 65  ription: dump re
0050: 6c 65 61 73 65 73 20 66 65 65 64 0a 20 2a 20 76  leases feed. * v
0060: 65 72 73 69 6f 6e 3a 20 30 2e 31 0a 20 2a 0a 20  ersion: 0.1. *. 
0070: 2a 20 4c 61 75 6e 63 68 70 61 64 20 69 73 20 70  * Launchpad is p
0080: 6f 6c 6c 65 64 20 62 79 20 61 20 63 72 6f 6e 20  olled by a cron 
0090: 73 63 72 69 70 74 2e 0a 20 2a 20 54 68 69 73 20  script.. * This 
00a0: 70 61 67 65 20 6a 75 73 74 20 64 69 73 70 6c 61  page just displa
00b0: 79 73 20 74 68 65 20 6c 61 74 65 73 74 20 70 72  ys the latest pr
00c0: 6f 6a 65 63 74 20 72 65 6c 65 61 73 65 73 2e 0a  oject releases..
00d0: 20 2a 0a 20 2a 2f 0a 0a 23 2d 2d 20 73 77 69 74   *. */..#-- swit
00e0: 63 68 20 64 61 74 61 62 61 73 65 0a 64 62 28 6e  ch database.db(n
00f0: 65 77 20 50 44 4f 28 22 73 71 6c 69 74 65 3a 6c  ew PDO("sqlite:l
0100: 61 75 6e 63 68 70 61 64 2e 64 62 22 29 29 3b 0a  aunchpad.db"));.
0110: 0a 69 6e 63 6c 75 64 65 28 22 74 65 6d 70 6c 61  .include("templa
0120: 74 65 2f 68 65 61 64 65 72 2e 70 68 70 22 29 3b  te/header.php");
0130: 0a 3f 3e 0a 20 20 3c 73 65 63 74 69 6f 6e 20 69  .?>.  <section i
0140: 64 3d 6d 61 69 6e 20 73 74 79 6c 65 3d 22 77 69  d=main style="wi
0150: 64 74 68 3a 37 35 25 22 20 63 6c 61 73 73 3d 63  dth:75%" class=c
0160: 6f 6e 74 61 69 6e 65 72 2d 77 69 64 74 68 3e 0a  ontainer-width>.
0170: 20 20 3c 68 32 3e 3c 69 6d 67 20 73 72 63 3d 22    <h2><img src="
0180: 68 74 74 70 73 3a 2f 2f 68 65 6c 70 2e 6c 61 75  https://help.lau
0190: 6e 63 68 70 61 64 2e 6e 65 74 2f 6d 6f 69 6e 5f  nchpad.net/moin_
01a0: 73 74 61 74 69 63 31 39 32 2f 6c 70 32 30 2f 69  static192/lp20/i
01b0: 6d 67 2f 6c 6f 67 6f 2e 70 6e 67 22 20 77 69 64  mg/logo.png" wid
01c0: 74 68 3d 32 38 20 68 65 69 67 68 74 3d 33 31 3e  th=28 height=31>
01d0: 20 4c 61 75 6e 63 68 70 61 64 20 52 65 6c 65 61   Launchpad Relea
01e0: 73 65 73 3c 2f 68 32 3e 0a 20 20 3c 61 72 74 69  ses</h2>.  <arti
01f0: 63 6c 65 20 63 6c 61 73 73 3d 6c 61 75 6e 63 68  cle class=launch
0200: 70 61 64 2d 72 65 6c 65 61 73 65 73 3e 0a 20 20  pad-releases>.  
0210: 0a 3c 73 74 79 6c 65 3e 0a 20 20 20 20 2f 2a 2a  .<style>.    /**
0220: 20 74 61 62 6c 65 20 2a 2a 2f 0a 20 20 20 20 2e   table **/.    .
0230: 6c 61 75 6e 63 68 70 61 64 2d 72 65 6c 65 61 73  launchpad-releas
0240: 65 73 20 7b 0a 20 20 20 20 20 20 20 77 69 64 74  es {.       widt
0250: 68 3a 20 31 30 30 25 3b 0a 20 20 20 20 7d 0a 20  h: 100%;.    }. 
0260: 20 20 20 23 6c 61 75 6e 63 68 70 61 64 72 65 6c     #launchpadrel
0270: 65 61 73 65 73 20 7b 0a 20 20 20 20 20 20 20 74  eases {.       t
0280: 61 62 6c 65 2d 6c 61 79 6f 75 74 3a 20 66 69 78  able-layout: fix
0290: 65 64 3b 0a 20 20 20 20 20 20 20 77 69 64 74 68  ed;.       width
02a0: 3a 20 31 30 30 25 3b 0a 20 20 20 20 7d 0a 20 20  : 100%;.    }.  
02b0: 20 20 74 72 2e 72 65 6c 65 61 73 65 20 7b 0a 20    tr.release {. 
02c0: 20 20 20 20 20 20 70 61 64 64 69 6e 67 3a 20 34        padding: 4
02d0: 70 74 20 31 70 74 3b 0a 20 20 20 20 20 20 20 66  pt 1pt;.       f
02e0: 6f 6e 74 2d 73 69 7a 65 3a 20 39 35 25 3b 0a 20  ont-size: 95%;. 
02f0: 20 20 20 20 20 20 62 6f 78 2d 73 68 61 64 6f 77        box-shadow
0300: 3a 20 6e 6f 6e 65 3b 0a 20 20 20 20 7d 0a 20 20  : none;.    }.  
0310: 20 20 2f 2a 2a 20 6c 6f 6e 67 20 66 69 65 6c 64    /** long field
0320: 73 20 2a 2a 2f 0a 20 20 20 20 74 64 2e 6c 70 2d  s **/.    td.lp-
0330: 72 65 6c 65 61 73 65 2d 6e 6f 74 65 73 2c 0a 20  release-notes,. 
0340: 20 20 20 74 64 2e 70 72 6f 6a 2d 64 65 73 63 20     td.proj-desc 
0350: 7b 0a 20 20 20 20 20 20 20 63 6f 6c 6f 72 3a 20  {.       color: 
0360: 23 34 34 34 3b 0a 20 20 20 20 20 20 20 66 6f 6e  #444;.       fon
0370: 74 2d 73 69 7a 65 3a 20 37 35 25 3b 0a 20 20 20  t-size: 75%;.   
0380: 20 7d 0a 20 20 20 20 74 72 2e 72 65 6c 65 61 73   }.    tr.releas
0390: 65 20 74 64 20 2e 6d 61 78 2d 68 65 69 67 68 74  e td .max-height
03a0: 20 7b 0a 20 20 20 20 20 20 20 6d 61 78 2d 68 65   {.       max-he
03b0: 69 67 68 74 3a 20 39 30 70 74 3b 0a 20 20 20 20  ight: 90pt;.    
03c0: 20 20 20 6f 76 65 72 66 6c 6f 77 3a 20 68 69 64     overflow: hid
03d0: 64 65 6e 3b 0a 20 20 20 20 20 20 20 74 65 78 74  den;.       text
03e0: 2d 6f 76 65 72 66 6c 6f 77 3a 20 65 6c 6c 69 70  -overflow: ellip
03f0: 73 69 73 3b 0a 20 20 20 20 7d 0a 20 20 20 20 2f  sis;.    }.    /
0400: 2a 2a 20 74 69 74 6c 65 20 2b 20 76 65 72 73 69  ** title + versi
0410: 6f 6e 20 2a 2a 2f 0a 20 20 20 20 2e 70 72 6f 6a  on **/.    .proj
0420: 2d 74 69 74 6c 65 20 61 20 7b 0a 20 20 20 20 20  -title a {.     
0430: 20 20 66 6f 6e 74 2d 73 69 7a 65 3a 20 31 30 35    font-size: 105
0440: 25 3b 0a 20 20 20 20 7d 0a 20 20 20 20 2e 70 72  %;.    }.    .pr
0450: 6f 67 2d 6c 61 6e 67 20 7b 0a 20 20 20 20 20 20  og-lang {.      
0460: 20 66 6f 6e 74 2d 73 69 7a 65 3a 20 36 30 25 3b   font-size: 60%;
0470: 0a 20 20 20 20 20 20 20 70 61 64 64 69 6e 67 3a  .       padding:
0480: 20 30 2e 35 70 74 20 31 70 74 3b 0a 20 20 20 20   0.5pt 1pt;.    
0490: 20 20 20 62 6f 72 64 65 72 3a 20 64 6f 74 74 65     border: dotte
04a0: 64 20 31 70 78 20 23 65 65 66 3b 0a 20 20 20 20  d 1px #eef;.    
04b0: 20 20 20 62 61 63 6b 67 72 6f 75 6e 64 3a 20 23     background: #
04c0: 66 31 66 33 66 66 3b 0a 20 20 20 20 20 20 20 63  f1f3ff;.       c
04d0: 6f 6c 6f 72 3a 20 23 61 61 65 3b 0a 20 20 20 20  olor: #aae;.    
04e0: 7d 0a 20 20 20 20 74 64 2e 70 72 6f 6a 2d 76 65  }.    td.proj-ve
04f0: 72 73 69 6f 6e 20 7b 0a 20 20 20 20 20 20 20 63  rsion {.       c
0500: 6f 6c 6f 72 3a 20 23 39 37 37 3b 0a 20 20 20 20  olor: #977;.    
0510: 7d 0a 20 20 20 20 74 64 2e 70 72 6f 6a 2d 76 65  }.    td.proj-ve
0520: 72 73 69 6f 6e 20 2e 76 65 72 73 69 6f 6e 20 7b  rsion .version {
0530: 0a 20 20 20 20 20 20 20 66 6f 6e 74 2d 73 69 7a  .       font-siz
0540: 65 3a 20 31 32 30 25 3b 0a 20 20 20 20 20 20 20  e: 120%;.       
0550: 66 6f 6e 74 2d 77 65 69 67 68 74 3a 20 36 30 30  font-weight: 600
0560: 3b 0a 20 20 20 20 7d 0a 20 20 20 20 2f 2a 2a 20  ;.    }.    /** 
0570: 75 72 6c 73 20 2a 2a 2f 0a 20 20 20 20 74 64 2e  urls **/.    td.
0580: 70 72 6f 6a 2d 75 72 6c 73 20 7b 0a 20 20 20 20  proj-urls {.    
0590: 20 20 20 66 6f 6e 74 2d 73 69 7a 65 3a 20 37 30     font-size: 70
05a0: 25 3b 0a 20 20 20 20 20 20 20 63 6f 6c 6f 72 3a  %;.       color:
05b0: 20 23 35 35 35 3b 0a 20 20 20 20 7d 0a 20 20 20   #555;.    }.   
05c0: 20 74 64 2e 70 72 6f 6a 2d 75 72 6c 73 20 61 20   td.proj-urls a 
05d0: 7b 0a 20 20 20 20 20 20 20 66 6f 6e 74 2d 73 69  {.       font-si
05e0: 7a 65 3a 20 39 35 25 3b 0a 20 20 20 20 20 20 20  ze: 95%;.       
05f0: 66 6f 6e 74 2d 77 65 69 67 68 74 3a 20 6e 6f 72  font-weight: nor
0600: 6d 61 6c 3b 0a 20 20 20 20 7d 0a 3c 2f 73 74 79  mal;.    }.</sty
0610: 6c 65 3e 0a 0a 20 20 20 20 20 3c 74 61 62 6c 65  le>..     <table
0620: 20 69 64 3d 6c 61 75 6e 63 68 70 61 64 72 65 6c   id=launchpadrel
0630: 65 61 73 65 73 3e 0a 20 20 20 20 20 3c 63 6f 6c  eases>.     <col
0640: 67 72 6f 75 70 3e 0a 20 20 20 20 20 20 20 20 3c  group>.        <
0650: 63 6f 6c 20 77 69 64 74 68 3d 22 31 35 25 22 3e  col width="15%">
0660: 0a 20 20 20 20 20 20 20 20 3c 63 6f 6c 20 77 69  .        <col wi
0670: 64 74 68 3d 22 31 35 25 22 3e 0a 20 20 20 20 20  dth="15%">.     
0680: 20 20 20 3c 63 6f 6c 20 77 69 64 74 68 3d 22 33     <col width="3
0690: 30 25 22 3e 0a 20 20 20 20 20 20 20 20 3c 63 6f  0%">.        <co
06a0: 6c 20 77 69 64 74 68 3d 22 32 30 25 22 3e 0a 20  l width="20%">. 
06b0: 20 20 20 20 20 20 20 3c 63 6f 6c 20 77 69 64 74         <col widt
06c0: 68 3d 22 32 30 25 22 3e 0a 20 20 20 20 20 3c 2f  h="20%">.     </
06d0: 63 6f 6c 67 72 6f 75 70 3e 0a 20 20 20 20 20 3c  colgroup>.     <
06e0: 3f 70 68 70 0a 0a 20 20 20 20 20 20 20 20 2f 2f  ?php..        //
06f0: 20 71 75 65 72 79 20 6c 61 74 65 73 74 20 20 20   query latest   
0700: 20 20 0a 20 20 20 20 20 20 20 20 24 71 20 3d 20    .        $q = 
0710: 64 62 28 22 0a 20 20 20 20 20 20 20 20 20 20 20  db(".           
0720: 20 20 53 45 4c 45 43 54 20 72 2e 6e 61 6d 65 2c    SELECT r.name,
0730: 20 72 2e 74 69 74 6c 65 2c 20 72 2e 76 65 72 73   r.title, r.vers
0740: 69 6f 6e 2c 20 72 2e 72 65 6c 65 61 73 65 5f 6e  ion, r.release_n
0750: 6f 74 65 73 2c 20 53 55 42 53 54 52 28 72 2e 64  otes, SUBSTR(r.d
0760: 61 74 65 5f 63 72 65 61 74 65 64 2c 20 31 2c 20  ate_created, 1, 
0770: 31 30 29 20 41 53 20 64 61 74 65 5f 63 72 65 61  10) AS date_crea
0780: 74 65 64 2c 0a 20 20 20 20 20 20 20 20 20 20 20  ted,.           
0790: 20 20 20 20 20 20 20 20 20 72 2e 77 65 62 5f 6c           r.web_l
07a0: 69 6e 6b 2c 0a 20 20 20 20 20 20 20 20 20 20 20  ink,.           
07b0: 20 20 20 20 20 20 20 20 20 70 2e 77 65 62 5f 6c           p.web_l
07c0: 69 6e 6b 20 41 53 20 6c 61 75 6e 63 68 70 61 64  ink AS launchpad
07d0: 5f 75 72 6c 2c 20 70 2e 70 72 6f 67 72 61 6d 6d  _url, p.programm
07e0: 69 6e 67 5f 6c 61 6e 67 75 61 67 65 2c 20 70 2e  ing_language, p.
07f0: 68 6f 6d 65 70 61 67 65 5f 75 72 6c 2c 20 70 2e  homepage_url, p.
0800: 64 69 73 70 6c 61 79 5f 6e 61 6d 65 2c 0a 20 20  display_name,.  
0810: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
0820: 20 20 70 2e 73 75 6d 6d 61 72 79 2c 20 70 2e 74    p.summary, p.t
0830: 69 74 6c 65 20 41 53 20 70 72 6f 6a 5f 74 69 74  itle AS proj_tit
0840: 6c 65 2c 20 70 2e 64 65 73 63 72 69 70 74 69 6f  le, p.descriptio
0850: 6e 2c 20 70 2e 73 63 72 65 65 6e 73 68 6f 74 73  n, p.screenshots
0860: 5f 75 72 6c 0a 20 20 20 20 20 20 20 20 20 20 20  _url.           
0870: 20 20 20 20 46 52 4f 4d 20 72 65 6c 65 61 73 65      FROM release
0880: 73 20 41 53 20 72 0a 20 20 20 20 20 20 20 20 20  s AS r.         
0890: 20 4c 45 46 54 20 4a 4f 49 4e 20 70 72 6f 6a 65   LEFT JOIN proje
08a0: 63 74 73 20 41 53 20 70 0a 20 20 20 20 20 20 20  cts AS p.       
08b0: 20 20 20 20 20 20 20 20 20 20 4f 4e 20 70 2e 6e            ON p.n
08c0: 61 6d 65 20 3d 20 72 2e 6e 61 6d 65 0a 20 20 20  ame = r.name.   
08d0: 20 20 20 20 20 20 20 20 4f 52 44 45 52 20 42 59          ORDER BY
08e0: 20 64 61 74 65 5f 63 72 65 61 74 65 64 20 44 45   date_created DE
08f0: 53 43 0a 20 20 20 20 20 20 20 20 20 20 20 20 20  SC.             
0900: 20 4c 49 4d 49 54 20 31 30 30 0a 20 20 20 20 20   LIMIT 100.     
0910: 20 20 20 22 29 3b 0a 20 20 20 20 20 20 20 20 0a     ");.        .
0920: 20 20 20 20 20 20 20 20 2f 2f 20 70 72 69 6e 74          // print
0930: 20 69 6e 20 74 61 62 6c 65 0a 20 20 20 20 20 20   in table.      
0940: 20 20 66 6f 72 65 61 63 68 20 28 24 71 20 61 73    foreach ($q as
0950: 20 24 72 6f 77 29 20 7b 0a 20 20 20 20 20 20 20   $row) {.       
0960: 20 20 20 20 20 24 72 6f 77 20 3d 20 61 72 72 61       $row = arra
0970: 79 5f 6d 61 70 28 22 69 6e 70 75 74 3a 3a 68 74  y_map("input::ht
0980: 6d 6c 22 2c 20 24 72 6f 77 29 3b 0a 20 20 20 20  ml", $row);.    
0990: 20 20 20 20 20 20 20 20 70 72 69 6e 74 20 3c 3c          print <<
09a0: 3c 48 54 4d 4c 0a 0a 20 20 20 20 20 20 20 3c 74  <HTML..       <t
09b0: 72 20 63 6c 61 73 73 3d 72 65 6c 65 61 73 65 3e  r class=release>
09c0: 0a 20 20 20 20 20 20 20 20 20 3c 74 64 20 63 6c  .         <td cl
09d0: 61 73 73 3d 70 72 6f 6a 2d 74 69 74 6c 65 20 74  ass=proj-title t
09e0: 69 74 6c 65 3d 22 24 72 6f 77 5b 73 75 6d 6d 61  itle="$row[summa
09f0: 72 79 5d 22 3e 0a 20 20 20 20 20 20 20 20 20 20  ry]">.          
0a00: 20 20 3c 61 20 68 72 65 66 3d 22 24 72 6f 77 5b    <a href="$row[
0a10: 6c 61 75 6e 63 68 70 61 64 5f 75 72 6c 5d 22 3e  launchpad_url]">
0a20: 20 24 72 6f 77 5b 70 72 6f 6a 5f 74 69 74 6c 65   $row[proj_title
0a30: 5d 20 3c 2f 61 3e 3c 62 72 3e 0a 20 20 20 20 20  ] </a><br>.     
0a40: 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61         <span cla
0a50: 73 73 3d 70 72 6f 67 2d 6c 61 6e 67 3e 20 24 72  ss=prog-lang> $r
0a60: 6f 77 5b 70 72 6f 67 72 61 6d 6d 69 6e 67 5f 6c  ow[programming_l
0a70: 61 6e 67 75 61 67 65 5d 20 3c 2f 73 70 61 6e 3e  anguage] </span>
0a80: 0a 20 20 20 20 20 20 20 20 20 3c 2f 74 64 3e 0a  .         </td>.
0a90: 20 20 20 20 20 20 20 20 20 3c 74 64 20 63 6c 61           <td cla
0aa0: 73 73 3d 70 72 6f 6a 2d 76 65 72 73 69 6f 6e 3e  ss=proj-version>
0ab0: 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 61 20  .            <a 
0ac0: 68 72 65 66 3d 22 24 72 6f 77 5b 77 65 62 5f 6c  href="$row[web_l
0ad0: 69 6e 6b 5d 22 3e 20 e2 86 92 3c 65 6d 20 63 6c  ink]"> ...<em cl
0ae0: 61 73 73 3d 76 65 72 73 69 6f 6e 3e 20 24 72 6f  ass=version> $ro
0af0: 77 5b 76 65 72 73 69 6f 6e 5d 20 3c 2f 65 6d 3e  w[version] </em>
0b00: 20 3c 2f 61 3e 0a 20 20 20 20 20 20 20 20 20 20   </a>.          
0b10: 20 20 3c 64 69 76 20 63 6c 61 73 73 3d 72 65 6c    <div class=rel
0b20: 65 61 73 65 2d 64 61 74 65 3e 24 72 6f 77 5b 64  ease-date>$row[d
0b30: 61 74 65 5f 63 72 65 61 74 65 64 5d 3c 2f 64 69  ate_created]</di
0b40: 76 3e 0a 20 20 20 20 20 20 20 20 20 3c 2f 74 64  v>.         </td
0b50: 3e 0a 20 20 20 20 20 20 20 20 20 3c 74 64 20 63  >.         <td c
0b60: 6c 61 73 73 3d 6c 70 2d 72 65 6c 65 61 73 65 2d  lass=lp-release-
0b70: 6e 6f 74 65 73 3e 0a 20 20 20 20 20 20 20 20 20  notes>.         
0b80: 20 20 3c 64 69 76 20 63 6c 61 73 73 3d 6d 61 78    <div class=max
0b90: 2d 68 65 69 67 68 74 3e 0a 20 20 20 20 20 20 20  -height>.       
0ba0: 20 20 20 20 20 20 20 24 72 6f 77 5b 72 65 6c 65         $row[rele
0bb0: 61 73 65 5f 6e 6f 74 65 73 5d 0a 20 20 20 20 20  ase_notes].     
0bc0: 20 20 20 20 20 20 3c 2f 64 69 76 3e 0a 20 20 20        </div>.   
0bd0: 20 20 20 20 20 20 3c 2f 74 64 3e 0a 20 20 20 20        </td>.    
0be0: 20 20 20 20 20 3c 74 64 20 63 6c 61 73 73 3d 70       <td class=p
0bf0: 72 6f 6a 2d 75 72 6c 73 3e 0a 20 20 20 20 20 20  roj-urls>.      
0c00: 20 20 20 20 20 55 72 6c 20 3c 61 20 68 72 65 66       Url <a href
0c10: 3d 22 24 72 6f 77 5b 68 6f 6d 65 70 61 67 65 5f  ="$row[homepage_
0c20: 75 72 6c 5d 22 3e 3c 62 3e 20 24 72 6f 77 5b 68  url]"><b> $row[h
0c30: 6f 6d 65 70 61 67 65 5f 75 72 6c 5d 20 3c 2f 62  omepage_url] </b
0c40: 3e 3c 2f 61 3e 3c 62 72 3e 0a 20 20 20 20 20 20  ></a><br>.      
0c50: 20 20 20 20 20 4c 50 20 3c 61 20 68 72 65 66 3d       LP <a href=
0c60: 22 24 72 6f 77 5b 6c 61 75 6e 63 68 70 61 64 5f  "$row[launchpad_
0c70: 75 72 6c 5d 22 3e 20 24 72 6f 77 5b 6c 61 75 6e  url]"> $row[laun
0c80: 63 68 70 61 64 5f 75 72 6c 5d 20 3c 2f 61 3e 3c  chpad_url] </a><
0c90: 62 72 3e 0a 20 20 20 20 20 20 20 20 20 20 20 49  br>.           I
0ca0: 6d 67 20 3c 61 20 68 72 65 66 3d 22 24 72 6f 77  mg <a href="$row
0cb0: 5b 73 63 72 65 65 6e 73 68 6f 74 73 5f 75 72 6c  [screenshots_url
0cc0: 5d 22 3e 20 24 72 6f 77 5b 73 63 72 65 65 6e 73  ]"> $row[screens
0cd0: 68 6f 74 73 5f 75 72 6c 5d 20 3c 2f 61 3e 3c 62  hots_url] </a><b
0ce0: 72 3e 0a 20 20 20 20 20 20 20 20 20 3c 2f 74 64  r>.         </td
0cf0: 3e 0a 20 20 20 20 20 20 20 20 20 3c 74 64 20 63  >.         <td c
0d00: 6c 61 73 73 3d 70 72 6f 6a 2d 64 65 73 63 3e 0a  lass=proj-desc>.
0d10: 20 20 20 20 20 20 20 20 20 20 20 3c 64 69 76 20             <div 
0d20: 63 6c 61 73 73 3d 6d 61 78 2d 68 65 69 67 68 74  class=max-height
0d30: 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20  >.              
0d40: 24 72 6f 77 5b 64 65 73 63 72 69 70 74 69 6f 6e  $row[description
0d50: 5d 0a 20 20 20 20 20 20 20 20 20 20 20 3c 2f 64  ].           </d
0d60: 69 76 3e 0a 20 20 20 20 20 20 20 20 20 3c 2f 74  iv>.         </t
0d70: 64 3e 0a 20 20 20 20 20 20 20 3c 2f 74 72 3e 0a  d>.       </tr>.
0d80: 0a 48 54 4d 4c 3b 0a 20 20 20 20 20 20 20 20 7d  .HTML;.        }
0d90: 0a 20 20 20 20 20 0a 20 20 20 20 20 3f 3e 0a 20  .     .     ?>. 
0da0: 20 20 20 20 3c 2f 74 61 62 6c 65 3e 0a 0a 20 20      </table>..  
0db0: 3c 2f 61 72 74 69 63 6c 65 3e 0a 0a 20 20 3c 70  </article>..  <p
0dc0: 20 73 74 79 6c 65 3d 22 62 72 65 61 6b 3a 20 62   style="break: b
0dd0: 6f 74 68 3b 20 63 6c 65 61 72 3a 20 61 6c 6c 3b  oth; clear: all;
0de0: 20 62 61 63 6b 67 72 6f 75 6e 64 3a 20 23 66 33   background: #f3
0df0: 66 35 66 37 3b 20 70 61 64 64 69 6e 67 3a 20 32  f5f7; padding: 2
0e00: 30 70 74 3b 22 3e 0a 20 20 20 20 50 6f 6c 6c 65  0pt;">.    Polle
0e10: 64 20 76 69 61 20 3c 61 20 68 72 65 66 3d 22 68  d via <a href="h
0e20: 74 74 70 73 3a 2f 2f 6c 61 75 6e 63 68 70 61 64  ttps://launchpad
0e30: 2e 6e 65 74 2f 2b 61 70 69 64 6f 63 2f 22 3e 4c  .net/+apidoc/">L
0e40: 61 75 6e 63 68 70 61 64 20 41 50 49 3c 2f 61 3e  aunchpad API</a>
0e50: 2e 0a 20 20 3c 2f 70 3e 0a 0a 3c 3f 70 68 70 0a  ..  </p>..<?php.
0e60: 69 6e 63 6c 75 64 65 28 22 74 65 6d 70 6c 61 74  include("templat
0e70: 65 2f 62 6f 74 74 6f 6d 2e 70 68 70 22 29 3b 0a  e/bottom.php");.
0e80: 0a                                               .