public function Upload($callback)
 {
     $this->Login();
     if (isset($this->cookie)) {
         parent::curly_init('http://filejungle.com');
         $this->options[CURLOPT_HTTPHEADER] = array('Cookie: PHPSESSID=' . $this->cookie);
         $response = parent::curly_get(array('' => ''), function () {
         });
         if (preg_match("/uploadUrl = 'http:\\/\\/(?<upload_url>.*)';/", $response, $matches)) {
             $this->upload_url = isset($matches['upload_url']) ? 'http://' . $matches['upload_url'] : NULL;
         }
         if (isset($this->upload_url)) {
             $filesize = filesize($this->filePath);
             parent::curly_init($this->upload_url);
             $this->options[CURLOPT_HTTPHEADER] = array('X-File-Name: ' . basename($this->filePath), 'X-File-Size: ' . $filesize, 'Content-Type: multipart/form-data', 'Origin: http://filejungle.com');
             $json_obj = @json_decode(parent::curly_put(fopen($this->filePath, 'r'), $filesize, $callback));
             if (isset($json_obj)) {
                 return 'http://www.filejungle.com/f/' . $json_obj->shortenCode;
             }
         }
     }
 }