/**
  * Constructs object and loads files if possible
  *
  * If a key is used files will be tried to be loaded off that key, if base64
  * that will be loaded and finally the files string
  *
  * @param   array   $config (Optional) An array of config options based off
  *                          app.yml
  * @param   string  $key    (Optional) A sha1 hash to the database table
  * @param   string  $base64 (Optional) A base64 string of files to load
  * @param   string  $files  (Optional) A string of files to load
  *
  * @return  void
  */
 public function __construct($config = array(), $key = '', $base64 = '', $files = '')
 {
     $this->setConfig($config);
     $files = array();
     if ($key) {
         $files = sfCombinePlusUrl::getFilesByKey($key);
     } else {
         if ($base64) {
             $files = sfCombinePlusUrl::getFilesByBase64($base64);
         } else {
             if ($files) {
                 $files = sfCombinePlusUrl::getFiles($files);
             }
         }
     }
     $this->setFiles($files);
 }