public function create(HumanModel $human, SiteModel $site, UserAccountModel $creator = null)
 {
     global $DB;
     try {
         $DB->beginTransaction();
         $stat = $DB->prepare("SELECT max(slug) AS c FROM human_information WHERE site_id=:site_id");
         $stat->execute(array('site_id' => $site->getId()));
         $data = $stat->fetch();
         $human->setSlug($data['c'] + 1);
         $stat = $DB->prepare("INSERT INTO human_information (site_id, slug, title,description,created_at,approved_at, is_deleted, email, twitter, image_url, party, url) " . "VALUES (:site_id, :slug, :title, :description, :created_at,:approved_at, '0', :email, :twitter, :image_url, :party, :url) RETURNING id");
         $stat->execute(array('site_id' => $site->getId(), 'slug' => $human->getSlug(), 'title' => substr($human->getTitle(), 0, VARCHAR_COLUMN_LENGTH_USED), 'twitter' => substr($human->getTwitter(), 0, VARCHAR_COLUMN_LENGTH_USED), 'party' => substr($human->getParty(), 0, VARCHAR_COLUMN_LENGTH_USED), 'email' => substr($human->getEmail(), 0, VARCHAR_COLUMN_LENGTH_USED), 'url' => substr($human->getUrl(), 0, VARCHAR_COLUMN_LENGTH_USED), 'image_url' => $human->getImageUrl(), 'description' => $human->getDescription(), 'created_at' => \TimeSource::getFormattedForDataBase(), 'approved_at' => \TimeSource::getFormattedForDataBase()));
         $data = $stat->fetch();
         $human->setId($data['id']);
         $stat = $DB->prepare("INSERT INTO human_history (human_id, title, description, user_account_id  , created_at, approved_at, is_new, is_deleted, email, twitter, image_url, party, url) VALUES " . "(:human_id, :title, :description, :user_account_id  , :created_at, :approved_at, '1', '0', :email, :twitter, :image_url, :party, :url)");
         $stat->execute(array('human_id' => $human->getId(), 'title' => substr($human->getTitle(), 0, VARCHAR_COLUMN_LENGTH_USED), 'twitter' => substr($human->getTwitter(), 0, VARCHAR_COLUMN_LENGTH_USED), 'party' => substr($human->getParty(), 0, VARCHAR_COLUMN_LENGTH_USED), 'email' => substr($human->getEmail(), 0, VARCHAR_COLUMN_LENGTH_USED), 'url' => substr($human->getUrl(), 0, VARCHAR_COLUMN_LENGTH_USED), 'image_url' => $human->getImageUrl(), 'description' => $human->getDescription(), 'user_account_id' => $creator ? $creator->getId() : null, 'created_at' => \TimeSource::getFormattedForDataBase(), 'approved_at' => \TimeSource::getFormattedForDataBase()));
         $DB->commit();
     } catch (Exception $e) {
         $DB->rollBack();
     }
 }