コード例 #1
0
 /**
  * @brief epay.getPaymentForm 에서 호출됨, 이니시스 모바일 결제폼 출력
  */
 function dispInipaymobileForm()
 {
     $oEpayController =& getController('epay');
     // get products info using cartnos
     $reviewOutput = $oEpayController->reviewOrder();
     if (!$reviewOutput->toBool()) {
         return $reviewOutput;
     }
     Context::set('review_form', $reviewOutput->review_form);
     Context::set('item_name', $reviewOutput->item_name);
     Context::set('price', $reviewOutput->price);
     Context::set('transaction_srl', $reviewOutput->transaction_srl);
     Context::set('order_srl', $reviewOutput->order_srl);
     Context::set('purchaser_name', $reviewOutput->purchaser_name);
     Context::set('purchaser_email', $reviewOutput->purchaser_email);
     Context::set('purchaser_telnum', $reviewOutput->purchaser_telnum);
     /**
      * next_url 및 return_url 에 url 구성은 http://domain/directory?var=val 형식으로 ?var1=val1&var2=val2 처럼 &은 허용되지 않는다. 그래서 부득이하게 n_page 에 transaction_srl을 담아오면 next_url로, r_page에 transaction_srl을 담아오면 return_url로 처리한다.
      */
     $transaction_srl = $reviewOutput->transaction_srl;
     // 가상계좌, 안심클릭시 (n_page)
     Context::set('next_url', getNotEncodedFullUrl('') . $this->module_info->mid . '?n_page=' . $transaction_srl);
     // ISP 결제시 (r_page), 결제처리는 noti_url이 호출되어 처리되므로 여기서는 그냥 결과만 보여줌
     Context::set('return_url', getNotEncodedFullUrl('') . $this->module_info->mid . '?r_page=' . $transaction_srl);
     // ISP 결제시 처리 URL 지정
     Context::set('noti_url', getNotEncodedFullUrl('') . $this->module_info->mid . '?noti_page=' . $transaction_srl);
     $this->setTemplateFile('formdata');
 }
コード例 #2
0
 public function procMemberAdminInsertSignupConfig()
 {
     $oMemberModel = getModel('member');
     $oModuleController = getController('module');
     $args = Context::gets('limit_day', 'limit_day_description', 'emailhost_check', 'agreement', 'redirect_url', 'profile_image', 'profile_image_max_width', 'profile_image_max_height', 'image_name', 'image_name_max_width', 'image_name_max_height', 'image_mark', 'image_mark_max_width', 'image_mark_max_height', 'signature_editor_skin', 'sel_editor_colorset');
     $list_order = Context::get('list_order');
     $usable_list = Context::get('usable_list');
     $all_args = Context::getRequestVars();
     $args->limit_day = (int) $args->limit_day;
     if ($args->emailhost_check != 'allowed' && $args->emailhost_check != 'prohibited') {
         $args->emailhost_check == 'allowed';
     }
     if (!trim(strip_tags($args->agreement))) {
         $agreement_file = _XE_PATH_ . 'files/member_extra_info/agreement_' . Context::get('lang_type') . '.txt';
         FileHandler::removeFile($agreement_file);
         $args->agreement = NULL;
     }
     if ($args->redirect_url) {
         $oModuleModel = getModel('module');
         $redirectModuleInfo = $oModuleModel->getModuleInfoByModuleSrl($args->redirect_url, array('mid'));
         if (!$redirectModuleInfo) {
             return new Object('-1', 'msg_exist_selected_module');
         }
         $args->redirect_mid = $redirectModuleInfo->mid;
         $args->redirect_url = getNotEncodedFullUrl('', 'mid', $redirectModuleInfo->mid);
     }
     $args->profile_image = $args->profile_image ? 'Y' : 'N';
     $args->image_name = $args->image_name ? 'Y' : 'N';
     $args->image_mark = $args->image_mark ? 'Y' : 'N';
     $args->signature = $args->signature != 'Y' ? 'N' : 'Y';
     $args->identifier = $all_args->identifier;
     // set default
     $all_args->is_nick_name_public = 'Y';
     $all_args->is_find_account_question_public = 'N';
     // signupForm
     global $lang;
     $signupForm = array();
     $items = array('user_id', 'password', 'user_name', 'nick_name', 'email_address', 'find_account_question', 'homepage', 'blog', 'birthday', 'signature', 'profile_image', 'image_name', 'image_mark', 'profile_image_max_width', 'profile_image_max_height', 'image_name_max_width', 'image_name_max_height', 'image_mark_max_width', 'image_mark_max_height');
     $mustRequireds = array('email_address', 'nick_name', 'password');
     $extendItems = $oMemberModel->getJoinFormList();
     foreach ($list_order as $key) {
         $signupItem = new stdClass();
         $signupItem->isIdentifier = $key == $all_args->identifier;
         $signupItem->isDefaultForm = in_array($key, $items);
         $signupItem->name = $key;
         if (!in_array($key, $items)) {
             $signupItem->title = $key;
         } else {
             $signupItem->title = $lang->{$key};
         }
         $signupItem->mustRequired = in_array($key, $mustRequireds);
         $signupItem->imageType = strpos($key, 'image') !== false;
         $signupItem->required = $all_args->{$key} == 'required' || $signupItem->mustRequired || $signupItem->isIdentifier;
         $signupItem->isUse = in_array($key, $usable_list) || $signupItem->required;
         $signupItem->isPublic = $all_args->{'is_' . $key . '_public'} == 'Y' && $signupItem->isUse ? 'Y' : 'N';
         if ($signupItem->imageType) {
             $signupItem->max_width = $all_args->{$key . '_max_width'};
             $signupItem->max_height = $all_args->{$key . '_max_height'};
         }
         // set extends form
         if (!$signupItem->isDefaultForm) {
             $extendItem = $extendItems[$all_args->{$key . '_member_join_form_srl'}];
             $signupItem->type = $extendItem->column_type;
             $signupItem->member_join_form_srl = $extendItem->member_join_form_srl;
             $signupItem->title = $extendItem->column_title;
             $signupItem->description = $extendItem->description;
             // check usable value change, required/option
             if ($signupItem->isUse != ($extendItem->is_active == 'Y') || $signupItem->required != ($extendItem->required == 'Y')) {
                 unset($update_args);
                 $update_args = new stdClass();
                 $update_args->member_join_form_srl = $extendItem->member_join_form_srl;
                 $update_args->is_active = $signupItem->isUse ? 'Y' : 'N';
                 $update_args->required = $signupItem->required ? 'Y' : 'N';
                 $update_output = executeQuery('member.updateJoinForm', $update_args);
             }
             unset($extendItem);
         }
         $signupForm[] = $signupItem;
     }
     $args->signupForm = $signupForm;
     // create Ruleset
     $this->_createSignupRuleset($signupForm, $args->agreement);
     $this->_createLoginRuleset($args->identifier);
     $this->_createFindAccountByQuestion($args->identifier);
     // check agreement value exist
     if ($args->agreement) {
         $agreement_file = _XE_PATH_ . 'files/member_extra_info/agreement_' . Context::get('lang_type') . '.txt';
         $output = FileHandler::writeFile($agreement_file, $args->agreement);
         unset($args->agreement);
     }
     $output = $oModuleController->updateModuleConfig('member', $args);
     // default setting end
     $this->setMessage('success_updated');
     $returnUrl = Context::get('success_return_url') ? Context::get('success_return_url') : getNotEncodedUrl('', 'module', 'admin', 'act', 'dispMemberAdminSignUpConfig');
     $this->setRedirectUrl($returnUrl);
 }
コード例 #3
0
 function triggerBeforeDisplay(&$output_content)
 {
     if (Context::getResponseMethod() != 'HTML') {
         return;
     }
     if (Context::get('module') == 'admin') {
         return;
     }
     $oModuleModel = getModel('module');
     $config = $this->getConfig();
     $logged_info = Context::get('logged_info');
     $current_module_info = Context::get('current_module_info');
     $site_module_info = Context::get('site_module_info');
     $document_srl = Context::get('document_srl');
     $is_article = false;
     $is_index = $current_module_info->module_srl == $site_module_info->module_srl ? true : false;
     $piece = new stdClass();
     $piece->document_title = null;
     $piece->type = 'website';
     $piece->url = getFullUrl('');
     $piece->title = Context::getBrowserTitle();
     $piece->description = $config->site_description;
     $piece->keywords = $config->site_keywords;
     $piece->image = array();
     $piece->author = null;
     if ($document_srl) {
         $oDocument = Context::get('oDocument');
         if (!is_a($oDocument, 'documentItem')) {
             $oDocumentModel = getModel('document');
             $oDocument = $oDocumentModel->getDocument($document_srl);
         }
         if (is_a($oDocument, 'documentItem') && $document_srl == $oDocument->document_srl) {
             $is_article = true;
         }
     }
     // 문서 데이터 수집
     if ($is_article) {
         if (!$oDocument->isSecret()) {
             $piece->document_title = $oDocument->getTitleText();
             $piece->url = getFullUrl('', 'mid', $current_module_info->mid, 'document_srl', $document_srl);
             $piece->type = 'article';
             $piece->description = trim(str_replace(' ', ' ', $oDocument->getContentText(400)));
             $piece->author = $oDocument->getNickName();
             if (count($oDocument->get('tag_list'))) {
                 $tags = implode(',', $oDocument->get('tag_list'));
                 if ($tags) {
                     $piece->keywords = $tags;
                 }
             }
             if ($oDocument->hasUploadedFiles()) {
                 $image_ext = array('bmp', 'gif', 'jpg', 'jpeg', 'png');
                 foreach ($oDocument->getUploadedFiles() as $file) {
                     if ($file->isvalid != 'Y') {
                         continue;
                     }
                     $ext = array_pop(explode('.', $file->uploaded_filename));
                     if (!in_array(strtolower($ext), $image_ext)) {
                         continue;
                     }
                     $piece->image[] = Context::get('request_uri') . $file->uploaded_filename;
                 }
             }
         } else {
             $piece->url = getFullUrl('', 'mid', $current_module_info->mid);
         }
     } else {
         if (!$is_index) {
             $page = Context::get('page') > 1 ? Context::get('page') : null;
             $piece->url = getNotEncodedFullUrl('mid', $current_module_info->mid, 'page', $page);
         }
     }
     $piece->title = $this->getBrowserTitle($piece->document_title);
     if ($config->site_image_url) {
         $piece->image[] = $config->site_image_url;
     }
     $this->addLink('canonical', $piece->url);
     $this->addMeta('keywords', $piece->keywords);
     $this->addMeta('description', $piece->description);
     // Open Graph
     $this->addMeta('og:type', $piece->type);
     $this->addMeta('og:url', $piece->url);
     $this->addMeta('og:site_name', $config->site_name);
     $this->addMeta('og:title', $piece->title);
     $this->addMeta('og:description', $piece->description);
     $this->addMeta('og:article:author', $piece->author);
     foreach ($piece->image as $img) {
         $this->addMeta('og:image', $img);
     }
     $this->canonical_url = $piece->url;
     $this->applySEO();
     if ($config->use_optimize_title == 'Y') {
         Context::setBrowserTitle($piece->title);
     }
 }
コード例 #4
0
ファイル: paypal.view.php プロジェクト: bjrambo/nurigo
 /**
  * @brief epay.getPaymentForm 에서 호출됨
  */
 function dispPaypalForm()
 {
     $oEpayController = getController('epay');
     $oNcartModel = getModel('ncart');
     $oModuleModel = getModel('module');
     $oPaypalModuleConfig = $oModuleModel->getModuleConfig('paypal');
     $oPaypalModel = getModel('paypal');
     $paypalhome = sprintf(_XE_PATH_ . "files/epay/%s", $this->module_info->module_srl);
     $logged_info = Context::get('logged_info');
     if ($logged_info) {
         $oEpayModel = getModel('epay');
         $transaction_count = $oEpayModel->getTransactionCountByMemberSrl($logged_info->member_srl);
         if ($transaction_count < $oPaypalModuleConfig->minimum_transactions) {
             Context::set('error_code', '3');
             Context::set('minimum_transactions_count', $oPaypalModuleConfig->minimum_transactions);
             $this->setTemplateFile('error');
             return;
         }
     }
     // get products info using cartnos
     $output = $oEpayController->reviewOrder();
     if (!$output->toBool()) {
         return $output;
     }
     Context::set('review_form', $output->review_form);
     //$cart_info = $output->cart_info;
     $transaction_srl = $output->transaction_srl;
     $order_srl = $output->order_srl;
     //Context::set('cart_info', $cart_info);
     Context::set('price', $output->price);
     Context::set('transaction_srl', $transaction_srl);
     Context::set('order_srl', $order_srl);
     require __DIR__ . '/bootstrap.php';
     // Paypal account - 'paypal' / Credit card - 'credit_card'
     $payer = new Payer();
     $payer->setPaymentMethod("paypal");
     $item = new Item();
     $item_name = $output->item_name;
     $item->setName($item_name)->setCurrency($oPaypalModuleConfig->currency_code)->setQuantity(1)->setPrice($oPaypalModel->getConvertedPrice($output->price, $oPaypalModuleConfig->conversion_rate));
     $itemList = new ItemList();
     $itemList->setItems(array($item));
     /*
     		$details = new Details();
     		$details->setShipping(number_format($cart_info->delivery_fee, 2))
     				->setTax(number_format($cart_info->vat, 2))
     				->setSubtotal(number_format($cart_info->supply_amount, 2));
     */
     $amount = new Amount();
     $amount->setCurrency($oPaypalModuleConfig->currency_code)->setTotal($oPaypalModel->getConvertedPrice($output->price, $oPaypalModuleConfig->conversion_rate));
     //			   ->setDetails($details);
     $transaction = new Transaction();
     $transaction->setAmount($amount)->setItemList($itemList)->setDescription("Payment description");
     $baseUrl = getBaseUrl();
     $redirectUrls = new RedirectUrls();
     $returnURL = getNotEncodedFullUrl('', 'module', $this->module_info->module, 'act', 'procPaypalExecutePayment', 'success', 'true', 'order_srl', $order_srl, 'transaction_srl', $transaction_srl);
     $cancelURL = getNotEncodedFullUrl('', 'module', $this->module_info->module, 'act', 'procPaypalExecutePayment', 'success', 'false', 'order_srl', $order_srl, 'transaction_srl', $transaction_srl);
     $redirectUrls->setReturnUrl($returnURL)->setCancelUrl($cancelURL);
     $payment = new Payment();
     $payment->setIntent("sale")->setPayer($payer)->setRedirectUrls($redirectUrls)->setTransactions(array($transaction));
     try {
         $output = $payment->create($apiContext);
     } catch (PayPal\Exception\PPConnectionException $ex) {
         echo "Exception: " . $ex->getMessage() . PHP_EOL;
         var_dump($ex->getData());
         exit(1);
     }
     foreach ($payment->getLinks() as $link) {
         if ($link->getRel() == 'approval_url') {
             $redirectUrl = $link->getHref();
             break;
         }
     }
     $_SESSION['paymentId'] = $payment->getId();
     Context::set('redirectUrl', $redirectUrl);
     Context::set('payment_method', $payment_method);
     $this->setTemplateFile('formdata');
 }
コード例 #5
0
ファイル: paypal.plugin.php プロジェクト: umjinsun12/dngshin
 function processReview($args)
 {
     require_once $this->module_path . 'CallerService.php';
     $cs = new CallerService();
     $currencyCodeType = $this->plugin_info->currency_code;
     $paymentType = 'Sale';
     $L_NAME0 = urlencode($args->order_title);
     $L_AMT0 = $args->price;
     if ($this->plugin_info->conversion_rate) {
         $L_AMT0 = round($args->price * $this->plugin_info->conversion_rate, 2);
     }
     $L_QTY0 = '1';
     $L_NUMBER0 = $args->order_srl;
     $returnURL = urlencode(getNotEncodedFullUrl('', 'module', 'epay', 'act', 'procEpayDoPayment', 'epay_module_srl', $args->epay_module_srl, 'plugin_srl', $args->plugin_srl, 'order_srl', $args->order_srl, 'currencyCodeType', $currencyCodeType, 'paymentType', $paymentType));
     $cancelURL = urlencode(getNotEncodedFullUrl(''));
     $itemamt = 0.0;
     $itemamt = $L_QTY0 * $L_AMT0;
     $amt = $itemamt;
     $maxamt = $amt + 25.0;
     $nvpstr = "";
     $nvpstr = "&L_NAME0=" . $L_NAME0 . "&L_AMT0=" . $L_AMT0 . "&L_QTY0=" . $L_QTY0 . "&MAXAMT=" . (string) $maxamt . "&AMT=" . (string) $amt . "&ITEMAMT=" . (string) $itemamt . "&CALLBACKTIMEOUT=4&L_NUMBER0=" . $L_NUMBER0 . "&L_DESC0=" . $L_NAME0 . "&RETURNURL=" . $returnURL . "&CANCELURL=" . $cancelURL . "&CURRENCYCODE=" . $currencyCodeType . "&PAYMENTACTION=" . $paymentType;
     if ($this->plugin_info->logo_image) {
         $nvpstr .= "&HDRIMG=" . getFullSiteUrl() . $this->plugin_info->logo_image;
     }
     $nvpstr = $nvpHeader . $nvpstr;
     debugPrint('$nvpstr');
     debugPrint($nvpstr);
     /* Make the call to PayPal to set the Express Checkout token
     		If the API call succeded, then redirect the buyer to PayPal
     		to begin to authorize payment.  If an error occured, show the
     		resulting errors
     		*/
     $resArray = $cs->hash_call("SetExpressCheckout", $nvpstr);
     $_SESSION['reshash'] = $resArray;
     $ack = strtoupper($resArray["ACK"]);
     Context::set('resArray', $resArray);
     if ($ack == "SUCCESS") {
         // Redirect to paypal.com here
         $token = urldecode($resArray["TOKEN"]);
         $payPalURL = PAYPAL_URL . $token;
         $output = new Object();
         $output->add('return_url', $payPalURL);
         return $output;
     } else {
         $errorCode = $_SESSION['curl_error_no'];
         $errorMessage = $_SESSION['curl_error_msg'];
         Context::set('errorCode', $errorCode);
         Context::set('errorMessage', $errorMessage);
         $oTemplate =& TemplateHandler::getInstance();
         $tpl_path = _XE_PATH_ . "modules/epay/plugins/paypal/tpl";
         $tpl_file = 'api_error.html';
         $html = $oTemplate->compile($tpl_path, $tpl_file);
         $output = new Object(-1);
         $output->data = $html;
         $output->setMessage($html);
         return $output;
     }
     return new Object();
 }
コード例 #6
0
 function pushprocessor($type, $board_title, $message_gcm, $dmember_srl, $cmember_srl, $ccmember_srl, $sort_gcm, $address_gcm, $module, $func)
 {
     $oAndroidpushappModel = getModel('androidpushapp');
     $config = $oAndroidpushappModel->getConfig();
     unset($output);
     unset($output2);
     unset($output3);
     $send_title = "";
     $send_title2 = "";
     $send_title3 = "";
     switch ($sort_gcm) {
         case 1:
             if ($func == "normal") {
                 $output = executeQueryArray('androidpushapp.getgcm');
             } elseif ($func == "secret" || $func == "counsel") {
                 $args = new stdClass();
                 $args->module_srl = $module;
                 $output = executeQueryArray('androidpushapp.getModuleAdmin', $args);
                 if (!$output->data) {
                     $args = new stdClass();
                     $args->is_admin = "Y";
                     $output = executeQueryArray('androidpushapp.getAdminReg', $args);
                 }
             }
             break;
         case 2:
             if ($func == "normal" || $func == "son") {
                 $output = executeQueryArray('androidpushapp.getgcm');
             } elseif ($func == "counsel") {
                 $args = new stdClass();
                 $args->module_srl = $module;
                 $output = executeQueryArray('androidpushapp.getModuleAdmin', $args);
                 if (!$output->data) {
                     $args = new stdClass();
                     $args->is_admin = "Y";
                     $output = executeQueryArray('androidpushapp.getAdminReg', $args);
                 }
             } elseif ($func == "secret") {
                 $args = new stdClass();
                 $args->module_srl = $module;
                 $output = executeQueryArray('androidpushapp.getModuleAdmin', $args);
                 if (!$output->data) {
                     $args = new stdClass();
                     $args->is_admin = "Y";
                     $output = executeQueryArray('androidpushapp.getAdminReg', $args);
                 }
                 $cond = new stdClass();
                 $cond->member_srl = $dmember_srl;
                 $output2 = executeQueryArray('androidpushapp.getgcmbymem', $cond);
             } elseif ($func == "secret_son") {
                 $args = new stdClass();
                 $args->module_srl = $module;
                 $output = executeQueryArray('androidpushapp.getModuleAdmin', $args);
                 if (!$output->data) {
                     $args = new stdClass();
                     $args->is_admin = "Y";
                     $output = executeQueryArray('androidpushapp.getAdminReg', $args);
                 }
                 $cond = new stdClass();
                 $cond->member_srl = $dmember_srl;
                 $output2 = executeQueryArray('androidpushapp.getgcmbymem', $cond);
                 $cond = new stdClass();
                 $cond->member_srl = $ccmember_srl;
                 $output3 = executeQueryArray('androidpushapp.getgcmbymem', $cond);
             }
             break;
         case 3:
             $cond = new stdClass();
             $cond->member_srl = $dmember_srl;
             $output = executeQueryArray('androidpushapp.getgcmbymem', $cond);
             break;
         case 4:
             $args = new stdClass();
             $args->is_admin = "Y";
             $output = executeQueryArray('androidpushapp.getAdminReg', $args);
             break;
     }
     $send_title = $this->notify($output, $board_title, $message_gcm, $dmember_srl, $cmember_srl, $ccmember_srl, $sort_gcm, $address_gcm, $module, $func);
     if ($output2->data) {
         $send_title2 = $this->notify($output2, $board_title, $message_gcm, $dmember_srl, $cmember_srl, $ccmember_srl, $sort_gcm, $address_gcm, $module, $func);
     }
     if ($output3->data) {
         $send_title3 = $this->notify($output3, $board_title, $message_gcm, $dmember_srl, $cmember_srl, $ccmember_srl, $sort_gcm, $address_gcm, $module, $func);
     }
     $args = new stdClass();
     switch ($sort_gcm) {
         case 1:
             $args->target_url = getNotEncodedFullUrl('', 'document_srl', $address_gcm);
             break;
         case 2:
             $args->target_url = getNotEncodedFullUrl('', 'document_srl', $address_gcm);
             break;
         case 3:
             $args->target_url = getUrl('act', 'dispAndroidpushappAdminList');
             break;
         case 4:
             $args->target_url = getUrl('act', 'dispAndroidpushappAdminList');
             break;
     }
     $args->target_title = $message_gcm;
     $args->type = $type;
     $args->push_date = date('YmdHis');
     $args->text = $send_title . $send_title2 . $send_title3;
     $args->target_browser = $board_title;
     $args->pushid = md5(date('YmdHis'));
     $output = executeQuery('androidpushapp.insertPush', $args);
     if (!$output->toBool()) {
         return $output;
     }
 }
コード例 #7
0
 /**
  * Get all act list for admin menu
  * @return void|object
  */
 function procMenuAdminInsertItemForAdminMenu()
 {
     $requestArgs = Context::getRequestVars();
     $tmpMenuName = explode(':', $requestArgs->menu_name);
     $moduleName = $tmpMenuName[0];
     $menuName = $tmpMenuName[1];
     // variable setting
     $logged_info = Context::get('logged_info');
     //$oMenuAdminModel = getAdminModel('menu');
     $oMemberModel = getModel('member');
     //$parentMenuInfo = $oMenuAdminModel->getMenuItemInfo($requestArgs->parent_srl);
     $groupSrlList = $oMemberModel->getMemberGroups($logged_info->member_srl);
     //preg_match('/\{\$lang->menu_gnb\[(.*?)\]\}/i', $parentMenuInfo->name, $m);
     $oModuleModel = getModel('module');
     //$info = $oModuleModel->getModuleInfoXml($moduleName);
     $info = $oModuleModel->getModuleActionXml($moduleName);
     $url = getNotEncodedFullUrl('', 'module', 'admin', 'act', $info->menu->{$menuName}->index);
     if (empty($url)) {
         $url = getNotEncodedFullUrl('', 'module', 'admin', 'act', $info->admin_index_act);
     }
     if (empty($url)) {
         $url = getNotEncodedFullUrl('', 'module', 'admin');
     }
     $dbInfo = Context::getDBInfo();
     $args = new stdClass();
     $args->menu_item_srl = !$requestArgs->menu_item_srl ? getNextSequence() : $requestArgs->menu_item_srl;
     $args->parent_srl = $requestArgs->parent_srl;
     $args->menu_srl = $requestArgs->menu_srl;
     $args->name = sprintf('{$lang->menu_gnb_sub[\'%s\']}', $menuName);
     //if now page is https...
     if (strpos($url, 'https') !== false) {
         $args->url = str_replace('https' . substr($dbInfo->default_url, 4), '', $url);
     } else {
         $args->url = str_replace($dbInfo->default_url, '', $url);
     }
     $args->open_window = 'N';
     $args->expand = 'N';
     $args->normal_btn = '';
     $args->hover_btn = '';
     $args->active_btn = '';
     $args->group_srls = implode(',', array_keys($groupSrlList));
     $args->listorder = -1 * $args->menu_item_srl;
     // Check if already exists
     $oMenuModel = getAdminModel('menu');
     $item_info = $oMenuModel->getMenuItemInfo($args->menu_item_srl);
     // Update if exists
     if ($item_info->menu_item_srl == $args->menu_item_srl) {
         $output = executeQuery('menu.updateMenuItem', $args);
         if (!$output->toBool()) {
             return $output;
         }
     } else {
         $args->listorder = -1 * $args->menu_item_srl;
         $output = executeQuery('menu.insertMenuItem', $args);
         if (!$output->toBool()) {
             return $output;
         }
     }
     // Get information of the menu
     $menu_info = $oMenuModel->getMenu($args->menu_srl);
     $menu_title = $menu_info->title;
     // Update the xml file and get its location
     $xml_file = $this->makeXmlFile($args->menu_srl);
     $returnUrl = Context::get('success_return_url') ? Context::get('success_return_url') : getNotEncodedUrl('', 'module', 'admin', 'act', 'dispAdminSetup');
     $this->setRedirectUrl($returnUrl);
 }
コード例 #8
0
ファイル: member.model.php プロジェクト: rhymix/rhymix
 /**
  * @brief Return member's configuration
  */
 function getMemberConfig()
 {
     static $member_config;
     if ($member_config) {
         return $member_config;
     }
     // Get member configuration stored in the DB
     $oModuleModel = getModel('module');
     $config = $oModuleModel->getModuleConfig('member');
     if (!$config->signupForm || !is_array($config->signupForm)) {
         $oMemberAdminController = getAdminController('member');
         $identifier = $config->identifier ? $config->identifier : 'email_address';
         $config->signupForm = $oMemberAdminController->createSignupForm($identifier);
     }
     //for multi language
     foreach ($config->signupForm as $key => $value) {
         $config->signupForm[$key]->title = $value->isDefaultForm ? lang($value->name) : $value->title;
         if ($config->signupForm[$key]->isPublic != 'N') {
             $config->signupForm[$key]->isPublic = 'Y';
         }
         if ($value->name == 'find_account_question') {
             $config->signupForm[$key]->isPublic = 'N';
         }
     }
     // Get terms of user
     $config->agreement = memberModel::_getAgreement();
     if (!$config->webmaster_name) {
         $config->webmaster_name = 'webmaster';
     }
     if (!$config->image_name_max_width) {
         $config->image_name_max_width = 90;
     }
     if (!$config->image_name_max_height) {
         $config->image_name_max_height = 20;
     }
     if (!$config->image_mark_max_width) {
         $config->image_mark_max_width = 20;
     }
     if (!$config->image_mark_max_height) {
         $config->image_mark_max_height = 20;
     }
     if (!$config->profile_image_max_width) {
         $config->profile_image_max_width = 90;
     }
     if (!$config->profile_image_max_height) {
         $config->profile_image_max_height = 90;
     }
     if (!$config->skin) {
         $config->skin = 'default';
     }
     if (!$config->colorset) {
         $config->colorset = 'white';
     }
     if (!$config->editor_skin || $config->editor_skin == 'default') {
         $config->editor_skin = 'ckeditor';
     }
     if (!$config->group_image_mark) {
         $config->group_image_mark = "N";
     }
     if (!$config->identifier) {
         $config->identifier = 'user_id';
     }
     if (!$config->emailhost_check) {
         $config->emailhost_check = 'allowed';
     }
     if (!$config->max_error_count) {
         $config->max_error_count = 10;
     }
     if (!$config->max_error_count_time) {
         $config->max_error_count_time = 300;
     }
     if (!$config->signature_editor_skin || $config->signature_editor_skin == 'default') {
         $config->signature_editor_skin = 'ckeditor';
     }
     if (!$config->sel_editor_colorset) {
         $config->sel_editor_colorset = 'moono';
     }
     if (!$config->member_allow_fileupload) {
         $config->member_allow_fileupload = 'N';
     }
     if ($config->redirect_mid) {
         $config->redirect_url = getNotEncodedFullUrl('', 'mid', $config->redirect_mid);
     }
     $member_config = $config;
     return $config;
 }
コード例 #9
0
 function processReview($args)
 {
     $oModuleModel =& getModel('module');
     $epay_module_srl = Context::get('epay_module_srl');
     $epay_module_info = $oModuleModel->getModuleInfoByModuleSrl($epay_module_srl);
     Context::set('price', $args->price);
     Context::set('order_srl', $args->order_srl);
     Context::set('order_title', $args->order_title);
     Context::set('purchaser_name', $args->purchaser_name);
     /*
     <!--************************************************************************************ 
     신용카드(안심클릭), 가상계좌, 휴대폰, 문화상품권, 해피머니 사용시 필수 항목 - 인증결과를 해당 url로 post함, 즉 이 URL이 화면상에 보여지게 됨 
     ************************************************************************************--> 
      <input type="hidden" name="P_NEXT_URL" value=" "> 
     
      <!--************************************************************************************ 
     신용카드(ISP), 계좌이체, 가상계좌 필수항목 - 이 URL로 ISP 승인결과 및 가상계좌 입금정보가 리턴됨 
     ************************************************************************************--> 
      <input type="hidden" name="P_NOTI_URL" value=" "> 
     
      <!--************************************************************************************ 
     신용카드(ISP), 계좌이체 필수항목 - ISP, 금결원계좌이체 동작이 완료된 후 이 URL이 화면상에 보여짐 
     ************************************************************************************--> 
      <input type="hidden" name="P_RETURN_URL" value=" "> 
     */
     Context::set('next_url', getNotEncodedFullUrl('') . '/' . $epay_module_info->mid . '?n_page=' . $args->order_srl);
     Context::set('return_url', getNotEncodedFullUrl('') . '/' . $epay_module_info->mid . '?r_page=' . $args->order_srl);
     Context::set('noti_url', getNotEncodedFullUrl('', 'module', 'epay', 'act', 'procEpayDoPayment', 'module_srl', $args->module_srl, 'epay_module_srl', $args->epay_module_srl, 'plugin_srl', $this->plugin_info->plugin_srl, 'order_srl', $args->order_srl, 'epay_target_module', $args->target_module));
     $oTemplate =& TemplateHandler::getInstance();
     $tpl_path = _XE_PATH_ . "modules/epay/plugins/inipaymobile/tpl";
     $tpl_file = 'review.html';
     $tpl_data = $oTemplate->compile($tpl_path, $tpl_file);
     $output = new Object();
     $output->add('tpl_data', $tpl_data);
     return $output;
 }
コード例 #10
0
 function ping($id, $type, $page = 1)
 {
     $this->ping_message = '';
     $oSyndicationModel = getModel('syndication');
     $oModuleModel = getModel('module');
     $config = $oModuleModel->getModuleConfig('syndication');
     if (!$config->syndication_token) {
         $this->ping_message = 'Syndication Token empty';
         $oSyndicationModel->setResentPingLog($this->ping_message);
         return false;
     }
     if (!$this->checkOpenSSLSupport()) {
         $lang = Context::get('lang');
         $this->ping_message = $lang->msg_need_openssl_support;
         $oSyndicationModel->setResentPingLog($this->ping_message);
         return false;
     }
     if (substr($config->site_url, -1) != '/') {
         $config->site_url .= '/';
     }
     $ping_url = 'https://apis.naver.com/crawl/nsyndi/v2';
     $ping_header = array();
     $ping_header['Host'] = 'apis.naver.com';
     $ping_header['Pragma'] = 'no-cache';
     $ping_header['Accept'] = '*/*';
     $ping_header['Authorization'] = sprintf("Bearer %s", $config->syndication_token);
     $request_config = array();
     $request_config['ssl_verify_peer'] = false;
     $ping_body = getNotEncodedFullUrl('', 'module', 'syndication', 'act', 'getSyndicationList', 'id', $id, 'type', $type, 'page', $page, 'syndication_password', $config->syndication_password);
     $buff = FileHandler::getRemoteResource($ping_url, null, 10, 'POST', 'application/x-www-form-urlencoded', $ping_header, array(), array('ping_url' => $ping_body), $request_config);
     $xml = new XmlParser();
     $xmlDoc = $xml->parse($buff);
     if ($xmlDoc->result->error_code->body != '000') {
         if (!$buff) {
             $this->ping_message = 'Socket connection error. Check your Server Environment.';
         } else {
             $this->ping_message = $xmlDoc->result->message->body;
         }
         $oSyndicationModel->setResentPingLog($this->ping_message);
         return false;
     }
     return true;
 }
コード例 #11
0
 function triggerAfterModuleHandlerProc(&$oModule)
 {
     $vars = Context::getRequestVars();
     $logged_info = Context::get('logged_info');
     $args = new stdClass();
     if ($oModule->getLayoutFile() == 'popup_layout.html') {
         Context::set('ncenterlite_is_popup', TRUE);
     }
     $oNcenterliteModel = getModel('ncenterlite');
     $config = $oNcenterliteModel->getConfig();
     if ($config->use != 'Y') {
         return new Object();
     }
     $this->_hide_ncenterlite = false;
     if ($oModule->module == 'beluxe' && Context::get('is_modal')) {
         $this->_hide_ncenterlite = true;
     }
     if ($oModule->module == 'bodex' && Context::get('is_iframe')) {
         $this->_hide_ncenterlite = true;
     }
     if ($oModule->getLayoutFile() == 'popup_layout.html') {
         $this->_hide_ncenterlite = true;
     }
     if ($oModule->act == 'dispBoardReplyComment') {
         $comment_srl = Context::get('comment_srl');
         $logged_info = Context::get('logged_info');
         if ($comment_srl && $logged_info) {
             $args->target_srl = $comment_srl;
             $args->member_srl = $logged_info->member_srl;
             $output_update = executeQuery('ncenterlite.updateNotifyReadedByTargetSrl', $args);
         }
     } else {
         if ($oModule->act == 'dispBoardContent') {
             $comment_srl = Context::get('_comment_srl');
             $document_srl = Context::get('document_srl');
             $oDocument = Context::get('oDocument');
             $logged_info = Context::get('logged_info');
             if ($document_srl && $logged_info && $config->document_read == 'Y') {
                 $args->srl = $document_srl;
                 $args->member_srl = $logged_info->member_srl;
                 $outputs = executeQuery('ncenterlite.updateNotifyReadedBySrl', $args);
             }
             if ($comment_srl && $document_srl && $oDocument) {
                 $_comment_list = $oDocument->getComments();
                 if ($_comment_list) {
                     if (array_key_exists($comment_srl, $_comment_list)) {
                         $url = getNotEncodedUrl('_comment_srl', '') . '#comment_' . $comment_srl;
                         $need_check_socialxe = true;
                     } else {
                         $cpage = $oDocument->comment_page_navigation->cur_page;
                         if ($cpage > 1) {
                             $url = getNotEncodedUrl('cpage', $cpage - 1) . '#comment_' . $comment_srl;
                             $need_check_socialxe = true;
                         } else {
                             $url = getNotEncodedUrl('_comment_srl', '', 'cpage', '') . '#comment_' . $comment_srl;
                         }
                     }
                     if ($need_check_socialxe) {
                         $oDB =& DB::getInstance();
                         if ($oDB->isTableExists('socialxe')) {
                             unset($args);
                             $oModuleModel = getModel('module');
                             $module_info = $oModuleModel->getModuleInfoByDocumentSrl($document_srl);
                             $args->module_srl = $module_info->module_srl;
                             $output = executeQuery('ncenterlite.getSocialxeCount', $args);
                             if ($output->data->cnt) {
                                 $socialxe_comment_srl = $comment_srl;
                                 unset($args);
                                 $args->comment_srl = $comment_srl;
                                 $oCommentModel = getModel('comment');
                                 $oComment = $oCommentModel->getComment($comment_srl);
                                 $parent_srl = $oComment->get('parent_srl');
                                 if ($parent_srl) {
                                     $socialxe_comment_srl = $parent_srl;
                                 }
                                 $url = getNotEncodedUrl('_comment_srl', '', 'cpage', '', 'comment_srl', $socialxe_comment_srl) . '#comment_' . $comment_srl;
                             }
                         }
                     }
                     $url = str_replace('&amp;', '&', $url);
                     header('location: ' . $url);
                     Context::close();
                     exit;
                 }
             }
         } elseif ($oModule->act == 'dispCommunicationMessages') {
             $message_srl = Context::get('message_srl');
             $logged_info = Context::get('logged_info');
             if ($message_srl) {
                 $args = new stdClass();
                 $args->target_srl = $message_srl;
                 $args->member_srl = $logged_info->member_srl;
                 executeQuery('ncenterlite.updateNotifyReadedByTargetSrl', $args);
             }
         }
     }
     // 지식인 모듈의 의견
     // TODO: 코드 분리
     if ($oModule->act == 'procKinInsertComment') {
         // 글, 댓글 구분
         $parent_type = $vars->document_srl == $vars->parent_srl ? 'DOCUMENT' : 'COMMENT';
         if ($parent_type == 'DOCUMENT') {
             $oDocumentModel = getModel('document');
             $oDocument = $oDocumentModel->getDocument($vars->document_srl);
             $member_srl = $oDocument->get('member_srl');
             $type = $this->_TYPE_DOCUMENT;
         } else {
             $oCommentModel = getModel('comment');
             $oComment = $oCommentModel->getComment($vars->parent_srl);
             $member_srl = $oComment->get('member_srl');
             $type = $this->_TYPE_COMMENT;
         }
         if ($logged_info->member_srl != $member_srl) {
             $args = new stdClass();
             $args->member_srl = abs($member_srl);
             $args->srl = $parent_type == 'DOCUMENT' ? $vars->document_srl : $vars->parent_srl;
             $args->type = $type;
             $args->target_type = $this->_TYPE_COMMENT;
             $args->target_srl = $vars->parent_srl;
             $args->target_p_srl = '1';
             $args->target_url = getNotEncodedFullUrl('', 'document_srl', $vars->document_srl, '_comment_srl', $vars->parent_srl) . '#comment_' . $vars->parent_srl;
             $args->target_summary = cut_str(strip_tags($vars->content), 50);
             $args->target_nick_name = $logged_info->nick_name;
             $args->target_email_address = $logged_info->email_address;
             $args->regdate = date('YmdHis');
             $args->notify = $this->_getNotifyId($args);
             $output = $this->_insertNotify($args);
         }
     } else {
         if ($oModule->act == 'dispKinView' || $oModule->act == 'dispKinIndex') {
             // 글을 볼 때 알림 제거
             $oDocumentModel = getModel('document');
             $oDocument = $oDocumentModel->getDocument($vars->document_srl);
             $member_srl = $oDocument->get('member_srl');
             if ($logged_info->member_srl == $member_srl) {
                 $args = new stdClass();
                 $args->member_srl = $logged_info->member_srl;
                 $args->srl = $vars->document_srl;
                 $args->type = $this->_TYPE_DOCUMENT;
                 $output = executeQuery('ncenterlite.updateNotifyReadedBySrl', $args);
             }
         } else {
             if ($oModule->act == 'getKinComments') {
                 // 의견을 펼칠 때 알림 제거
                 $args = new stdClass();
                 $args->member_srl = $logged_info->member_srl;
                 $args->target_srl = $vars->parent_srl;
                 $output = executeQuery('ncenterlite.updateNotifyReadedByTargetSrl', $args);
             }
         }
     }
     return new Object();
 }
コード例 #12
0
 /**
  * Get URL for IPN notifications
  */
 public function getNotifyUrl()
 {
     $vid = Context::get('vid');
     return getNotEncodedFullUrl('', 'vid', $vid
         , 'act', 'procShopPaymentNotify'
         , 'payment_method_name', $this->getName()
         , 'error_return_url', ''
     );
 }
			page: htParam.page,
			search_keyword: sSearchKeyword
		});
	});
	$(document.body).on('click', '.x_pagination ._jumpTo', function(ev){
		var sSearchKeyword = $(this).closest('._pagination').data('search_keyword');
		htParam = $.parseJSON($(this).attr('data-param'));
		//console.log($(this).parent().find('input[name=page]'));
		var nPage = parseInt($(this).parent().find('input[name=page]').val());
		$.data($(this).parents('._pagination')[0], "fnCallback")({
			page: nPage,
			search_keyword: sSearchKeyword
		});
	});
	$.jstree._themes = '<?php 
echo getNotEncodedFullUrl("");
?>
modules/menu/tpl/css/themes/';
	$(document.body).on("click", ".x div.col a, .x div.col button", function(ev){
		// FF keeps the focus, making the button highlighted even after the panel is closed.
		$(this).blur();
	});
	// Prepare parms
	$(document.body).on("click", ".x [data-param]", function(ev){
		$._htMarkupActionParam = $.parseJSON($(this).attr('data-param'));
		return false;
	});
	// TARGET toggle
	$(document.body).on("click", ".x [data-admin-toggle]", function(ev){
		$($(this).attr('data-admin-toggle')).toggle();
		ev.preventDefault();
コード例 #14
0
 function textylePublishSubscriptedPost($document_srl)
 {
     // 문서를 얻는다.
     $oDocumentModel =& getModel('document');
     $document = $oDocumentModel->getDocument($document_srl);
     if (!$document) {
         return;
     }
     // 소셜 정보 준비
     $args->document_srl = $document_srl;
     $output = executeQuery('socialxe.getTextylePostSubscriptionSocialInfo', $args);
     if (!$output->data) {
         return;
     }
     $config = unserialize($output->data->config);
     // 데이터 준비
     $args->module_srl = intVal($document->get('module_srl')) * -1;
     $args->content = '';
     $args->content_link = getNotEncodedFullUrl('', 'document_srl', $document->get('document_srl'));
     $args->content_title = $document->getTitleText();
     // 소셜 서비스로 전송
     $output = $this->sendSocialComment($args, $document->document_srl, $msg, $config);
     // 에러는 무시하자...
     // 소셜 정보 삭제
     $args->document_srl = $document_srl;
     $output = executeQuery('socialxe.deleteTextylePostSubscriptionSocialInfo', $args);
 }
コード例 #15
0
 function dispLoginxeclientOAuth()
 {
     //oauth display & redirect act
     //load config here and redirect to service
     //key check & domain check needed
     //needed value=service,id,key,state(client-generated),callback-url(urlencoded)
     $service = Context::get('provider');
     $oLoginXEServerModel = getModel('loginxeclient');
     $module_config = $oLoginXEServerModel->getConfig();
     //설정에서 체크하지 않은 provider일 경우 잘못된 요청입니다 출력
     if (!in_array($service, $module_config->loginxe_provider)) {
         return new Object(-1, 'msg_invalid_request');
     }
     //state 생성
     $_SESSION['loginxecli_state'] = $this->generate_state();
     //서버 주소로 이동
     Context::set('url', $module_config->loginxe_server . sprintf("/index.php?module=loginxeserver&act=dispLoginxeserverOAuth&provider=%s&id=%s&key=%s&state=%s&callback=%s", $service, $module_config->loginxe_id, $module_config->loginxe_key, $_SESSION['loginxecli_state'], urlencode(getNotEncodedFullUrl('', 'act', 'dispLoginxeclientOAuthFinish', 'provider', $service))));
 }