/**
  * Looks up user supplied email address / alias and sends a mail
  *
  * @param $email email address or username
  */
 function sendMail($in)
 {
     $in = trim($in);
     if (is_email($in)) {
         $user_id = UserFinder::byEmail($in);
     } else {
         $user_id = UserFinder::byUsername($in);
     }
     $error = ErrorHandler::getInstance();
     if (!$user_id) {
         $error->add('Invalid email address or username');
         return false;
     }
     $email = UserSetting::getEmail($user_id);
     if (!$email) {
         throw new \Exception('entered email not found');
     }
     $code = Token::generate($user_id, 'activation_code');
     $pattern = array('/@USERNAME@/', '/@IP@/', '/@URL@/', '/@EXPIRETIME@/');
     $user = User::get($user_id);
     $page = XmlDocumentHandler::getInstance();
     $url = $page->getUrl() . 'u/reset_pwd/' . $code;
     $replacement = array($user->getName(), client_ip(), $url, shortTimePeriod($this->expire_time_email));
     $msg = preg_replace($pattern, $replacement, $this->password_msg);
     //d($msg);
     $mail = SendMail::getInstance();
     $mail->addRecipient($email);
     $mail->setSubject('Forgot password');
     $mail->send($msg);
     return true;
 }
 /**
  * SMTP接続を開始する。
  *
  * @param
  *
  * @return boolean
  */
 public function openSmtpConnect()
 {
     // 未接続なら接続処理
     if (!$this->smtp_conn) {
         $mailServerIpAry = array();
         // IPが空ならデフォルトセット
         if (!$this->_smtpMailServerIp) {
             // デフォルト(通常)
             $this->setSendMailServerIp($this->_configOBJ->common_config->smtp_mail_server_ip->sendMagic);
         }
         // ホストとポートに分ける
         $mailServerIpAry = explode(":", $this->_smtpMailServerIp);
         // host
         $host = $mailServerIpAry[0];
         // port
         $port = $mailServerIpAry[1];
         // 接続先をセット
         $this->setSmtpHost($host, (int) $port);
         // 接続
         try {
             // 接続出来なければ、リトライ(指定秒間隔)
             for ($cnt = 0; $cnt < $this->_retrySmtpConnCnt; $cnt++) {
                 // 接続確立
                 if ($this->_openSmtpConn()) {
                     break;
                 }
                 // 10秒インターバル
                 sleep($this->_retrySmtpInterval);
             }
             // それもダメならさよなら。
             if (!$this->getSmtpConnect()) {
                 return false;
             }
             // 接続後、最初に必要なSMTPコマンドをここでやっちゃおう!!
             if (!$this->_sendSmtpCommand("helo " . $this->smtp_host, array(220, 250, 354))) {
                 return false;
             }
         } catch (Zend_Exception $e) {
             // デバッグメール
             $SendMailOBJ = SendMail::getInstance();
             $debugMail = "";
             $debugMail["subject"] = "SMTP接続エラー";
             $debugMail["text_body"][] = "file:" . __FILE__;
             $debugMail["text_body"][] = "line:" . __LINE__;
             $debugMail["text_body"][] = "err:" . $e->getMessage();
             $debugMail["text_body"][] = "server_ip:" . $this->_smtpMailServerIp;
             $debugMail["text_body"] = implode("\n", $debugMail["text_body"]);
             // システムにエラーメール
             $SendMailOBJ->debugMailTo($debugMail);
         }
     }
     return true;
 }
示例#3
0
    }
}
// メール送信
// メール文言取得
$AutoMailOBJ = AutoMail::getInstance();
// 別途%変換用にセット
$convAry = $OrderingOBJ->makeOrderConvertArray($orderingData);
// キーコンバート用データの取得
$cvdKeyconvData = $SettlementCvdOBJ->getCvdKeyconvData();
$convAry["-%cvs_name-"] = $cvName;
$convAry["-%pay_limit-"] = date("Y/m/d", strtotime($cvdKeyconvData["payLimit"]));
$convAry["-%shno-"] = $cvdKeyconvData["shnoMailString"];
// リメールデータの取得
$mailAddress = $comUserData["mb_address"] ? $comUserData["mb_address"] : $comUserData["pc_address"];
$mailElementsData = $AutoMailOBJ->getAutoMailData("ordering", $cvdRemailKey, $mailAddress);
$mailElements = $AutoMailOBJ->convertMailElements($mailElementsData["elements"], $comUserData["user_id"], $convAry);
// メール送信
if (!$AutoMailOBJ->mailTo($mailElements, "", $mailElementsData["image_data"], $mailElementsData["image_type"])) {
    $SendMailOBJ = SendMail::getInstance();
    $mailElements["subject"] = "コンビニダイレクト決済予約メール送信エラー";
    $mailElements["text_body"] = "注文ID:" . $orderingData["id"] . "\n金額:" . $orderingData["pay_total"] . "\nユーザーにメール送信できませんでした。";
    // システムにエラーメール
    $SendMailOBJ->debugMailTo($mailElements);
    // 運営にエラーメール
    $SendMailOBJ->operationMailTo($mailElements);
    $errSessOBJ->errMsg[] = "メール送信できませんでした。<br>お手数ですが、お問い合わせよりご連絡ください。";
    header("Location: ./?action_SettleCvd=1&" . $URLparam . ($comURLparam ? "&" . $comURLparam : "") . "&" . $sessId);
    exit;
}
header("Location: ./?action_SettleCvdEnd=1&" . $URLparam . ($comURLparam ? "&" . $comURLparam : "") . "&" . $sessId . "&name1=" . $param["name1"] . "&name2=" . $param["name2"] . "&telno=" . $param["telno"]);
exit;
示例#4
0
 /**
  * sendAffiliateDataメソッド
  *
  * アフィリエイトデータを送信。
  *
  * @param interger $userId ユーザーID
  * @param array $aryAffiliateValue QUERY_STRINGの配列
  * @param interger $sendType 送信種別
  * @param interger $isSuccess 成功タグか失敗タグか
  * @return boolean
  *
  */
 public function sendAffiliateData($userId, $aryAffiliateValue, $sendType, $isSuccess = true)
 {
     if (!$aryAffiliateValue or !$aryAffiliateValue["advcd"]) {
         return FALSE;
     }
     $UserOBJ = User::getInstance();
     $userData = $UserOBJ->getUserData($userId);
     if (!$userData) {
         return FALSE;
     }
     // 過去に登録済みか
     if ($userData["pc_address"] and $UserOBJ->chkUserDataFromPcMailAddressDuplication($userData["pc_address"], $userId)) {
         return FALSE;
     } else {
         if ($userData["mb_serial_number"] and $UserOBJ->chkUserDataFromMbSerialNumberDuplication($userData["mb_serial_number"], $userId)) {
             return FALSE;
         }
     }
     // アフィリエイトデータの取得
     $affiliateData = $this->getAffiliateDataFromAdvcd($aryAffiliateValue["advcd"], $sendType);
     // 成功時のみ発行の場合は失敗ならfalseを返す
     if (!$affiliateData or !$affiliateData["path"] or $affiliateData["is_success_only"] and !$isSuccess) {
         return FALSE;
     }
     $url = $affiliateData["path"];
     /*
             if (!$aryAffiliateValue["from_first_payment"]) {
                 // 成功パラメータを設定する
                 if ($isSuccess AND $affiliateData["success_parameter"]) {
                     $url .= (strpos($url, "?") ? "&" . $affiliateData["success_parameter"] : "?" . $affiliateData["success_parameter"]);
                 // 失敗パラメータを設定する
                 } else if ($affiliateData["failure_parameter"]) {
                     $url .= (strpos($url, "?") ? "&" . $affiliateData["failure_parameter"] : "?" . $affiliateData["failure_parameter"]);
                 }
             } else {
                 // 初入金パラメータを設定する
                 if ($affiliateData["first_payment_parameter"]) {
                     $url .= (strpos($url, "?") ? "&" . $affiliateData["first_payment_parameter"] : "?" . $affiliateData["first_payment_parameter"]);
                     $setUserParam["affiliate_tag_first_payment_status"] = 1;
                 } else {
                 	return FALSE;
                 }
             }
     */
     if ($aryAffiliateValue["payment"]) {
         // 入金パラメータを設定する
         if ($affiliateData["payment_parameter"]) {
             $url .= strpos($url, "?") ? "&" . $affiliateData["payment_parameter"] : "?" . $affiliateData["payment_parameter"];
         } else {
             return FALSE;
         }
     } else {
         if ($aryAffiliateValue["from_first_payment"]) {
             // 初入金パラメータを設定する
             if ($affiliateData["first_payment_parameter"]) {
                 $url .= strpos($url, "?") ? "&" . $affiliateData["first_payment_parameter"] : "?" . $affiliateData["first_payment_parameter"];
                 $setUserParam["affiliate_tag_first_payment_status"] = 1;
             } else {
                 return FALSE;
             }
         } else {
             // 成功パラメータを設定する
             if ($isSuccess and $affiliateData["success_parameter"]) {
                 $url .= strpos($url, "?") ? "&" . $affiliateData["success_parameter"] : "?" . $affiliateData["success_parameter"];
                 // 失敗パラメータを設定する
             } else {
                 if ($affiliateData["failure_parameter"]) {
                     $url .= strpos($url, "?") ? "&" . $affiliateData["failure_parameter"] : "?" . $affiliateData["failure_parameter"];
                 }
             }
         }
     }
     // メールアドレス変数を作成する
     $userData["mail_address"] = $userData["pc_address"] ? $userData["pc_address"] : $userData["mb_address"];
     // アドレス(「.」を「_」に変換)変数を作成する
     $userData["dot_address"] = str_replace(".", "_", rawurlencode($userData["mail_address"]));
     $returnValue = explode(",", $affiliateData["return_variable"]);
     $changeValue = explode(",", $affiliateData["change_variable"]);
     // 情報を変換する
     foreach ($returnValue as $key => $val) {
         if (!$affiliateData["connect_type"] == self::CONNECT_TYPE_IMG) {
             if ($changeValue[$key] == "payment") {
                 $getData[] = $val . "=" . $aryAffiliateValue["payment"];
             } else {
                 $getData[] = $val . "=" . ($aryAffiliateValue[$changeValue[$key]] ? $aryAffiliateValue[$changeValue[$key]] : $userData[$changeValue[$key]]);
             }
         } else {
             if ($aryAffiliateValue[$changeValue[$key]]) {
                 $affiliateValue = $aryAffiliateValue[$changeValue[$key]];
             } elseif ($userData[$changeValue[$key]]) {
                 $affiliateValue = $userData[$changeValue[$key]];
             } else {
                 $affiliateValue = $changeValue[$key];
             }
             $getData[] = $val . "=" . $affiliateValue;
         }
     }
     $url = $url . (strpos($url, "?") ? "&" . implode("&", $getData) : "?" . implode("&", $getData));
     // タグのデコードをする
     $url = htmlspecialchars_decode($url, ENT_QUOTES);
     $httpParam = array("maxredirects" => 1, "timeout" => 30);
     if ($affiliateData["connect_type"] == self::CONNECT_TYPE_SOCKET) {
         if (!$aryAffiliateValue["payment"]) {
             // 「初入金時」は更新カラム変更
             if (!$aryAffiliateValue["from_first_payment"]) {
                 $setUserParam["affiliate_tag_url"] = htmlspecialchars($url, ENT_QUOTES);
             } else {
                 $setUserParam["affiliate_tag_first_payment_url"] = htmlspecialchars($url, ENT_QUOTES);
             }
         } else {
             //入金タグを配列に格納
             $insertArray["affiliate_tag_url"] = htmlspecialchars($url, ENT_QUOTES);
         }
         $setUserParam["update_datetime"] = date("Y-m-d H:i:s");
         $userWhere[] = "id = " . $userId;
         try {
             // ソケット通信
             $ComHttpOBJ = new ComHttp($url, $httpParam);
             $result = $ComHttpOBJ->request("GET");
             if ($result->isSuccessful()) {
                 if (!$aryAffiliateValue["payment"]) {
                     // 「初入金時」は更新カラム変更
                     if (!$aryAffiliateValue["from_first_payment"]) {
                         $setUserParam["affiliate_tag_status"] = 1;
                     } else {
                         $setUserParam["affiliate_tag_first_payment_status"] = 1;
                     }
                 }
             } else {
                 $SendMailOBJ = SendMail::getInstance();
                 $mailElements["subject"] = "アフィリエイトソケット通信エラー";
                 $mailElements["text_body"] = "ユーザーID:" . $userId . "\nurl:" . $url . "\n\n" . $result->getMessage();
                 // システムにエラーメール
                 $SendMailOBJ->debugMailTo($mailElements);
                 // 運営にエラーメール
                 $SendMailOBJ->operationMailTo($mailElements);
             }
         } catch (Exception $e) {
             $SendMailOBJ = SendMail::getInstance();
             $mailElements["subject"] = "アフィリエイトソケット通信エラー";
             $mailElements["text_body"] = "ユーザーID:" . $userId . "\nurl:" . $url . "\n\n" . $e->getMessage();
             // システムにエラーメール
             $SendMailOBJ->debugMailTo($mailElements);
             // 運営にエラーメール
             $SendMailOBJ->operationMailTo($mailElements);
         }
         if ($userId) {
             if ($aryAffiliateValue["payment"]) {
                 $insertArray["user_id"] = $userId;
                 $insertArray["media_cd"] = $aryAffiliateValue["advcd"];
                 $insertArray["create_datetime"] = date("Y-m-d H:i:s");
                 $insertArray["update_datetime"] = date("Y-m-d H:i:s");
                 //入金タグ関連のデータをpayment_parameter_logにインサート
                 if (!$this->insertPaymentAffiliateTagLog($insertArray)) {
                     $this->_errorMsg[] = "データ登録できませんでした。";
                     return FALSE;
                 }
             } else {
                 if (!$UserOBJ->updateUserData($setUserParam, $userWhere)) {
                     $this->_errorMsg[] = "データ更新できませんでした。";
                     return FALSE;
                 }
             }
         }
         return TRUE;
     } else {
         if ($affiliateData["connect_type"] == self::CONNECT_TYPE_IMG) {
             // アドレス部分をURLエンコードした値に置換
             $address = $userData["dot_address"];
             $encodeAddress = urlencode($address);
             $url = str_replace($address, $encodeAddress, $url);
             $this->_imgTag = "<img src=\"" . $url . "\" width=\"1\" height=\"1\">";
             // DB格納する前にURLデコード
             //$tag = urldecode($this->_imgTag);
             // 「初入金時」は更新カラム変更
             if (!$aryAffiliateValue["from_first_payment"]) {
                 $setUserParam["affiliate_tag_url"] = htmlspecialchars($this->_imgTag, ENT_QUOTES);
                 $setUserParam["affiliate_tag_status"] = 1;
             } else {
                 $setUserParam["affiliate_tag_first_payment_url"] = htmlspecialchars($this->_imgTag, ENT_QUOTES);
                 $setUserParam["affiliate_tag_first_payment_status"] = 1;
             }
             $setUserParam["update_datetime"] = date("Y-m-d H:i:s");
             $userWhere[] = "id = " . $userId;
             if ($userId) {
                 if (!$UserOBJ->updateUserData($setUserParam, $userWhere)) {
                     $this->_errorMsg[] = "データ更新できませんでした。";
                     return FALSE;
                 }
             }
             return TRUE;
         }
     }
 }
示例#5
0
 /**
  * mailToメソッド
  *
  * メール送信実行
  *
  * @param string $mailAddress    送信するメアド
  * @param array   $$mailElements  送信する要素
  *   [from_address]:メール送信元アドレス
  *   [from_name]   :メール送信元名(任意)
  *   [return_path] :リターンアドレス(任意)
  *   [subject]     :メールタイトル
  *   [text_body]   :メール本文(テキスト)
  *   [html_body]   :メール本文(HTML)(任意)
  * @return 送信成功:True 送信失敗:False
  */
 public function mailTo($mailElements, $sec = 0, $imageData = null, $imageType = null)
 {
     $SendMailOBJ = SendMail::getInstance();
     return $SendMailOBJ->mailTo($mailElements, $sec, $imageData, $imageType);
 }
示例#6
0
namespace cd;

set_include_path(get_include_path() . PATH_SEPARATOR . dirname(__FILE__) . '/../core/');
require_once 'core.php';
require_once 'SendMail.php';
// external MTA example
/*
$sendmail = SendMail::getInstance();
$sendmail->useMta(true);

$sendmail->addRecipient('*****@*****.**');
$sendmail->setSubject('subj åöl');
$sendmail->send('helo world');
*/
// Gmail example
$mail = SendMail::getInstance();
//$mail->setDebug(true);
$mail->setServer('smtp.gmail.com');
$mail->setUsername('gmail-username');
$mail->setPassword('password');
$mail->setPort(587);
// TLS/STARTTLS
$mail->setFrom('*****@*****.**', 'martin testar');
$mail->setReplyTo('*****@*****.**');
$mail->addRecipients(array('*****@*****.**', '*****@*****.**'));
if (count($mail->getRecipients()) != 2) {
    echo "FAIL 1\n";
}
$mail->setSubject('message åäö subject');
//$mail->attachFile('/home/ml/Desktop/bilder/167968_193900863954437_140855739258950_730662_4411055_n.jpg');
$msg = 'abc åäö 123';
示例#7
0
 /**
  * convertMailElementsメソッド
  *
  * メールタイトル、文言、HTML等の%変換処理を実施
  *
  * @param array   $contents   メールコンテンツ
  * @param integer $userId     送信相手のUserテーブルID
  * @param array   $convertAry %変換用配列(個別処理用)
  * @return array 変換済みメール要素配列
  */
 public function convertMailElements($elements, $userId = "", $convertAry = "")
 {
     $SendMailOBJ = SendMail::getInstance();
     return $SendMailOBJ->convertMailElements($elements, $userId, $convertAry);
 }
示例#8
0
 /**
  * sendToBitcashメソッド
  *
  * bitcashサーバーと通信をする
  * ├カード認証
  * └決済実行
  *
  * @param array $orderingData 注文データ
  * @param string $card_number カード番号(ひらがな16文字)
  *
  * @return array $result ビットキャッシュからの戻り値
  *
  */
 function sendToBitcash($orderingData, $cardNumber)
 {
     if (!$orderingData or !$cardNumber) {
         return FALSE;
     }
     $ComXmlRpcClientOBJ = new ComXmlRpcClient(self::BITCASH_URL);
     try {
         $ComXmlRpcClientOBJ->setSkipSystemLookup(true);
         $proxy = $ComXmlRpcClientOBJ->getProxy("Settlement");
         /* ■■■■■■■■■
          * バリデートロジック
          * ■■■■■■■■■
          * ビットキャッシュ側にカード、金額データを送信して
          * チェックを行う。
          */
         $validateParam["SHOP_ID"] = self::BITCASH_SHOP_ID;
         $validateParam["SHOP_PASSWD"] = self::BITCASH_SHOP_PASS;
         $validateParam["CARD_NUMBER"] = $cardNumber;
         $validateParam["RATING"] = self::BITCASH_RATING;
         $validateParam["PRICE"] = $orderingData["pay_total"];
         $validateParam["ORDER_ID"] = $orderingData["id"];
         $validateParam = Zend_XmlRpc_Value::getXmlRpcValue($validateParam, Zend_XmlRpc_Value::XMLRPC_TYPE_STRUCT);
         $validateResult = $proxy->validate_card($validateParam);
         if (!$validateResult) {
             $this->_errorMsg = "validate_card_false_result";
             return false;
         } else {
             if ($validateResult["faultCode"]) {
                 $this->_errorMsg = "validate_card_fault_code";
                 return false;
             }
         }
         /* 返り値の取得
          *
          *
          * 1.ERRORの場合 例)カード情報が違う
          * Array
          *   ( [STATUS] => FAIL
          *     [ERROR]  => Array( [0] => 354:bad_card_number )
          *     [LOG_ID] => 43634282                            //バリデーション時の入出力ID
          *   )
          *
          * 2.OKの場合
          * Array
          *   ([BALANCE] => 100000     //バリデーション実行正常終了時のクレジット数(引き落とし前のクレジット数)
          *    [BCS_ID]  => 1581403990 //バリデーション正常終了時に発行されるセッション番号(決済実行時に使用)
          *    [ERROR]   => Array()
          *    [STATUS]  => OK
          *    [LOG_ID]  => 43634465   //バリデーション時の入出力ID
          *   )
          */
         // 有効ではない
         if ($validateResult["ERROR"]) {
             $this->_errorMsg = $validateResult["ERROR"][0];
             return false;
         }
         // 有効ではない
         if ("OK" != $validateResult["STATUS"]) {
             $this->_errorMsg = "validate_card_bad_status";
             return false;
         }
         /* ■■■■■■
          * 決済ロジック
          * ■■■■■■
          * STATUSがOKで帰ってきたらまたbitcashにデータの送信。決済を行う。
          */
         $param["SHOP_ID"] = self::BITCASH_SHOP_ID;
         $param["SHOP_PASSWD"] = self::BITCASH_SHOP_PASS;
         $param["CARD_NUMBER"] = $cardNumber;
         $param["BCS_ID"] = $validateResult["BCS_ID"];
         $param["PRICE"] = $orderingData["pay_total"];
         $param["ORDER_ID"] = $orderingData["id"];
         $param = Zend_XmlRpc_Value::getXmlRpcValue($param, Zend_XmlRpc_Value::XMLRPC_TYPE_STRUCT);
         $result = $proxy->do_settlement($param);
         if (!$result) {
             $this->_errorMsg = "do_settlement_false_result";
             return false;
         } else {
             if ($result["faultCode"]) {
                 $this->_errorMsg = "do_settlement_fault_code";
                 return false;
             }
         }
         /* 返り値の取得
          *
          * 1.ERRORの場合 例)BCS_ID(バリデート時に生成されるID)がない場合
          * Array
          *   ( [STATUS] => FAIL
          *     [ERROR] => Array([0] => 304:no_bcs_id)
          *     [LOG_ID] => 43641701                     //決済時の入出力ID
          *   )
          *
          * 2.OKの場合
          * Array
          *   ( [SALES_ID] => 28293032 //決済実行正常終了時の販売ID
          *     [BALANCE] => 99900     //決済実行正常終了時の残りクレジット数。
          *     [ERROR] => Array()
          *     [STATUS] => OK
          *     [LOG_ID] => 43641640   //決済時の入出力ID
          *   )
          */
         // 有効ではない
         if ($result["ERROR"]) {
             $this->_errorMsg = $result["ERROR"][0];
             return false;
         }
         // 有効ではない
         if ("OK" != $result["STATUS"]) {
             $this->_errorMsg = "do_settlement_bad_status";
             return false;
         }
         return $result;
     } catch (Zend_XmlRpc_Client_HttpException $e) {
         // HTTP通信エラー
         $SendMailOBJ = SendMail::getInstance();
         $mailElements["subject"] = "ビットキャッシュHTTP通信エラー";
         $mailElements["text_body"] = "注文ID:" . $orderingData["id"] . "\nカード番号:" . $cardNumber . "\n金額:" . $orderingData["pay_total"] . "\n" . $e;
         $SendMailOBJ->debugMailTo($mailElements);
         return FALSE;
     } catch (Zend_XmlRpc_Client_FaultException $e) {
         // RPC実行エラー
         $SendMailOBJ = SendMail::getInstance();
         $mailElements["subject"] = "ビットキャッシュRPC実行エラー";
         $mailElements["text_body"] = "注文ID:" . $orderingData["id"] . "\nカード番号:" . $cardNumber . "\n金額:" . $orderingData["pay_total"] . "\n" . $e;
         $SendMailOBJ->debugMailTo($mailElements);
         return FALSE;
     }
 }
示例#9
0
 */
//STATUS: wip
//TODO: make facebook javascript login code work
//TODO cosmetic: mark input field for username or password with a color if empty in validate_login_form()
namespace cd;

if ($session->id || $session->facebook_id) {
    return;
}
$login_div = 'login_div';
$reg_div = 'reg_div';
$recover_div = 'recover_div';
// only show "register user" if initial setup or if config allows it
$show_reg_div = !UserList::getCount() || $session->allow_logins && $session->allow_registrations;
// only show "recover password" if mail server is configured
$show_recover_div = SendMail::getInstance()->getServer() ? true : false;
if ($show_reg_div) {
    // this must be included here so registration handling can happen first
    echo '<div id="' . $reg_div . '" style="display:none;">';
    include 'register.php';
    echo '</div>';
}
if ($show_recover_div) {
    echo '<div id="' . $recover_div . '" style="display:none;">';
    include 'forgot_pwd.php';
    echo '</div>';
}
// include js validation snippets
$view = new ViewModel('views/core/js_validation.php');
echo $view->render();
$header->embedCss('.login_box{' . 'font-size:14px;' . 'border:1px solid #aaa;' . 'min-width:280px;' . 'color:#000;' . 'background-color:#ddd;' . 'padding:10px;' . 'border-radius:15px 15px 15px 15px;' . '-moz-border-radius:15px 15px 15px 15px;' . '}');