/**
  * Captcha 이미지를 생성한다.
  */
 public function createImage()
 {
     if (!isset($_SESSION['kboard_captcha'])) {
         $_SESSION['kboard_captcha'] = array();
     }
     $captcha_folder = WP_CONTENT_DIR . '/uploads/kboard_captcha/';
     $captcha_name = uniqid('captcha_') . '.png';
     // 디렉토리 생성
     wp_mkdir_p($captcha_folder);
     // 1시간이 지난 이미지는 삭제한다.
     $file_handler = new KBFileHandler();
     $captcha_files = $file_handler->getDirlist($captcha_folder);
     foreach ($captcha_files as $file) {
         $filetime = @filemtime($captcha_folder . $file);
         $created = (time() - $filetime) / 60 / 60;
         if ($created > 1) {
             $file_handler->delete($captcha_folder . $file);
         }
     }
     $text = array('A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z');
     shuffle($text);
     $text = substr(implode('', $text), 0, 5);
     $image = imagecreate(50, 20);
     $background_color = imagecolorallocate($image, 255, 255, 255);
     $font_color = imagecolorallocate($image, 194, 51, 21);
     imagestring($image, 5, 2, 2, $text, $font_color);
     imageline($image, 0, 0, 50, 20, $font_color);
     @imagepng($image, $captcha_folder . $captcha_name);
     imagedestroy($image);
     if (file_exists($captcha_folder . $captcha_name)) {
         $_SESSION['kboard_captcha'][] = $text;
         $src = content_url('/uploads/kboard_captcha/' . $captcha_name);
     } else {
         $_SESSION['kboard_captcha'][] = 'ERROR';
         $src = KBOARD_URL_PATH . '/images/captcha-error.png';
     }
     return $src;
 }