Browse Source

Use consistent class names

pjc 5 years ago
parent
commit
48bec6c52c

+ 1
- 1
classes/feed.class.php View File

1
 <?
1
 <?
2
-class FEED {
2
+class Feed {
3
   function open_feed() {
3
   function open_feed() {
4
     header("Content-type: application/xml; charset=UTF-8");
4
     header("Content-type: application/xml; charset=UTF-8");
5
     echo "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n","<rss xmlns:dc=\"http://purl.org/dc/elements/1.1/\" version=\"2.0\">\n\t<channel>\n";
5
     echo "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n","<rss xmlns:dc=\"http://purl.org/dc/elements/1.1/\" version=\"2.0\">\n\t<channel>\n";

+ 76
- 27
classes/torrent_form.class.php View File

98
     <input type="text" value="<?= $Announce ?>" size="74"
98
     <input type="text" value="<?= $Announce ?>" size="74"
99
       onclick="this.select();" readonly="readonly" /> <br />
99
       onclick="this.select();" readonly="readonly" /> <br />
100
     <?php
100
     <?php
101
-
102
     }
101
     }
103
         } ?>
102
         } ?>
104
 
103
 
152
     <!-- New torrent options: file and category -->
151
     <!-- New torrent options: file and category -->
153
     <?php if ($this->NewTorrent) { ?>
152
     <?php if ($this->NewTorrent) { ?>
154
     <table cellpadding="3" cellspacing="1" border="0" class="layout" width="100%">
153
     <table cellpadding="3" cellspacing="1" border="0" class="layout" width="100%">
154
+
155
       <tr>
155
       <tr>
156
-        <td class="label">Torrent File</td>
156
+        <td class="label">
157
+          Torrent File
158
+          <strong class="important_text">*</strong>
159
+        </td>
157
         <td><input id="file" type="file" name="file_input" size="50" /><br />
160
         <td><input id="file" type="file" name="file_input" size="50" /><br />
158
           Use the above announce URL and set the private flag in your BitTorrent client, e.g.,
161
           Use the above announce URL and set the private flag in your BitTorrent client, e.g.,
159
           <code>mktorrent -p -a &lt;announce&gt; &lt;target folder&gt;</code>
162
           <code>mktorrent -p -a &lt;announce&gt; &lt;target folder&gt;</code>
160
         </td>
163
         </td>
161
       </tr>
164
       </tr>
165
+
162
       <tr>
166
       <tr>
163
-        <td class="label">Type</td>
167
+        <td class="label">
168
+          Type
169
+          <strong class="important_text">*</strong>
170
+        </td>
164
         <td>
171
         <td>
165
           <select id="categories" name="type" onchange="Categories()" <?= ($this->DisabledFlag) ? ' disabled="disabled"' : '' ?>>
172
           <select id="categories" name="type" onchange="Categories()" <?= ($this->DisabledFlag) ? ' disabled="disabled"' : '' ?>>
166
             <?php
173
             <?php
195
         if (!$this->NewTorrent) {
202
         if (!$this->NewTorrent) {
196
             if (check_perms('torrents_freeleech')) {
203
             if (check_perms('torrents_freeleech')) {
197
                 ?>
204
                 ?>
205
+
198
       <tr id="freetorrent">
206
       <tr id="freetorrent">
199
         <td class="label">Freeleech</td>
207
         <td class="label">Freeleech</td>
200
         <td>
208
         <td>
223
           </select>
231
           </select>
224
         </td>
232
         </td>
225
       </tr>
233
       </tr>
234
+
226
       <?php
235
       <?php
227
             }
236
             }
228
         } ?>
237
         } ?>
268
 <!-- Catalogue number field -->
277
 <!-- Catalogue number field -->
269
 <table cellpadding="3" cellspacing="1" border="0" class="layout slice" width="100%">
278
 <table cellpadding="3" cellspacing="1" border="0" class="layout slice" width="100%">
270
   <?php if ($this->NewTorrent) { ?>
279
   <?php if ($this->NewTorrent) { ?>
280
+
271
   <tr id="javdb_tr">
281
   <tr id="javdb_tr">
272
     <td class="label tooltip" title="">Accession Number</td>
282
     <td class="label tooltip" title="">Accession Number</td>
273
     <td>
283
     <td>
275
         value="<?= display_str($Torrent['CatalogueNumber']) ?>"
285
         value="<?= display_str($Torrent['CatalogueNumber']) ?>"
276
         <?= $this->Disabled ?>/>
286
         <?= $this->Disabled ?>/>
277
       <?php if (!$this->DisabledFlag) { ?>
287
       <?php if (!$this->DisabledFlag) { ?>
278
-      <input type="button" autofill="jav" value="Autofill">
279
-      </input>
280
-      <em>Coming Soon!</em><br />
288
+      <input type="button" autofill="jav" value="Autofill" style="pointer-events: none; opacity: 0.5;">
289
+      </input><br />
281
       <!-- Autofill only supports RefSeq and UniProt; -->
290
       <!-- Autofill only supports RefSeq and UniProt; -->
282
       Enter any ID number that corresponds to the data,
291
       Enter any ID number that corresponds to the data,
283
       preferring RefSeq and UniProt
292
       preferring RefSeq and UniProt
295
       <?php } ?>
304
       <?php } ?>
296
     </td>
305
     </td>
297
   </tr>
306
   </tr>
307
+
298
   <tr id="ehentai_tr" class="hidden">
308
   <tr id="ehentai_tr" class="hidden">
299
     <td class="label">e-hentai URL (optional)</td>
309
     <td class="label">e-hentai URL (optional)</td>
300
     <td>
310
     <td>
307
 
317
 
308
   <!-- Three title fields -->
318
   <!-- Three title fields -->
309
   <tr id="title_tr">
319
   <tr id="title_tr">
310
-    <td class="label">Torrent Title</td>
320
+    <td class="label">
321
+      Torrent Title
322
+      <strong class="important_text">*</strong>
323
+    </td>
311
     <td>
324
     <td>
312
       <input type="text" id="title" name="title" size="60"
325
       <input type="text" id="title" name="title" size="60"
313
         value="<?= display_str($Torrent['Title']) ?>"
326
         value="<?= display_str($Torrent['Title']) ?>"
338
 
351
 
339
   <!-- Multiple artists -->
352
   <!-- Multiple artists -->
340
   <tr id="idols_tr">
353
   <tr id="idols_tr">
341
-    <td class="label tooltip" title="">Authors(s)</td>
354
+    <td class="label">
355
+      Authors(s)
356
+      <strong class="important_text">*</strong>
357
+    </td>
342
     <td id="idolfields">
358
     <td id="idolfields">
343
       One per field, e.g., Robert K. Mortimer [+] David Schild<br />
359
       One per field, e.g., Robert K. Mortimer [+] David Schild<br />
344
       <?php
360
       <?php
345
         if (!empty($Torrent['Artists'])) {
361
         if (!empty($Torrent['Artists'])) {
346
             foreach ($Torrent['Artists'] as $Num => $Artist) {
362
             foreach ($Torrent['Artists'] as $Num => $Artist) {
347
                 ?>
363
                 ?>
348
-      <input type="text" id="idols_<?= $Num ?>" name="idols[]"
349
-        size="45"
364
+      <input type="text" id="idols_<?= $Num ?>"
365
+        name="idols[]" size="45"
350
         value="<?= display_str($Artist['name']) ?>"
366
         value="<?= display_str($Artist['name']) ?>"
351
         <?= $this->Disabled ?>/>
367
         <?= $this->Disabled ?>/>
352
       <?php if ($Num === 0) { ?>
368
       <?php if ($Num === 0) { ?>
367
 
383
 
368
   <!-- Production studio -->
384
   <!-- Production studio -->
369
   <tr id="studio_tr">
385
   <tr id="studio_tr">
370
-    <td class="label">Department/Lab</td>
386
+    <td class="label">
387
+      Department/Lab
388
+      <strong class="important_text">*</strong>
389
+    </td>
371
     <td>
390
     <td>
372
       <input type="text" id="studio" name="studio" size="60"
391
       <input type="text" id="studio" name="studio" size="60"
373
         value="<?= display_str($Torrent['Studio']) ?>"
392
         value="<?= display_str($Torrent['Studio']) ?>"
389
 
408
 
390
   <!-- Year -->
409
   <!-- Year -->
391
   <tr id="year_tr">
410
   <tr id="year_tr">
392
-    <td class="label">Year</td>
411
+    <td class="label">
412
+      Year
413
+      <strong class="important_text">*</strong>
414
+    </td>
393
     <td>
415
     <td>
394
       <input type="text" id="year" name="year" maxlength="4" size="5"
416
       <input type="text" id="year" name="year" maxlength="4" size="5"
395
         value="<?= display_str($Torrent['Year']) ?>"
417
         value="<?= display_str($Torrent['Year']) ?>"
401
   <!-- Media type -->
423
   <!-- Media type -->
402
   <?php } # Ends if NewTorrent line 256?>
424
   <?php } # Ends if NewTorrent line 256?>
403
   <tr id="media_tr">
425
   <tr id="media_tr">
404
-    <td class="label">Platform</td>
426
+    <td class="label">
427
+      Platform
428
+      <strong class="important_text">*</strong>
429
+    </td>
405
     <td>
430
     <td>
406
       <select name="media">
431
       <select name="media">
407
         <option>---</option>
432
         <option>---</option>
420
 
445
 
421
   <!-- Alternate media -->
446
   <!-- Alternate media -->
422
   <tr id="media_manga_tr">
447
   <tr id="media_manga_tr">
423
-    <td class="label">Platform</td>
448
+    <td class="label">
449
+      Platform
450
+      <strong class="important_text">*</strong>
451
+    </td>
424
     <td>
452
     <td>
425
       <select name="media">
453
       <select name="media">
426
         <option>---</option>
454
         <option>---</option>
439
 
467
 
440
   <!-- Container -->
468
   <!-- Container -->
441
   <tr id="container_tr">
469
   <tr id="container_tr">
442
-    <td class="label">Format</td>
470
+    <td class="label">
471
+      Format
472
+      <strong class="important_text">*</strong>
473
+    </td>
443
     <td>
474
     <td>
444
       <select name="container">
475
       <select name="container">
445
-        <option>---</option>
476
+        <option value="Autofill">Autofill</option>
446
         <?php
477
         <?php
447
           foreach ($this->Containers as $Cont) {
478
           foreach ($this->Containers as $Cont) {
448
               echo "\t\t\t\t\t\t<option value=\"$Cont\"";
479
               echo "\t\t\t\t\t\t<option value=\"$Cont\"";
452
               echo ">$Cont</option>\n";
483
               echo ">$Cont</option>\n";
453
           } ?>
484
           } ?>
454
       </select><br />
485
       </select><br />
455
-      Data file format
486
+      Data file format, or detect from file list
456
     </td>
487
     </td>
457
   </tr>
488
   </tr>
458
 
489
 
459
   <!-- Alternate container -->
490
   <!-- Alternate container -->
460
   <tr id="container_games_tr">
491
   <tr id="container_games_tr">
461
-    <td class="label">Format</td>
492
+    <td class="label">
493
+      Format
494
+      <strong class="important_text">*</strong>
495
+    </td>
462
     <td>
496
     <td>
463
       <select id="container" name="container">
497
       <select id="container" name="container">
464
-        <option>---</option>
498
+        <option value="Autofill">Autofill</option>
465
         <?php
499
         <?php
466
           foreach ($this->ContainersGames as $Container) {
500
           foreach ($this->ContainersGames as $Container) {
467
               echo "\t\t\t\t\t\t<option value=\"$Container\"";
501
               echo "\t\t\t\t\t\t<option value=\"$Container\"";
471
               echo ">$Container</option>\n";
505
               echo ">$Container</option>\n";
472
           } ?>
506
           } ?>
473
       </select><br />
507
       </select><br />
474
-      Data file format
508
+      Data file format, or detect from file list
475
     </td>
509
     </td>
476
   </tr>
510
   </tr>
477
 
511
 
478
   <!-- Resolution -->
512
   <!-- Resolution -->
479
   <tr id="resolution_tr">
513
   <tr id="resolution_tr">
480
-    <td class="label">Assembly Level</td>
514
+    <td class="label">
515
+      Assembly Level
516
+      <strong class="important_text">*</strong>
517
+    </td>
481
     <td>
518
     <td>
482
       <select id="ressel" name="ressel" onchange="SetResolution()">
519
       <select id="ressel" name="ressel" onchange="SetResolution()">
483
         <option value="">---</option>
520
         <option value="">---</option>
510
 
547
 
511
   <!-- Compression -->
548
   <!-- Compression -->
512
   <tr id="archive_tr">
549
   <tr id="archive_tr">
513
-    <td class="label">Archive</td>
550
+    <td class="label">
551
+      Archive
552
+      <strong class="important_text">*</strong>
553
+    </td>
514
     <td>
554
     <td>
515
       <select name='archive'>
555
       <select name='archive'>
516
-        <option>---</option>
556
+        <option value="Autofill">Autofill</option>
517
         <?php
557
         <?php
518
           foreach ($this->Archives as $Archive) {
558
           foreach ($this->Archives as $Archive) {
519
               echo "\t\t\t\t\t\t<option value=\"$Archive\"";
559
               echo "\t\t\t\t\t\t<option value=\"$Archive\"";
523
               echo ">$Archive</option>\n";
563
               echo ">$Archive</option>\n";
524
           } ?>
564
           } ?>
525
       </select><br />
565
       </select><br />
526
-      Compression algorithm
566
+      Compression algorithm, or detect from file list
527
     </td>
567
     </td>
528
   </tr>
568
   </tr>
529
 
569
 
530
   <!-- Encoding -->
570
   <!-- Encoding -->
531
   <tr id="codec_tr">
571
   <tr id="codec_tr">
532
-    <td class="label">License</td>
572
+    <td class="label">
573
+      License
574
+      <strong class="important_text">*</strong>
575
+    </td>
533
     <td>
576
     <td>
534
       <select name="codec">
577
       <select name="codec">
535
         <option>---</option>
578
         <option>---</option>
550
   <!-- Tags -->
593
   <!-- Tags -->
551
   <?php if ($this->NewTorrent) { ?>
594
   <?php if ($this->NewTorrent) { ?>
552
   <tr id="tags_tr">
595
   <tr id="tags_tr">
553
-    <td class="label">Tags</td>
596
+    <td class="label">
597
+      Tags
598
+      <strong class="important_text">*</strong>
599
+    </td>
554
     <td>
600
     <td>
555
       <?php
601
       <?php
556
         $GenreTags = G::$Cache->get_value('genre_tags');
602
         $GenreTags = G::$Cache->get_value('genre_tags');
604
 
650
 
605
   <!-- Album description -->
651
   <!-- Album description -->
606
   <tr id="group_desc_tr">
652
   <tr id="group_desc_tr">
607
-    <td class="label">Torrent Group Description</td>
653
+    <td class="label">
654
+      Torrent Group Description
655
+      <strong class="important_text">*</strong>
656
+    </td>
608
     <td>
657
     <td>
609
       <?php
658
       <?php
610
         new TEXTAREA_PREVIEW(
659
         new TEXTAREA_PREVIEW(

+ 4
- 3
classes/validate.class.php View File

1
 <?php
1
 <?php
2
 
2
 
3
 /*-- TODO ---------------------------//
3
 /*-- TODO ---------------------------//
4
-Writeup how to use the VALIDATE class, add in support for form id checks
4
+Writeup how to use the Validate class, add in support for form id checks
5
 Complete the number and date validation
5
 Complete the number and date validation
6
-Remove the GenerateJS stuff
7
 //-----------------------------------*/
6
 //-----------------------------------*/
8
 
7
 
9
-class VALIDATE
8
+class Validate
10
 {
9
 {
11
     public $Fields = [];
10
     public $Fields = [];
12
 
11
 
170
 
169
 
171
   public function GenerateJS($FormID)
170
   public function GenerateJS($FormID)
172
   {
171
   {
172
+      return true;
173
+
173
       /*
174
       /*
174
       $ReturnJS = "<script type=\"text/javascript\" language=\"javascript\">\r\n";
175
       $ReturnJS = "<script type=\"text/javascript\" language=\"javascript\">\r\n";
175
       $ReturnJS .= "function formVal() {\r\n";
176
       $ReturnJS .= "function formVal() {\r\n";

+ 1
- 1
feeds.php View File

17
 require_once(SERVER_ROOT.'/classes/cache.class.php'); // Require the caching class
17
 require_once(SERVER_ROOT.'/classes/cache.class.php'); // Require the caching class
18
 require_once(SERVER_ROOT.'/classes/feed.class.php'); // Require the feeds class
18
 require_once(SERVER_ROOT.'/classes/feed.class.php'); // Require the feeds class
19
 $Cache = new Cache(MEMCACHED_SERVERS); // Load the caching class
19
 $Cache = new Cache(MEMCACHED_SERVERS); // Load the caching class
20
-$Feed = new FEED; // Load the time class
20
+$Feed = new Feed; // Load the time class
21
 
21
 
22
 function check_perms()
22
 function check_perms()
23
 {
23
 {

+ 1
- 1
sections/bookmarks/add.php View File

6
 if (!Bookmarks::can_bookmark($_GET['type'])) {
6
 if (!Bookmarks::can_bookmark($_GET['type'])) {
7
   error(404);
7
   error(404);
8
 }
8
 }
9
-$Feed = new FEED;
9
+$Feed = new Feed;
10
 
10
 
11
 $Type = $_GET['type'];
11
 $Type = $_GET['type'];
12
 
12
 

+ 1
- 1
sections/collages/add_artist.php View File

4
 authorize();
4
 authorize();
5
 
5
 
6
 include(SERVER_ROOT.'/classes/validate.class.php');
6
 include(SERVER_ROOT.'/classes/validate.class.php');
7
-$Val = new VALIDATE;
7
+$Val = new Validate;
8
 
8
 
9
 function add_artist($CollageID, $ArtistID) {
9
 function add_artist($CollageID, $ArtistID) {
10
   global $Cache, $LoggedUser, $DB;
10
   global $Cache, $LoggedUser, $DB;

+ 1
- 1
sections/collages/add_torrent.php View File

3
 authorize();
3
 authorize();
4
 
4
 
5
 include(SERVER_ROOT.'/classes/validate.class.php');
5
 include(SERVER_ROOT.'/classes/validate.class.php');
6
-$Val = new VALIDATE;
6
+$Val = new Validate;
7
 
7
 
8
 function add_torrent($CollageID, $GroupID) {
8
 function add_torrent($CollageID, $GroupID) {
9
   global $Cache, $LoggedUser, $DB;
9
   global $Cache, $LoggedUser, $DB;

+ 1
- 1
sections/collages/new_handle.php View File

2
 authorize();
2
 authorize();
3
 
3
 
4
 include(SERVER_ROOT.'/classes/validate.class.php');
4
 include(SERVER_ROOT.'/classes/validate.class.php');
5
-$Val = new VALIDATE;
5
+$Val = new Validate;
6
 
6
 
7
 $P = [];
7
 $P = [];
8
 $P = db_array($_POST);
8
 $P = db_array($_POST);

+ 1
- 1
sections/login/index.php View File

23
 require_once SERVER_ROOT.'/classes/u2f.class.php';
23
 require_once SERVER_ROOT.'/classes/u2f.class.php';
24
 require_once SERVER_ROOT.'/classes/validate.class.php';
24
 require_once SERVER_ROOT.'/classes/validate.class.php';
25
 
25
 
26
-$Validate = new VALIDATE;
26
+$Validate = new Validate;
27
 $TwoFA = new TwoFactorAuth(SITE_NAME);
27
 $TwoFA = new TwoFactorAuth(SITE_NAME);
28
 $U2F = new u2f\U2F('https://'.SITE_DOMAIN);
28
 $U2F = new u2f\U2F('https://'.SITE_DOMAIN);
29
 
29
 

+ 1
- 1
sections/register/index.php View File

11
 
11
 
12
 include(SERVER_ROOT.'/classes/validate.class.php');
12
 include(SERVER_ROOT.'/classes/validate.class.php');
13
 
13
 
14
-$Val = NEW VALIDATE;
14
+$Val = NEW Validate;
15
 
15
 
16
 if (!empty($_REQUEST['confirm'])) {
16
 if (!empty($_REQUEST['confirm'])) {
17
   // Confirm registration
17
   // Confirm registration

+ 368
- 336
sections/rules/upload.php View File

1
-<?
1
+<?php
2
 //Include the header
2
 //Include the header
3
 View::show_header('Uploading Rules', 'rules');
3
 View::show_header('Uploading Rules', 'rules');
4
 ?>
4
 ?>
7
   <div class="header">
7
   <div class="header">
8
     <h2>Upload</h2>
8
     <h2>Upload</h2>
9
   </div>
9
   </div>
10
-<!-- Uploading Rules Index Links -->
10
+  <!-- Uploading Rules Index Links -->
11
   <br />
11
   <br />
12
   <form class="search_form" name="rules" onsubmit="return false" action="">
12
   <form class="search_form" name="rules" onsubmit="return false" action="">
13
     <input type="text" id="search_string" value="Filter (empty to reset)" />
13
     <input type="text" id="search_string" value="Filter (empty to reset)" />
14
     <span id="Index">Searching for <strong>upload</strong> returns all rules containing that term.
14
     <span id="Index">Searching for <strong>upload</strong> returns all rules containing that term.
15
-    Searching for <strong>upload+trump</strong> returns all rules containing both terms</span>
15
+      Searching for <strong>upload+trump</strong> returns all rules containing both terms</span>
16
   </form>
16
   </form>
17
   <br />
17
   <br />
18
   <div class="before_rules">
18
   <div class="before_rules">
30
       </ul>
30
       </ul>
31
     </div>
31
     </div>
32
   </div>
32
   </div>
33
-<!-- Actual Uploading Rules -->
33
+  <!-- Actual Uploading Rules -->
34
   <div id="actual_rules">
34
   <div id="actual_rules">
35
     <div class="before_rules">
35
     <div class="before_rules">
36
 
36
 
37
       <h4 id="Intro"><a href="#Introk"><strong>&uarr;</strong></a> Introduction</h4>
37
       <h4 id="Intro"><a href="#Introk"><strong>&uarr;</strong></a> Introduction</h4>
38
-        <div class="box pad" style="padding: 10px 10px 10px 20px;">
38
+      <div class="box pad" style="padding: 10px 10px 10px 20px;">
39
         <p>
39
         <p>
40
-          <?= SITE_NAME ?> is the global DIYbio community's distributed data repository.
40
+          <?= SITE_NAME ?> is the global DIYbio community's
41
+          distributed data repository.
41
           The content includes richly annotated and searchable biological sequence and medical imaging data.
42
           The content includes richly annotated and searchable biological sequence and medical imaging data.
42
           It follows the example of private BitTorrent sites to
43
           It follows the example of private BitTorrent sites to
43
-          <a href="https://www.cambridge.org/core/services/aop-cambridge-core/content/view/2F379FE0CB50DF502F0075119FD3E060/S1744137417000650a.pdf/institutional_solutions_to_freeriding_in_peertopeer_networks_a_case_study_of_online_pirate_communities.pdf" target="_blank">address the free-rider problem</a>
44
+          <a href="https://www.cambridge.org/core/services/aop-cambridge-core/content/view/2F379FE0CB50DF502F0075119FD3E060/S1744137417000650a.pdf/institutional_solutions_to_freeriding_in_peertopeer_networks_a_case_study_of_online_pirate_communities.pdf"
45
+            target="_blank">address the free-rider problem</a>
44
           without recourse to institutional funding.
46
           without recourse to institutional funding.
45
         </p>
47
         </p>
46
 
48
 
54
           Thanks for taking an interest in this project and contributing to its success.
56
           Thanks for taking an interest in this project and contributing to its success.
55
           Please note that <?= SITE_NAME ?> isn't a pirate website.
57
           Please note that <?= SITE_NAME ?> isn't a pirate website.
56
         </p>
58
         </p>
57
-        </div>
59
+      </div>
58
 
60
 
59
       <h4 id="def"><a href="#defk"><strong>&uarr;</strong></a> Definitions</h4>
61
       <h4 id="def"><a href="#defk"><strong>&uarr;</strong></a> Definitions</h4>
60
       <div class="box pad" style="padding: 10px 10px 10px 20px;">
62
       <div class="box pad" style="padding: 10px 10px 10px 20px;">
61
         <ul>
63
         <ul>
62
-          <li><b>Torrent.</b> Broadly used as a noun to describe a <code>.torrent</code> file, the files associated with it, and any associated metadata indexed by the site. Used as a verb to describe the act of downloading or uploading data from or to the swarm.</li>
64
+          <li><b>Torrent.</b> Broadly used as a noun to describe a <code>.torrent</code> file, the files associated with
65
+            it, and any associated metadata indexed by the site. Used as a verb to describe the act of downloading or
66
+            uploading data from or to the swarm.</li>
63
           <li><b>Swarm.</b> All peers associated with a given torrent.</li>
67
           <li><b>Swarm.</b> All peers associated with a given torrent.</li>
64
           <li><b>Peer.</b> A client that has announced to the tracker and is part of the swarm.</b>
68
           <li><b>Peer.</b> A client that has announced to the tracker and is part of the swarm.</b>
65
-          <li><b>Seed.</b> When used as a verb, describes the act of uploading torrent content to other peers. When used as a noun, describes a peer who has all of content associated with a torrent as is able to upload to peers. Sometimes referred to as a seeder.</li>
66
-          <li><b>Leech.</b> When used as a verb, describes the act of downloading torrent content from another peer. When used as a noun, describes someone who is downloading or wants to download torrent content from another peer. Sometimes referred to as a leecher.</li>
67
-          <li><b>Metadata.</b> The information we record here on the site for each torrent, such as title, encoding information, and tags.</li>
69
+          <li><b>Seed.</b> When used as a verb, describes the act of uploading torrent content to other peers. When used
70
+            as a noun, describes a peer who has all of content associated with a torrent as is able to upload to peers.
71
+            Sometimes referred to as a seeder.</li>
72
+          <li><b>Leech.</b> When used as a verb, describes the act of downloading torrent content from another peer.
73
+            When used as a noun, describes someone who is downloading or wants to download torrent content from another
74
+            peer. Sometimes referred to as a leecher.</li>
75
+          <li><b>Metadata.</b> The information we record here on the site for each torrent, such as title, encoding
76
+            information, and tags.</li>
68
           <li><b>Hentai.</b> A subgenre of anime, manga, and games characterized by being pornographic.</li>
77
           <li><b>Hentai.</b> A subgenre of anime, manga, and games characterized by being pornographic.</li>
69
         </ul>
78
         </ul>
70
       </div>
79
       </div>
71
     </div>
80
     </div>
72
 
81
 
73
     <h4 id="hU"><a href="#hUk"><strong>&uarr;</strong></a> <a href="#hU"></a> Upload Rules</h4>
82
     <h4 id="hU"><a href="#hUk"><strong>&uarr;</strong></a> <a href="#hU"></a> Upload Rules</h4>
74
-      <h5 id="h1"><a href="#h1k"><strong>&uarr;</strong></a> <a href="#h1">1</a> General and Formatting</h5>
75
-        <div class="box pad" style="padding: 10px 10px 10px 20px;">
83
+    <h5 id="h1"><a href="#h1k"><strong>&uarr;</strong></a> <a href="#h1">1</a> General and Formatting</h5>
84
+    <div class="box pad" style="padding: 10px 10px 10px 20px;">
85
+      <ul>
86
+        <li id="r1.1"><a href="#h1"><strong>&uarr;</strong></a> <a href="#r1.1">1.1</a>
87
+          <strong>Biology Only.</strong>
88
+          <?=SITE_NAME?> is an annotated repository of biology data
89
+          and a bioinformatics learning community.
90
+          Gazelle in its current state requires lots of hardcoded metadata.
91
+          I can help you adapt the design, e.g., for physics or astronomy data.
92
+          A generalized science tracker is in development.
93
+        </li>
94
+
95
+        <li id="r1.2"><a href="#h1"><strong>&uarr;</strong></a> <a href="#r1.2">1.2</a>
96
+          <strong>Seed Forever.</strong>
97
+          Private torrent trackers succeed when they offer quality niche content and a comfy interface.
98
+          This isn't an NCBI data dump but a library of annotated info hashes that tomorrow's networks can ingest.
99
+          Do not upload a torrent unless you intend to seed until there are at least 3 copies.
100
+          Three is a good minimum swarm size.
101
+        </li>
102
+
103
+        <li id="r1.3"><a href="#h1"><strong>&uarr;</strong></a> <a href="#r1.3">1.3</a>
104
+          <strong>No Advertising.</strong>
105
+          Please don't "tag" torrents, include ASCII art, or make your torrents look like they came from the Pirate Bay.
106
+          These kinds of additions are allowed if they serve a relevant purpose.
107
+          Enclosing a GPG-signed hash of your data isn't a bad idea at all.
76
           <ul>
108
           <ul>
77
-            <li id="r1.1"><a href="#h1"><strong>&uarr;</strong></a> <a href="#r1.1">1.1</a>
78
-              <strong>Biology Only.</strong>
79
-              <?=SITE_NAME?> is an annotated repository of biology data and a bioinformatics learning community.
80
-              Gazelle in its current state requires lots of hardcoded metadata.
81
-              I can help you adapt the design, e.g., for physics or astronomy data.
82
-              A generalized science tracker is in development.
83
-            </li>
84
-
85
-            <li id="r1.2"><a href="#h1"><strong>&uarr;</strong></a> <a href="#r1.2">1.2</a>
86
-              <strong>Seed Forever.</strong>
87
-              Private torrent trackers succeed when they offer quality niche content and a comfy interface.
88
-              This isn't an NCBI data dump but a library of annotated info hashes that tomorrow's networks can ingest.
89
-              Do not upload a torrent unless you intend to seed until there are at least 3 copies.
90
-              Three is a good minimum swarm size.
91
-            </li>
92
-
93
-            <li id="r1.3"><a href="#h1"><strong>&uarr;</strong></a> <a href="#r1.3">1.3</a>
94
-              <strong>No Advertising.</strong>
95
-              Please don't "tag" torrents, include ASCII art, or make your torrents look like they came from the Pirate Bay.
96
-              These kinds of additions are allowed if they serve a relevant purpose.
97
-              Enclosing a GPG-signed hash of your data isn't a bad idea at all. 
98
-              <ul>
99
-              </ul>
100
-            </li>
101
-
102
-            <li id="r1.4"><a href="#h1"><strong>&uarr;</strong></a> <a href="#r1.4">1.4</a>
103
-              <strong>Speak English.</strong>
104
-              <?=SITE_NAME?> is an Anglophone site.
105
-              Everything but private messages, and especially torrents and the forums, should be in English.
106
-            </li>
107
-
108
-            <li id="r1.5"><a href="#h1"><strong>&uarr;</strong></a> <a href="#r1.5">1.5</a>
109
-              <strong>Good Data.</strong>
110
-              Strive to release complete collections of the highest fidelity data in the most sensible format.
111
-              Sometimes I wonder whether certain kinds of people are drawn to private torrent trackers, or if the site design encourages otherwise disinterested people to do well.
112
-            </li>
113
-
114
-            <li id="r1.6"><a href="#h1"><strong>&uarr;</strong></a> <a href="#r1.6">1.6</a>
115
-              <strong>No DRM.</strong>
116
-              Archived releases must not be password protected.
117
-              DRM of any kind isn't allowed.
118
-            </li>
119
-
120
-            <hr style="margin: 2em auto; opacity: 0.3; width: 50%;" />
121
-
122
-            <li id="r1.7"><a href="#h1"><strong>&uarr;</strong></a> <a href="#r1.7">1.7</a>
123
-              <strong>Folder Structure.</strong>
124
-              Each torrent should be a single folder so we can manage them easier.
125
-              Please avoid unnecessary nested folders inside your torrent.
126
-              Use one of the examples below for your main folder.
127
-
128
-              <ul>
129
-                <li>One-Shot Project Name</li>
130
-                <li>Torrent Title - Accession Number</li>
131
-                <li>Department/Lab - Project Name</li>
132
-                <li>After the Name - Extra comments as necessary</li>
133
-              </ul>
134
-
135
-              I also strongly recommend you compress only large files or long image series, and not simply compress the entire dataset.
136
-              This makes it easier to partially seed large datasets, work with discrete parts of the data, and know what's on disk.
137
-            </li>
138
-
139
-            <li id="r1.8"><a href="#h1"><strong>&uarr;</strong></a> <a href="#r1.8">1.8</a>
140
-              <strong>File Organization.</strong>
141
-              Please either keep the original filenames from the processing service, or consistently use a legible naming scheme.
142
-              Remove all .DS_Store, Thumbs.db, nfo files, and other junk files before making the torrent.
143
-              It should be "clean."
144
-              You're encouraged to keep Git repos, structured data reports, readmes, and other useful annotations.
145
-              Files should sort appropriately: use leading zeroes.
146
-            </li>
147
-
148
-            <li id="r1.9"><a href="#h1"><strong>&uarr;</strong></a> <a href="#r1.9">1.9</a>
149
-              <strong>Compression.</strong>
150
-              "10 GiB or 10,000 files."
151
-              Compression is required if your torrent is > 10 GiB or if it contains > 10,000 files.
152
-              Otherwise, please compress text files if it reduces the torrent size by > 30%.
153
-              Never compress torrents < 2 GiB or binary files < 10 GiB.
154
-              Multipart archives are only allowed for torrents > 10 GiB.
155
-            </li>
156
-
157
-            <li id="r1.10"><a href="#h1"><strong>&uarr;</strong></a> <a href="#r1.10">1.10</a>
158
-              <strong>Metadata.</strong>
159
-              Avoid matching folder names to <?=SITE_NAME?> metadata.
160
-              The site design will change but the torrents are evergreen.
161
-              When What.cd went down, it was possible to seed most of your old torrents at Redacted.ch because the info hashes matched.
162
-              The <code>.torrent</code> points to cryptographically verified folders and files that are tracked for convenience.
163
-              On the flipside, please add enough metadata so that people can pick it out of a list.
164
-            </li>
165
-
166
-            <li id="r1.11"><a href="#h1"><strong>&uarr;</strong></a> <a href="#r1.11">1.11</a>
167
-              <strong>Supplemental Packs.</strong>
168
-              I strongly recommend <a href="https://semver.org/" target="_blank">Semantic Versioning</a> for your original data.
169
-              Supplemental packs may include a collection of documents, utilities, protocols, metadata, etc., specifically prepared for release.
170
-              The collection should be a separate torrent if the collection constitutes a project in its own right.
171
-              But if you have, e.g., 100 MiB of XML and no other metadata for 5 GB of photos, please include it in the main torrent.
172
-            </li>
173
           </ul>
109
           </ul>
174
-        </div>
110
+        </li>
111
+
112
+        <li id="r1.4"><a href="#h1"><strong>&uarr;</strong></a> <a href="#r1.4">1.4</a>
113
+          <strong>Speak English.</strong>
114
+          <?=SITE_NAME?> is an Anglophone site.
115
+          Everything but private messages, and especially torrents and the forums, should be in English.
116
+        </li>
117
+
118
+        <li id="r1.5"><a href="#h1"><strong>&uarr;</strong></a> <a href="#r1.5">1.5</a>
119
+          <strong>Good Data.</strong>
120
+          Strive to release complete collections of the highest fidelity data in the most sensible format.
121
+          Sometimes I wonder whether certain kinds of people are drawn to private torrent trackers, or if the site
122
+          design encourages otherwise disinterested people to do well.
123
+        </li>
124
+
125
+        <li id="r1.6"><a href="#h1"><strong>&uarr;</strong></a> <a href="#r1.6">1.6</a>
126
+          <strong>No DRM.</strong>
127
+          Archived releases must not be password protected.
128
+          DRM of any kind isn't allowed.
129
+        </li>
130
+
131
+        <hr style="margin: 2em auto; opacity: 0.3; width: 50%;" />
132
+
133
+        <li id="r1.7"><a href="#h1"><strong>&uarr;</strong></a> <a href="#r1.7">1.7</a>
134
+          <strong>Folder Structure.</strong>
135
+          Each torrent should be a single folder so we can manage them easier.
136
+          Please avoid unnecessary nested folders inside your torrent.
137
+          Use one of the examples below for your main folder.
175
 
138
 
176
-        <h5 id="h2"><a href="#h2k"><strong>&uarr;</strong></a> <a href="#h2">2</a> Duplicates and Trumping</h5>
177
-        <div class="box pad" style="padding: 10px 10px 10px 20px;">
178
           <ul>
139
           <ul>
179
-            <li id="r2.1"><a href="#h2"><strong>&uarr;</strong></a> <a href="#r2.1">2.1</a>
180
-            <strong>Multiple Formats Allowed.</strong>
181
-            It's fine if there's an EMBL and a FASTA of the same data. If you need to convert a dataset for your analysis, please upload a quality conversion with supplemetal info.
182
-            Remember that small, one-shot metadata are better included with the data, and collections of docs and utils are better separate from it.
183
-            If only the header is different and it follows the "10 GiB or 10,000 files" rule, uncompressed torrents trump compressed ones.
184
-            It should be easy for others with the same data to change a line and check out the new torrent.
185
-          </li>
186
-            
187
-          <li id="r2.2"><a href="#h2"><strong>&uarr;</strong></a> <a href="#r2.2">2.2</a>
188
-            <strong>SemVer Trumps.</strong>
189
-            Versioned data can be trumped at the patch level.
190
-            Major and minor releases can coexist.
191
-            Please add a link in the old data's Torrent Group Description to the new data.
192
-            Git repos can be trumped at the commit and patch levels.
193
-            Then normal SemVer rules take effect for properly tagged releases.
194
-          </li>
195
-            
196
-          <li id="r2.3"><a href="#h2"><strong>&uarr;</strong></a> <a href="#r2.3">2.3</a>
197
-            <strong>Report Trumps and Dupes.</strong>
198
-            If you trump a torrent or notice a duplicate torrent, please use the report link [RP] to notify staff to remove it.
199
-            If you are uploading a superior version, e.g., without watermarks, report the older torrent and include a link to your new torrent.
200
-            Your torrent may be deleted as a dupe if the older torrent is not reported.
201
-          </li>
202
-            
203
-          <li id="r2.4"><a href="#h2"><strong>&uarr;</strong></a> <a href="#r2.4">2.4</a>
204
-            <strong>Two Weeks Unseeded.</strong>
205
-            If you have the original torrent files for the inactive torrent, reseed those original files instead of uploading a new torrent.
206
-            Uploading a replacement torrent should be done only when the original files are unavailable.
207
-          </li>
208
-                        
209
-          <li id="r2.5"><a href="#h2"><strong>&uarr;</strong></a> <a href="#r2.5">2.5</a>
210
-            <strong>Watermarks.</strong>
211
-            Data without watermarks trumps watermarked data.
140
+            <li>One-Shot Project Name</li>
141
+            <li>Torrent Title - Accession Number</li>
142
+            <li>Department/Lab - Project Name</li>
143
+            <li>After the Name - Extra comments as necessary</li>
212
           </ul>
144
           </ul>
213
-        </div>
214
 
145
 
215
-      <h5 id="h3"><a href="#h3k"><strong>&uarr;</strong></a> <a href="#h3">3</a> Upload Form Walkthrough</h5>
216
-        <div class="box pad" style="padding: 10px 10px 10px 20px;">
146
+          I also strongly recommend you compress only large files or long image series, and not simply compress the
147
+          entire dataset.
148
+          This makes it easier to partially seed large datasets, work with discrete parts of the data, and know what's
149
+          on disk.
150
+        </li>
151
+
152
+        <li id="r1.8"><a href="#h1"><strong>&uarr;</strong></a> <a href="#r1.8">1.8</a>
153
+          <strong>File Organization.</strong>
154
+          Please either keep the original filenames from the processing service, or consistently use a legible naming
155
+          scheme.
156
+          Remove all .DS_Store, Thumbs.db, nfo files, and other junk files before making the torrent.
157
+          It should be "clean."
158
+          You're encouraged to keep Git repos, structured data reports, readmes, and other useful annotations.
159
+          Files should sort appropriately: use leading zeroes.
160
+        </li>
161
+
162
+        <li id="r1.9"><a href="#h1"><strong>&uarr;</strong></a> <a href="#r1.9">1.9</a>
163
+          <strong>Compression.</strong>
164
+          "10 GiB or 10,000 files."
165
+          Compression is required if your torrent is > 10 GiB or if it contains > 10,000 files.
166
+          Otherwise, please compress text files if it reduces the torrent size by > 30%.
167
+          Never compress torrents < 2 GiB or binary files < 10 GiB. Multipart archives are only allowed for torrents> 10
168
+            GiB.
169
+        </li>
170
+
171
+        <li id="r1.10"><a href="#h1"><strong>&uarr;</strong></a> <a href="#r1.10">1.10</a>
172
+          <strong>Metadata.</strong>
173
+          Avoid matching folder names to <?=SITE_NAME?> metadata.
174
+          The site design will change but the torrents are evergreen.
175
+          When What.cd went down, it was possible to seed most of your old torrents at Redacted.ch because the info
176
+          hashes matched.
177
+          The <code>.torrent</code> points to cryptographically verified folders and files that are tracked for
178
+          convenience.
179
+          On the flipside, please add enough metadata so that people can pick it out of a list.
180
+        </li>
181
+
182
+        <li id="r1.11"><a href="#h1"><strong>&uarr;</strong></a> <a href="#r1.11">1.11</a>
183
+          <strong>Supplemental Packs.</strong>
184
+          I strongly recommend <a href="https://semver.org/" target="_blank">Semantic Versioning</a> for your original
185
+          data.
186
+          Supplemental packs may include a collection of documents, utilities, protocols, metadata, etc., specifically
187
+          prepared for release.
188
+          The collection should be a separate torrent if the collection constitutes a project in its own right.
189
+          But if you have, e.g., 100 MiB of XML and no other metadata for 5 GB of photos, please include it in the main
190
+          torrent.
191
+        </li>
192
+      </ul>
193
+    </div>
194
+
195
+    <h5 id="h2"><a href="#h2k"><strong>&uarr;</strong></a> <a href="#h2">2</a> Duplicates and Trumping</h5>
196
+    <div class="box pad" style="padding: 10px 10px 10px 20px;">
197
+      <ul>
198
+        <li id="r2.1"><a href="#h2"><strong>&uarr;</strong></a> <a href="#r2.1">2.1</a>
199
+          <strong>Multiple Formats Allowed.</strong>
200
+          It's fine if there's an EMBL and a FASTA of the same data. If you need to convert a dataset for your analysis,
201
+          please upload a quality conversion with supplemetal info.
202
+          Remember that small, one-shot metadata are better included with the data, and collections of docs and utils
203
+          are better separate from it.
204
+          If only the header is different and it follows the "10 GiB or 10,000 files" rule, uncompressed torrents trump
205
+          compressed ones.
206
+          It should be easy for others with the same data to change a line and check out the new torrent.
207
+        </li>
208
+
209
+        <li id="r2.2"><a href="#h2"><strong>&uarr;</strong></a> <a href="#r2.2">2.2</a>
210
+          <strong>SemVer Trumps.</strong>
211
+          Versioned data can be trumped at the patch level.
212
+          Major and minor releases can coexist.
213
+          Please add a link in the old data's Torrent Group Description to the new data.
214
+          Git repos can be trumped at the commit and patch levels.
215
+          Then normal SemVer rules take effect for properly tagged releases.
216
+        </li>
217
+
218
+        <li id="r2.3"><a href="#h2"><strong>&uarr;</strong></a> <a href="#r2.3">2.3</a>
219
+          <strong>Report Trumps and Dupes.</strong>
220
+          If you trump a torrent or notice a duplicate torrent, please use the report link [RP] to notify staff to
221
+          remove it.
222
+          If you are uploading a superior version, e.g., without watermarks, report the older torrent and include a link
223
+          to your new torrent.
224
+          Your torrent may be deleted as a dupe if the older torrent is not reported.
225
+        </li>
226
+
227
+        <li id="r2.4"><a href="#h2"><strong>&uarr;</strong></a> <a href="#r2.4">2.4</a>
228
+          <strong>Two Weeks Unseeded.</strong>
229
+          If you have the original torrent files for the inactive torrent, reseed those original files instead of
230
+          uploading a new torrent.
231
+          Uploading a replacement torrent should be done only when the original files are unavailable.
232
+        </li>
233
+
234
+        <li id="r2.5"><a href="#h2"><strong>&uarr;</strong></a> <a href="#r2.5">2.5</a>
235
+          <strong>Watermarks.</strong>
236
+          Data without watermarks trumps watermarked data.
237
+      </ul>
238
+    </div>
239
+
240
+    <h5 id="h3"><a href="#h3k"><strong>&uarr;</strong></a> <a href="#h3">3</a> Upload Form Walkthrough</h5>
241
+    <div class="box pad" style="padding: 10px 10px 10px 20px;">
242
+      <ul>
243
+        <li id="r3.1"><a href="#h3"><strong>&uarr;</strong></a> <a href="#r3.1">3.1</a>
244
+          <strong>Torrent File.</strong>
245
+          Add the announce URL as the only item on the tracker list and click the checkbox marked private.
246
+          Please don't share <code>.torrent</code> files because they have your passkey embedded in them.
247
+          This passkey lets the tracker know who's uploading and downloading, and leaking it will nuke your ratio.
248
+          <br /><br />
249
+        </li>
250
+
251
+        <li id="r3.2"><a href="#h3"><strong>&uarr;</strong></a> <a href="#r3.2">3.2</a>
252
+          <strong>Type.</strong>
253
+          The categories loosely follow the central dogma.
254
+          It depends on what alphabet the sequence uses, e.g., ACGT vs. ACGU.
255
+          All medical imaging data goes in the Imaging category.
256
+          All extra documentation, custom scripts, etc., goes in Documents.
257
+          Plasmids and things that don't quite fit go in Other.
258
+          <br /><br />
259
+        </li>
260
+
261
+        <li id="r3.3"><a href="#h3"><strong>&uarr;</strong></a> <a href="#r3.3">3.3</a>
262
+          <strong>Accession Number.</strong>
263
+          Please add accession numbers when the data source issued them.
264
+          The number can be any format but it must correspond to the actual torrent data.
265
+          Don't add accession numbers just because the metadata matches.
266
+          RefSeq and UniProt integration is in development.
267
+          <br /><br />
268
+        </li>
269
+
270
+        <li id="r3.4"><a href="#h3"><strong>&uarr;</strong></a> <a href="#r3.4">3.4</a>
271
+          <strong>Torrent Title.</strong>
272
+          A short description of the torrent contents.
273
+          It doesn't need to match the folders but it should tell you what the data is at a glance.
274
+          Please avoid adding other metadata such as Strain, Platform, etc., with a dedicated field.
275
+          <br /><br />
276
+        </li>
277
+
278
+        <li id="r3.5"><a href="#h3"><strong>&uarr;</strong></a> <a href="#r3.5">3.5</a>
279
+          <strong>Organism.</strong>
280
+          The relevant organism's binomial name and optional subspecies.
281
+          Please use <em>Genus species subspecies</em> and no terms such as var. and subsp.
282
+          Multiple organisms and a FASTA/GenBank parser are both in development.
283
+          <br /><br />
284
+        </li>
285
+
286
+        <li id="r3.6"><a href="#h3"><strong>&uarr;</strong></a> <a href="#r3.6">3.6</a>
287
+          <strong>Strain/Variety.</strong>
288
+          The strain's name if known.
289
+          This should correspond to a specific cell line or breed.
290
+          Otherwise, please omit it.
291
+          <br /><br />
292
+        </li>
293
+
294
+        <li id="r3.7"><a href="#h3"><strong>&uarr;</strong></a> <a href="#r3.7">3.7</a>
295
+          <strong>Authors(s).</strong>
296
+          The Author field should contain only the author name.
297
+          The upload form supports multiple authors.
298
+          Do a search before uploading to get their names right.
299
+          Consistent author naming makes browsing easier because it groups torrents on a common page.
300
+          ORCiD integration is in development.
301
+          <br /><br />
302
+        </li>
303
+
304
+        <li id="r3.8"><a href="#h3"><strong>&uarr;</strong></a> <a href="#r3.8">3.8</a>
305
+          <strong>Department/Lab.</strong>
306
+          The lab that did the experiments or the last author's home lab.
307
+          Please use "Unaffiliated" for anonymous or unknown labs.
308
+          <br /><br />
309
+        </li>
310
+
311
+        <li id="r3.9"><a href="#h3"><strong>&uarr;</strong></a> <a href="#r3.9">3.9</a>
312
+          <strong>Location.</strong>
313
+          The lab's physical location in one of the below formats.
217
           <ul>
314
           <ul>
218
-            <li id="r3.1"><a href="#h3"><strong>&uarr;</strong></a> <a href="#r3.1">3.1</a>
219
-              <strong>Torrent File.</strong>
220
-              Add the announce URL as the only item on the tracker list and click the checkbox marked private.
221
-              Please don't share <code>.torrent</code> files because they have your passkey embedded in them.
222
-              This passkey lets the tracker know who's uploading and downloading, and leaking it will nuke your ratio.
223
-              <br /><br />
224
-</li>
225
-
226
-<li id="r3.2"><a href="#h3"><strong>&uarr;</strong></a> <a href="#r3.2">3.2</a>
227
-              <strong>Type.</strong>
228
-              The categories loosely follow the central dogma.
229
-              It depends on what alphabet the sequence uses, e.g., ACGT vs. ACGU.
230
-              All medical imaging data goes in the Imaging category.
231
-              All extra documentation, custom scripts, etc., goes in Documents.
232
-              Plasmids and things that don't quite fit go in Other.
233
-              <br /><br />
234
-</li>
235
-
236
-<li id="r3.3"><a href="#h3"><strong>&uarr;</strong></a> <a href="#r3.3">3.3</a>
237
-              <strong>Accession Number.</strong>
238
-              Please add accession numbers when the data source issued them.
239
-              The number can be any format but it must correspond to the actual torrent data.
240
-              Don't add accession numbers just because the metadata matches.
241
-              RefSeq and UniProt integration is in development.
242
-              <br /><br />
243
-</li>
244
-
245
-<li id="r3.4"><a href="#h3"><strong>&uarr;</strong></a> <a href="#r3.4">3.4</a>
246
-              <strong>Torrent Title.</strong>
247
-              A short description of the torrent contents.
248
-              It doesn't need to match the folders but it should tell you what the data is at a glance.
249
-              Please avoid adding other metadata such as Strain, Platform, etc., with a dedicated field.
250
-              <br /><br />
251
-</li>
252
-
253
-<li id="r3.5"><a href="#h3"><strong>&uarr;</strong></a> <a href="#r3.5">3.5</a>
254
-              <strong>Organism.</strong>
255
-              The relevant organism's binomial name and optional subspecies.
256
-              Please use <em>Genus species subspecies</em> and no terms such as var. and subsp.
257
-              Multiple organisms and a FASTA/GenBank parser are both in development.
258
-              <br /><br />
259
-</li>
260
-
261
-<li id="r3.6"><a href="#h3"><strong>&uarr;</strong></a> <a href="#r3.6">3.6</a>
262
-              <strong>Strain/Variety.</strong>
263
-              The strain's name if known.
264
-              This should correspond to a specific cell line or breed.
265
-              Otherwise, please omit it.
266
-              <br /><br />
267
-</li>
268
-
269
-<li id="r3.7"><a href="#h3"><strong>&uarr;</strong></a> <a href="#r3.7">3.7</a>
270
-              <strong>Authors(s).</strong>
271
-              The Author field should contain only the author name.
272
-              The upload form supports multiple authors.
273
-              Do a search before uploading to get their names right.
274
-              Consistent author naming makes browsing easier because it groups torrents on a common page.
275
-              ORCiD integration is in development.
276
-              <br /><br />
277
-</li>
278
-
279
-<li id="r3.8"><a href="#h3"><strong>&uarr;</strong></a> <a href="#r3.8">3.8</a>
280
-              <strong>Department/Lab.</strong>
281
-              The lab that did the experiments or the last author's home lab.
282
-              Please use "Unaffiliated" for anonymous or unknown labs.
283
-              <br /><br />
284
-</li>
285
-
286
-<li id="r3.9"><a href="#h3"><strong>&uarr;</strong></a> <a href="#r3.9">3.9</a>
287
-              <strong>Location.</strong>
288
-              The lab's physical location in one of the below formats.
289
-              <ul>
290
-                <li>{City}, {State} {Postal Code}</li>
291
-                <li>{Postal Code} {City}, {Country}</li>
292
-              </ul>
293
-              For example, Berkeley, CA 94720 or 10117 Berlin, Germany.
294
-              It's okay to use the American style if the foreign address uses the same format.
295
-              Please use "Unknown" for anonymous or unknown labs.
296
-              <br /><br />
297
-</li>
298
-
299
-<li id="r3.10"><a href="#h3"><strong>&uarr;</strong></a> <a href="#r3.10">3.10</a>
300
-              <strong>Year.</strong>
301
-              The year the data was first published.
302
-              The publication that announced the data.
303
-              <br /><br />
304
-</li>
305
-
306
-<li id="r3.11"><a href="#h3"><strong>&uarr;</strong></a> <a href="#r3.11">3.11</a>
307
-              <strong>Platform.</strong>
308
-              The class of technology the data comes from.
309
-              What sequencing or imaging technique is it the output of?
310
-              <a href="forums.php?action=viewforum&forumid=<?= SUGGESTIONS_FORUM_ID ?>">Please post in the suggestions forum</a>
311
-              if you'd like to request a new platform.
312
-              Note that the platforms change for the Imaging category.
313
-              <br /><br />
314
-</li>
315
-
316
-<li id="r3.12"><a href="#h3"><strong>&uarr;</strong></a> <a href="#r3.12">3.12</a>
317
-              <strong>Format.</strong>
318
-              The file format of the data.
319
-              What programs do you need to work with the data?
320
-              <a href="forums.php?action=viewforum&forumid=<?= SUGGESTIONS_FORUM_ID ?>">Please post in the suggestions forum</a>
321
-              if you'd like to request a new format.
322
-              Note that the formats change for the Imaging category.
323
-              A file extension parser is in development.
324
-              <br /><br />
325
-</li>
326
-
327
-<li id="r3.13"><a href="#h3"><strong>&uarr;</strong></a> <a href="#r3.13">3.13</a>
328
-              <strong>Assembly Level.</strong>
329
-              The resolution of the data.
330
-              How much information about the organism does it represent?
331
-              The options correspond in higher conceptual language to:
332
-              a single piece of information, structural information, especially deep or broad information, and an exhaustive source.
333
-              Please use the Other option if you'd like to enter a resolution such as "420 subjects."
334
-              <br /><br />
335
-</li>
336
-
337
-<li id="r3.14"><a href="#h3"><strong>&uarr;</strong></a> <a href="#r3.14">3.14</a>
338
-              <strong>License.</strong>
339
-              <?= SITE_NAME ?> only allows permissive licenses.
340
-              If your data is original, please consider licensing it under one of the available options.
341
-              The "Unknown" option is for compatibility with existing releases.
342
-              <br /><br />
343
-</li>
344
-
345
-<li id="r3.15"><a href="#h3"><strong>&uarr;</strong></a> <a href="#r3.15">3.15</a>
346
-              <strong>Tags.</strong>
347
-              Please select at least five appropriate tags.
348
-              Don't use irrelevant tags, and consider making new tags as a last resort.
349
-              <a href="forums.php?action=viewforum&forumid=<?= SUGGESTIONS_FORUM_ID ?>">Please post in the suggestions forum</a>
350
-              if you'd like to request a new official tag.
351
-              <br /><br />
352
-</li>
353
-
354
-<li id="r3.16"><a href="#h3"><strong>&uarr;</strong></a> <a href="#r3.16">3.16</a>
355
-              <strong>Picture.</strong>
356
-              Please upload a meaningful picture, especially if you plan to add the torrent to a collection.
357
-              A photo of the sequence sample or a representative photo of the organism; an example (preferably not a thumbnail collection) from an imaging dataset;
358
-              a screenshot of a useful table from the publication; or another similarly informative picture.
359
-              <br /><br />
360
-</li>
361
-
362
-<li id="r3.17"><a href="#h3"><strong>&uarr;</strong></a> <a href="#r3.17">3.17</a>
363
-              <strong>Publications.</strong>
364
-              DOI numbers should be well-formed, one per line.
365
-              The system currently discards malformed DOI numbers instead of extracting them from arbitrary strings.
366
-              An auto-extract feature is in development.
367
-              If your research is a URI, please use the Torrent Group Description field.
368
-              <br /><br />
369
-</li>
370
-
371
-<li id="r3.18"><a href="#h3"><strong>&uarr;</strong></a> <a href="#r3.18">3.18</a>
372
-              <strong>Torrent Group Description.</strong>
373
-              General info about the object of study's function or significance.
374
-              This is the main body text on a torrent's page.
375
-              Please limit the contents of this field to concise and interesting knowledge.
376
-              <br /><br />
377
-</li>
378
-
379
-<li id="r3.19"><a href="#h3"><strong>&uarr;</strong></a> <a href="#r3.19">3.19</a>
380
-              <strong>Torrent Description.</strong>
381
-              Specific info about the protocols and equipment relevant to <em>this</em> data.
382
-              This text is hidden by default.
383
-              It displays when you click the Torrent Title next to [ DL | ... | PL ].
384
-              Please discuss materials and methods here.
385
-              <br /><br />
386
-</li>
387
-
388
-<li id="r3.20"><a href="#h3"><strong>&uarr;</strong></a> <a href="#r3.20">3.20</a>
389
-              <strong>Aligned Sequence.</strong>
390
-              Does the data come with any metadata of an analytical nature, such as alignment data (mandatory)?
391
-              If so, does the torrent folder contain the scripts used to generate the metadata (optional)?
392
-              <br /><br />
393
-</li>
394
-
395
-<li id="r3.21"><a href="#h3"><strong>&uarr;</strong></a> <a href="#r3.21">3.21</a>
396
-              <strong>Upload Anonymously.</strong>
397
-              You'll still get upload credit even if you hide your username from the torrent details.
398
-              I believe it's still visible to sysops.
399
-            </li>
315
+            <li>{City}, {State} {Postal Code}</li>
316
+            <li>{Postal Code} {City}, {Country}</li>
400
           </ul>
317
           </ul>
318
+          For example, Berkeley, CA 94720 or 10117 Berlin, Germany.
319
+          It's okay to use the American style if the foreign address uses the same format.
320
+          Please use "Unknown" for anonymous or unknown labs.
321
+          <br /><br />
322
+        </li>
323
+
324
+        <li id="r3.10"><a href="#h3"><strong>&uarr;</strong></a> <a href="#r3.10">3.10</a>
325
+          <strong>Year.</strong>
326
+          The year the data was first published.
327
+          The publication that announced the data.
328
+          <br /><br />
329
+        </li>
330
+
331
+        <li id="r3.11"><a href="#h3"><strong>&uarr;</strong></a> <a href="#r3.11">3.11</a>
332
+          <strong>Platform.</strong>
333
+          The class of technology the data comes from.
334
+          What sequencing or imaging technique is it the output of?
335
+          <a
336
+            href="forums.php?action=viewforum&forumid=<?= SUGGESTIONS_FORUM_ID ?>">Please
337
+            post in the suggestions forum</a>
338
+          if you'd like to request a new platform.
339
+          Note that the platforms change for the Imaging category.
340
+          <br /><br />
341
+        </li>
342
+
343
+        <li id="r3.12"><a href="#h3"><strong>&uarr;</strong></a> <a href="#r3.12">3.12</a>
344
+          <strong>Format.</strong>
345
+          The file format of the data.
346
+          What programs do you need to work with the data?
347
+          <a
348
+            href="forums.php?action=viewforum&forumid=<?= SUGGESTIONS_FORUM_ID ?>">Please
349
+            post in the suggestions forum</a>
350
+          if you'd like to request a new format.
351
+          Note that the formats change for the Imaging category.
352
+          A file extension parser is in development.
353
+          <br /><br />
354
+        </li>
355
+
356
+        <li id="r3.13"><a href="#h3"><strong>&uarr;</strong></a> <a href="#r3.13">3.13</a>
357
+          <strong>Assembly Level.</strong>
358
+          The resolution of the data.
359
+          How much information about the organism does it represent?
360
+          The options correspond in higher conceptual language to:
361
+          a single piece of information, structural information, especially deep or broad information, and an exhaustive
362
+          source.
363
+          Please use the Other option if you'd like to enter a resolution such as "420 subjects."
364
+          <br /><br />
365
+        </li>
366
+
367
+        <li id="r3.14"><a href="#h3"><strong>&uarr;</strong></a> <a href="#r3.14">3.14</a>
368
+          <strong>License.</strong>
369
+          <?= SITE_NAME ?> only allows permissive licenses.
370
+          If your data is original, please consider licensing it under one of the available options.
371
+          The "Unspecified" option is for compatibility with existing releases.
372
+          <br /><br />
373
+        </li>
374
+
375
+        <li id="r3.15"><a href="#h3"><strong>&uarr;</strong></a> <a href="#r3.15">3.15</a>
376
+          <strong>Tags.</strong>
377
+          Please select at least five appropriate tags.
378
+          Don't use irrelevant tags, and consider making new tags as a last resort.
379
+          <a
380
+            href="forums.php?action=viewforum&forumid=<?= SUGGESTIONS_FORUM_ID ?>">Please
381
+            post in the suggestions forum</a>
382
+          if you'd like to request a new official tag.
383
+          <br /><br />
384
+        </li>
385
+
386
+        <li id="r3.16"><a href="#h3"><strong>&uarr;</strong></a> <a href="#r3.16">3.16</a>
387
+          <strong>Picture.</strong>
388
+          Please upload a meaningful picture, especially if you plan to add the torrent to a collection.
389
+          A photo of the sequence sample or a representative photo of the organism; an example (preferably not a
390
+          thumbnail collection) from an imaging dataset;
391
+          a screenshot of a useful table from the publication; or another similarly informative picture.
392
+          <br /><br />
393
+        </li>
394
+
395
+        <li id="r3.17"><a href="#h3"><strong>&uarr;</strong></a> <a href="#r3.17">3.17</a>
396
+          <strong>Publications.</strong>
397
+          DOI numbers should be well-formed, one per line.
398
+          The system currently discards malformed DOI numbers instead of extracting them from arbitrary strings.
399
+          An auto-extract feature is in development.
400
+          If your research is a URI, please use the Torrent Group Description field.
401
+          <br /><br />
402
+        </li>
401
 
403
 
404
+        <li id="r3.18"><a href="#h3"><strong>&uarr;</strong></a> <a href="#r3.18">3.18</a>
405
+          <strong>Torrent Group Description.</strong>
406
+          General info about the object of study's function or significance.
407
+          This is the main body text on a torrent's page.
408
+          Please limit the contents of this field to concise and interesting knowledge.
409
+          <br /><br />
410
+        </li>
411
+
412
+        <li id="r3.19"><a href="#h3"><strong>&uarr;</strong></a> <a href="#r3.19">3.19</a>
413
+          <strong>Torrent Description.</strong>
414
+          Specific info about the protocols and equipment relevant to <em>this</em> data.
415
+          This text is hidden by default.
416
+          It displays when you click the Torrent Title next to [ DL | ... | PL ].
417
+          Please discuss materials and methods here.
418
+          <br /><br />
419
+        </li>
420
+
421
+        <li id="r3.20"><a href="#h3"><strong>&uarr;</strong></a> <a href="#r3.20">3.20</a>
422
+          <strong>Aligned Sequence.</strong>
423
+          Does the data come with any metadata of an analytical nature, such as alignment data (mandatory)?
424
+          If so, does the torrent folder contain the scripts used to generate the metadata (optional)?
425
+          <br /><br />
426
+        </li>
427
+
428
+        <li id="r3.21"><a href="#h3"><strong>&uarr;</strong></a> <a href="#r3.21">3.21</a>
429
+          <strong>Upload Anonymously.</strong>
430
+          You'll still get upload credit even if you hide your username from the torrent details.
431
+          I believe it's still visible to sysops.
432
+        </li>
433
+      </ul>
434
+
435
+    </div>
436
+    <!-- END Other Sections -->
437
+    <?php include('jump.php'); ?>
402
   </div>
438
   </div>
403
-<!-- END Other Sections -->
404
-<? include('jump.php'); ?>
405
-</div>
406
-<?
439
+  <?php
407
 View::show_footer();
440
 View::show_footer();
408
-?>

+ 2
- 2
sections/tools/index.php View File

41
 }
41
 }
42
 
42
 
43
 include(SERVER_ROOT.'/classes/validate.class.php');
43
 include(SERVER_ROOT.'/classes/validate.class.php');
44
-$Val = new VALIDATE;
44
+$Val = new Validate;
45
 
45
 
46
 include(SERVER_ROOT.'/classes/feed.class.php');
46
 include(SERVER_ROOT.'/classes/feed.class.php');
47
-$Feed = new FEED;
47
+$Feed = new Feed;
48
 
48
 
49
 switch ($_REQUEST['action']) {
49
 switch ($_REQUEST['action']) {
50
   case 'phpinfo':
50
   case 'phpinfo':

+ 1
- 1
sections/torrents/takeedit.php View File

11
 
11
 
12
 require_once(SERVER_ROOT.'/classes/validate.class.php');
12
 require_once(SERVER_ROOT.'/classes/validate.class.php');
13
 
13
 
14
-$Validate = new VALIDATE;
14
+$Validate = new Validate;
15
 
15
 
16
 //******************************************************************************//
16
 //******************************************************************************//
17
 //--------------- Set $Properties array ----------------------------------------//
17
 //--------------- Set $Properties array ----------------------------------------//

+ 1
- 1
sections/torrents/takemasspm.php View File

11
 enforce_login();
11
 enforce_login();
12
 
12
 
13
 require_once(SERVER_ROOT.'/classes/validate.class.php');
13
 require_once(SERVER_ROOT.'/classes/validate.class.php');
14
-$Validate = new VALIDATE;
14
+$Validate = new Validate;
15
 
15
 
16
 $TorrentID = (int)$_POST['torrentid'];
16
 $TorrentID = (int)$_POST['torrentid'];
17
 $GroupID = (int)$_POST['groupid'];
17
 $GroupID = (int)$_POST['groupid'];

+ 2
- 2
sections/upload/upload_handle.php View File

24
 enforce_login();
24
 enforce_login();
25
 authorize();
25
 authorize();
26
 
26
 
27
-$Validate = new VALIDATE;
28
-$Feed = new FEED;
27
+$Validate = new Validate;
28
+$Feed = new Feed;
29
 
29
 
30
 //*****************************************************************************//
30
 //*****************************************************************************//
31
 //--------------- Set $Properties array ---------------------------------------//
31
 //--------------- Set $Properties array ---------------------------------------//

+ 1
- 1
sections/user/index.php View File

7
 *****************************************************************/
7
 *****************************************************************/
8
 enforce_login();
8
 enforce_login();
9
 include(SERVER_ROOT."/classes/validate.class.php");
9
 include(SERVER_ROOT."/classes/validate.class.php");
10
-$Val = NEW VALIDATE;
10
+$Val = NEW Validate;
11
 
11
 
12
 if (empty($_REQUEST['action'])) {
12
 if (empty($_REQUEST['action'])) {
13
   $_REQUEST['action'] = '';
13
   $_REQUEST['action'] = '';

+ 1
- 1
sections/wiki/takecreate.php View File

5
 $P = db_array($_POST);
5
 $P = db_array($_POST);
6
 
6
 
7
 include(SERVER_ROOT.'/classes/validate.class.php');
7
 include(SERVER_ROOT.'/classes/validate.class.php');
8
-$Val = new VALIDATE;
8
+$Val = new Validate;
9
 
9
 
10
 $Val->SetFields('title', '1', 'string', 'The title must be between 3 and 100 characters', array('maxlength' => 100, 'minlength' => 3));
10
 $Val->SetFields('title', '1', 'string', 'The title must be between 3 and 100 characters', array('maxlength' => 100, 'minlength' => 3));
11
 //$Val->SetFields('alias', '1', 'string', 'Please include at least 1 alias, the entire string should be between 2 and 100 characters.', array('maxlength' => 100, 'minlength' => 2));
11
 //$Val->SetFields('alias', '1', 'string', 'Please include at least 1 alias, the entire string should be between 2 and 100 characters.', array('maxlength' => 100, 'minlength' => 2));

+ 1
- 1
sections/wiki/takeedit.php View File

7
 $ArticleID = (int)$_POST['id'];
7
 $ArticleID = (int)$_POST['id'];
8
 
8
 
9
 include(SERVER_ROOT.'/classes/validate.class.php');
9
 include(SERVER_ROOT.'/classes/validate.class.php');
10
-$Val = new VALIDATE;
10
+$Val = new Validate;
11
 $Val->SetFields('title', '1', 'string', 'The title must be between 3 and 100 characters', array('maxlength' => 100, 'minlength' => 3));
11
 $Val->SetFields('title', '1', 'string', 'The title must be between 3 and 100 characters', array('maxlength' => 100, 'minlength' => 3));
12
 $Err = $Val->ValidateForm($_POST);
12
 $Err = $Val->ValidateForm($_POST);
13
 if ($Err) {
13
 if ($Err) {

Loading…
Cancel
Save