/**
  * convert an options array into an object
  *
  * @since 1.1
  * @param array $values associative array
  * @return Facebook_Recommendations_Box recommendations box object
  */
 public static function fromArray($values)
 {
     if (!is_array($values) || empty($values)) {
         return;
     }
     $box = new Facebook_Recommendations_Box();
     if (isset($values['site'])) {
         $box->setSite($values['site']);
     }
     if (isset($values['action'])) {
         if (is_string($values['action'])) {
             $box->addAction($values['action']);
         } else {
             if (is_array($values['action'])) {
                 foreach ($values['action'] as $action) {
                     $box->addAction($action);
                 }
             }
         }
     }
     if (isset($values['app_id'])) {
         $box->setAppID($values['app_id']);
     }
     if (isset($values['width'])) {
         $box->setWidth(absint($values['width']));
     }
     if (isset($values['height'])) {
         $box->setHeight(absint($values['height']));
     }
     if (isset($values['header']) && ($values['header'] === true || $values['header'] == 1 || $values['header'] === 'true')) {
         $box->showHeader();
     } else {
         $box->hideHeader();
     }
     if (isset($values['border_color'])) {
         $box->setBorderColor($values['border_color']);
     }
     if (isset($values['linktarget'])) {
         $box->setLinkTarget($values['linktarget']);
     }
     if (isset($values['max_age'])) {
         $box->setMaxAge(absint($values['max_age']));
     }
     if (isset($values['font'])) {
         $box->setFont($values['font']);
     }
     if (isset($values['colorscheme'])) {
         $box->setColorScheme($values['colorscheme']);
     }
     if (isset($values['ref'])) {
         $box->setReference($values['ref']);
     }
     return $box;
 }