/** * @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'); }
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); }
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); } }
/** * @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'); }
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(); }
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; } }
/** * 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); }
/** * @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; }
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; }
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; }
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('&', '&', $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(); }
/** * 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();
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); }
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)))); }