Example #1
0
 /**
  * Save a new file record.
  *
  * @param array $redir_data lookup data eg from File_redirection::where()
  * @param string $given_url
  * @return File
  */
 function saveNew(array $redir_data, $given_url)
 {
     // I don't know why we have to keep doing this but I'm adding this last check to avoid
     // uniqueness bugs.
     $x = File::staticGet('url', $given_url);
     if (empty($x)) {
         $x = new File();
         $x->url = $given_url;
         if (!empty($redir_data['protected'])) {
             $x->protected = $redir_data['protected'];
         }
         if (!empty($redir_data['title'])) {
             $x->title = $redir_data['title'];
         }
         if (!empty($redir_data['type'])) {
             $x->mimetype = $redir_data['type'];
         }
         if (!empty($redir_data['size'])) {
             $x->size = intval($redir_data['size']);
         }
         if (isset($redir_data['time']) && $redir_data['time'] > 0) {
             $x->date = intval($redir_data['time']);
         }
         $file_id = $x->insert();
     }
     $x->saveOembed($redir_data, $given_url);
     return $x;
 }
Example #2
0
 /**
  * Save a new file record.
  *
  * @param array $redir_data lookup data eg from File_redirection::where()
  * @param string $given_url
  * @return File
  */
 function saveNew(array $redir_data, $given_url)
 {
     $x = new File();
     $x->url = $given_url;
     if (!empty($redir_data['protected'])) {
         $x->protected = $redir_data['protected'];
     }
     if (!empty($redir_data['title'])) {
         $x->title = $redir_data['title'];
     }
     if (!empty($redir_data['type'])) {
         $x->mimetype = $redir_data['type'];
     }
     if (!empty($redir_data['size'])) {
         $x->size = intval($redir_data['size']);
     }
     if (isset($redir_data['time']) && $redir_data['time'] > 0) {
         $x->date = intval($redir_data['time']);
     }
     $file_id = $x->insert();
     $x->saveOembed($redir_data, $given_url);
     return $x;
 }
Example #3
0
$f->mimetype = 'h';
$f->size = 0;
$f->protected = 0;
$f->find();
echo "Found {$f->N} bad items:\n";
while ($f->fetch()) {
    echo "{$f->id} {$f->url}";
    $data = File_redirection::lookupWhere($f->url);
    if ($dry) {
        if (is_array($data)) {
            echo " (unchanged)\n";
        } else {
            echo " (unchanged, but embedding lookup failed)\n";
        }
    } else {
        // NULL out the mime/title/size/protected fields
        $sql = sprintf("UPDATE file " . "SET mimetype=null,title=null,size=null,protected=null " . "WHERE id=%d", $f->id);
        $f->query($sql);
        $f->decache();
        if (is_array($data)) {
            if ($f->saveOembed($data, $f->url)) {
                echo " (ok)\n";
            } else {
                echo " (ok, no embedding data)\n";
            }
        } else {
            echo " (ok, but embedding lookup failed)\n";
        }
    }
}
echo "done.\n";