/ lib / archives.php
archives.php
  1  <?php
  2  
  3  function return_archive_link( $board, $resno, $admin = false, $url_only = false, $thread_id = 0 )
  4  {
  5    switch( $board ) {
  6      case 'a':
  7      case 'aco':
  8      case 'an':
  9      case 'c':
 10      case 'co':
 11      case 'd':
 12      case 'fit':
 13      case 'g':
 14      case 'his':
 15      case 'int':
 16      case 'k':
 17      case 'm':
 18      case 'mu':
 19      case 'mlp':
 20      case 'qa':
 21      case 'r9k':
 22      case 'tg':
 23      case 'trash':
 24      case 'vr':
 25      case 'wsg':
 26        $url = "https://desuarchive.org/$board/post/$resno";
 27        break;
 28      
 29      case 'h':
 30      case 'hc':
 31      case 'hm':
 32      case 'i':
 33      case 'lgbt':
 34      case 'r':
 35      case 's':
 36      case 'soc':
 37      case 't':
 38      case 'u':
 39        $url = "http://archiveofsins.com/$board/post/$resno";
 40        break;
 41      
 42      case 'asp':
 43      case 'cm':
 44      case 'y':
 45      case 'b':
 46      case 'ck':
 47      case 'gd':
 48      case 'gif':
 49      case 'po':
 50      case 'xs':
 51        $url = "http://archived.moe/$board/post/$resno";
 52        break;
 53      
 54      case 'bant':
 55      case 'news':
 56      case 'out':
 57      case 'p':
 58      case 'pw':
 59      case 'e':
 60      case 'n':
 61      case 'qst':
 62      case 'toy':
 63      case 'vip':
 64      case 'vt':
 65      case 'vp':
 66      case 'w':
 67      case 'wg':
 68      case 'wsr':
 69        $url = "https://archive.palanq.win/$board/post/$resno";
 70        break;
 71      
 72      case 'v':
 73      case 'vrpg':
 74      case 'vmg':
 75      case 'vm':
 76      case 'vg':
 77      case 'vst':
 78        $url = "https://arch.b4k.dev/$board/post/$resno";
 79        break;
 80      
 81      case 'adv':
 82      case 'f':
 83      case 'hr':
 84      case 'o':
 85      case 'pol':
 86      case 's4s':
 87      case 'sp':
 88      case 'trv':
 89      case 'tv':
 90      case 'x':
 91        $url = "https://archive.4plebs.org/$board/post/$resno";
 92        break;
 93      
 94      case '3':
 95      case 'biz':
 96      case 'cgl':
 97      case 'diy':
 98      case 'fa':
 99      case 'ic':
100      case 'sci':
101      case 'jp':
102      case 'lit':
103        $url = "https://warosu.org/$board/?task=post&ghost=&post=$resno";
104        break;
105      /*
106        if ($thread_id) {
107          $url = "https://yuki.la/$board/$thread_id";
108          
109          if ($resno) {
110            $url .= '#' . $resno;
111          }
112          
113          break;
114        }
115      */
116      // Return a link to the deletion log
117      default:
118        if ($url_only) {
119          return false;
120        }
121        
122        if (!$admin) {
123          return '/' . $board . '/' . $resno;
124        }
125        /*
126        $u = $_COOKIE['4chan_auser'];
127        
128        if (has_level('manager')) {
129          $allow = mysql_global_call("SELECT admin,id FROM `" . SQLLOGDEL . "` WHERE postno=%d AND board='%s'", $resno, $board);
130          if (!mysql_num_rows($allow)) {
131            return 'Could not find admin/post.';
132          }
133          
134          $res   = mysql_fetch_assoc( $allow );
135          $admin = $res['admin'];
136          $id    = $res['id'];
137          
138          $allow = mysql_global_call("SELECT allow FROM `" . SQLLOGMOD . "` WHERE username = '%s'", $admin);
139          $res   = mysql_fetch_assoc($allow);
140          $file  = (strpos( $res['allow'], 'janitor') !== false) ? 'log_janitors' : 'admin/log_moderators';
141        }
142        else {
143          $allow = mysql_global_call("SELECT allow FROM `" . SQLLOGMOD . "` WHERE username='%s' AND allow LIKE '%s'", $admin, '%janitor%');
144          
145          if (!mysql_num_rows($allow)) {
146            return 'None Available.';
147          }
148          
149          $allow = mysql_global_call("SELECT admin,id FROM `" . SQLLOGDEL . "` WHERE postno=%d AND board='%s'", $resno, $board);
150          
151          if (!mysql_num_rows($allow)) {
152            return 'Could not find post.';
153          }
154          
155          $res  = mysql_fetch_assoc($allow);
156          $id   = $res['id'];
157          $file = 'log_janitors';
158        }
159        */
160        return '<a href="https://team.4chan.org/stafflog#board=' . $board . ',post=' . $resno . '" rel="noreferrer" target="_blank">/' . $board . '/' . $resno . '</a>';
161    }
162    
163    if ($url_only) {
164      return $url;
165    }
166    
167    $url = rawurlencode($url);
168    
169    return '<a href="https://www.4chan.org/derefer?url=' .
170      $url . '" target="_blank">/' . $board . '/' . $resno . '</a>';
171  }