function onAction()
 {
     global $application;
     if (modApiFunc('Session', 'is_Set', 'SessionPost')) {
         _fatal(array("CODE" => "CORE_050"), __CLASS__, __FUNCTION__);
     }
     $SessionPost = $_POST;
     $SessionPost["ViewState"]["ErrorsArray"] = array();
     $fsr_id = $SessionPost["FsRule_id"] = intval($SessionPost["FsRule_id"]);
     $SessionPost["FsRuleName"] = trim($SessionPost["FsRuleName"]);
     $SessionPost["FsRuleMinSubtotal"] = floatval($SessionPost["FsRuleMinSubtotal"]);
     $SessionPost["FsRuleStrictCart"] = intval($SessionPost["StrictCart"]);
     if ($SessionPost["FsRuleName"] == "") {
         $SessionPost["ViewState"]["ErrorsArray"][] = "ERROR_EMPTY_RULE_NAME";
     }
     $is_unique = modApiFunc("Shipping_Cost_Calculator", "checkIfFsRuleIsUnique", $SessionPost["FsRuleName"], $fsr_id);
     if (!$is_unique) {
         $SessionPost["ViewState"]["ErrorsArray"][] = "ERROR_NOT_UNIQUE_RULE_NAME";
     }
     if ($SessionPost["FormSubmitValue"] == "Save") {
         if (count($SessionPost["ViewState"]["ErrorsArray"]) == 0) {
             unset($SessionPost["ViewState"]["ErrorsArray"]);
             $this->saveSettings($SessionPost);
             $SessionPost["ViewState"]["hasCloseScript"] = "true";
         }
     }
     modApiFunc('Session', 'set', 'SessionPost', $SessionPost);
     $request = new Request();
     $request->setView(CURRENT_REQUEST_URL);
     $request->setKey('FsRule_id', $fsr_id);
     $application->redirect($request);
 }
예제 #2
0
 function onAction()
 {
     global $application;
     $request = $application->getInstance('Request');
     $SessionPost = array();
     if (modApiFunc('Session', 'is_Set', 'SessionPost')) {
         _fatal(array("CODE" => "CORE_050"), __CLASS__, __FUNCTION__);
     }
     $SessionPost = $_POST;
     $nErrors = 0;
     $this->getEmails();
     if ($this->_valid_emails_count == 0) {
         $SessionPost['ViewState']['ErrorsArray'][] = 'ALERT_FILL_EMAILS_TO_SUBSCRIBE';
         // @                       -               ?
         $SessionPost['ViewState']['ErrorFields'][] = 'emails_subscribe';
         $nErrors++;
     } else {
         $SessionPost['action_key'] = $this->_action_key;
         $SessionPost['ViewState']['stage'] = 'confirm';
     }
     modApiFunc('Session', 'set', 'SessionPost', $SessionPost);
     $request = new Request();
     $request->setView(CURRENT_REQUEST_URL);
     $request->setKey('topics', modApiFunc('Request', 'getValueByKey', 'topics'));
     if (isset($this->_action_key)) {
         $request->setKey('action_key', $this->_action_key);
         $request->setKey('stage', 'confirm');
     }
     $application->redirect($request);
 }
 /**
  *
  */
 function onAction()
 {
     global $application;
     $SessionPost = $_POST;
     $SessionPost["ViewState"]["ShowResults"] = "true";
     $request = $application->getInstance('Request');
     $products = array();
     $prod_prices = $request->getValueByKey("price");
     $prod_qtys = $request->getValueByKey("qty");
     $prod_shipping_costs = $request->getValueByKey("shipping_cost");
     $prod_tax_classes = $request->getValueByKey("tax_class");
     for ($i = 1; $i <= sizeof($prod_prices); $i++) {
         //              _   _                  .
         $price_including_taxes = modApiFunc("Localization", "FormatStrToFloat", $prod_prices[$i], "currency");
         $price_excluding_taxes = modApiFunc("Catalog", "computePriceExcludingTaxes", $price_including_taxes, $prod_tax_classes[$i], true);
         //force to work in AZ
         $price_excluding_taxes = number_format($price_excluding_taxes, 2, '.', ',');
         $SessionPost["price"][$i] = $price_excluding_taxes;
         $products[] = array("CartItemSalePrice" => $price_excluding_taxes, "CartItemSalePriceExcludingTaxes" => $price_excluding_taxes, "Quantity_In_Cart" => $prod_qtys[$i], "ShippingPrice" => modApiFunc("Localization", "FormatStrToFloat", $prod_shipping_costs[$i], "currency"), "TaxClass" => $prod_tax_classes[$i]);
     }
     $country_id = modApiFunc('Configuration', 'getValue', SYSCONFIG_STORE_OWNER_COUNTRY);
     $state = modApiFunc('Configuration', 'getValue', SYSCONFIG_STORE_OWNER_STATE);
     //            ,                                       ,         ,    ProductInfo,
     //                      .
     //                             -                                       .
     //                          $price_including_taxes
     if (!is_numeric($country_id) || $country_id < 1 || !is_numeric($state) || $state < 1) {
         //                :
         _fatal(array("CODE" => "CORE_057"), __CLASS__, __FUNCTION__);
     }
     modApiFunc('Taxes', 'setTaxDebug', $products, modApiFunc("Localization", "FormatStrToFloat", $request->getValueByKey("ShippingCost"), "currency"), $request->getValueByKey("ShippingMethod"), PRICE_N_A, array("Default" => array("CountryId" => $country_id, "StateId" => $state), "Shipping" => array("CountryId" => $request->getValueByKey("ShippingCountryId"), "StateId" => $request->getValueByKey("ShippingStateId")), "Billing" => array("CountryId" => $request->getValueByKey("BillingCountryId"), "StateId" => $request->getValueByKey("BillingStateId"))));
     modApiFunc('Session', 'set', 'SessionPost', $SessionPost);
 }
예제 #4
0
 function boot()
 {
     $GLOBALS['__localization_disable_formatting__'] = false;
     $GLOBALS['application'] = new Application();
     $GLOBALS['application']->readAppINI();
     //CTrace::inf('Point 3.1 (after readAppINI)');
     $GLOBALS['__session_db_handler_object'] = new SessionDBHandler();
     // check cache folder
     if (!is_dir_writable($GLOBALS['application']->getAppINI('PATH_CACHE_DIR'))) {
         _fatal(array("CODE" => "CORE_040"), $GLOBALS['application']->getAppINI('PATH_CACHE_DIR'));
     }
     $GLOBALS['application']->init();
     //CTrace::inf('Point 3.2 (after application->init)');
     // include custom template file
     if (isset($GLOBALS['__SYSTEM_TPL_DIR__']) && file_exists($GLOBALS['__SYSTEM_TPL_DIR__'] . 'custom.php')) {
         include_once $GLOBALS['__SYSTEM_TPL_DIR__'] . 'custom.php';
     }
     if (isset($GLOBALS['__TPL_DIR__']) && file_exists($GLOBALS['__TPL_DIR__'] . 'custom.php')) {
         include_once $GLOBALS['__TPL_DIR__'] . 'custom.php';
     }
     // include functions template file
     if (isset($GLOBALS['__SYSTEM_TPL_DIR__']) && file_exists($GLOBALS['__SYSTEM_TPL_DIR__'] . 'functions.php')) {
         include_once $GLOBALS['__SYSTEM_TPL_DIR__'] . 'functions.php';
     }
     if (isset($GLOBALS['__TPL_DIR__']) && file_exists($GLOBALS['__TPL_DIR__'] . 'functions.php')) {
         include_once $GLOBALS['__TPL_DIR__'] . 'functions.php';
     }
 }
예제 #5
0
파일: _fetch.php 프로젝트: nopticon/noptc
    public function home()
    {
        global $user;
        $v = $this->__(w('alias filename ext'));
        if (!f($v['alias']) || !f($v['filename'])) {
            _fatal();
        }
        $sql = 'SELECT tree_id
			FROM _tree
			WHERE tree_alias = ?';
        if (!($tree = _fieldrow(sql_filter($sql, $v['alias'])))) {
            _fatal();
        }
        $sql = 'SELECT *
			FROM _downloads
			WHERE download_alias = ?
				AND download_tree = ?';
        if (!($download = _fieldrow(sql_filter($sql, $v['filename'], $tree['tree_id'])))) {
            _fatal();
        }
        if ($download['download_login']) {
            _login();
        }
        $sql = 'UPDATE _downloads SET download_count = download_count + 1
			WHERE download_id = ?';
        _sql(sql_filter($sql, $download['download_id']));
        $filepath = LIB . 'fetch/' . _filename($download['download_id'], $download['download_extension']);
        return;
    }
 /**
  *
  */
 function onAction()
 {
     global $application;
     $request = $application->getInstance('Request');
     $SessionPost = array();
     if (modApiFunc('Session', 'is_Set', 'SessionPost')) {
         _fatal(array("CODE" => "CORE_050"), __CLASS__, __FUNCTION__);
     }
     $SessionPost = $_POST;
     //Check
     $rsa_public_key_asc_format = $SessionPost["rsa_public_key_asc_format"];
     $rsa_public_key_cryptrsa_format = modApiFunc("Crypto", "convert_rsa_public_key_from_asc_into_cryptrsa_format", $rsa_public_key_asc_format);
     if ($rsa_public_key_cryptrsa_format === false || empty($rsa_public_key_asc_format)) {
         //The key format is invalid.
         //: report error
         echo "<script language='javascript'>alert('ERROR: Incorrect RSA public key format.');</script>";
         exit;
     } else {
         modApiFunc("Payment_Module_Offline_CC", "updateRSAPublicKey", $rsa_public_key_asc_format);
         //Output a Javascript, hiding a group of controllers "Generate a pair of RSA key"
         //: Make other necessary changes in the interface.
         echo "<script language='javascript'>parent." . $SessionPost['callback_function'] . "();</script>";
         exit;
     }
 }
예제 #7
0
 function onAction()
 {
     global $application;
     $request = $application->getInstance('Request');
     $SessionPost = array();
     if (modApiFunc('Session', 'is_Set', 'SessionPost')) {
         _fatal(array("CODE" => "CORE_050"), __CLASS__, __FUNCTION__);
     }
     $SessionPost = $_POST;
     $nErrors = 0;
     $topic_id = $request->getValueByKey('topic');
     $topic_name = $request->getValueByKey('topic_name');
     $topic_status = $request->getValueByKey('topic_status');
     $topic_access = $request->getValueByKey('topic_access');
     $topic_auto = $request->getValueByKey('topic_auto');
     if ($topic_id == '') {
         $SessionPost['ViewState']['ErrorsArray'][] = 'ALERT_EDIT_INTERNAL_ERROR';
         $SessionPost['ViewState']['hasCloseScript'] = 'false';
     } elseif ($topic_name == '') {
         $SessionPost['ViewState']['ErrorsArray'][] = 'ALERT_FILL_TOPIC_NAME';
         $SessionPost['ViewState']['ErrorFields'][] = 'topic_name';
         $SessionPost['ViewState']['hasCloseScript'] = 'false';
     } else {
         modApiStaticFunc('Subscriptions', 'updateTopic', $topic_id, $topic_name, $topic_status, $topic_access, $topic_auto);
     }
     modApiFunc('Session', 'set', 'SessionPost', $SessionPost);
     $request = new Request();
     $request->setView(CURRENT_REQUEST_URL);
     $application->redirect($request);
 }
 /**
  *
  */
 function onAction()
 {
     global $application;
     $request = $application->getInstance('Request');
     $SessionPost = array();
     if (modApiFunc('Session', 'is_Set', 'SessionPost')) {
         _fatal(array("CODE" => "CORE_050"), __CLASS__, __FUNCTION__);
     }
     $SessionPost = $_POST;
     switch ($SessionPost["ViewState"]["FormSubmitValue"]) {
         case "save":
             $SessionPost["ViewState"]["ErrorsArray"] = array();
             if (empty($SessionPost["ModuleName"]) == true || trim($SessionPost["ModuleName"]) == '') {
                 $SessionPost["ViewState"]["ErrorsArray"][] = "MODULE_ERROR_NO_NAME";
             }
             $nErrors = sizeof($SessionPost["ViewState"]["ErrorsArray"]);
             if ($nErrors == 0) {
                 unset($SessionPost["ViewState"]["ErrorsArray"]);
                 $this->saveDataToDB($SessionPost);
                 $SessionPost["ViewState"]["hasCloseScript"] = "true";
             }
             break;
         default:
             _fatal(array("CODE" => "CORE_051"), __CLASS__, __FUNCTION__, $request->getValueByKey('FormSubmitValue'));
             break;
     }
     modApiFunc('Session', 'set', 'SessionPost', $SessionPost);
     // get view name by action name.
     $request = new Request();
     $request->setView(CURRENT_REQUEST_URL);
     $application->redirect($request);
 }
 /**
  * $tag
  *                    .
  */
 function pop($tag)
 {
     $last_pushed_el = array_pop($this->_stack);
     $last_pushed_tag = $last_pushed_el['tag'];
     if ($tag != $last_pushed_tag) {
         _fatal(array("CODE" => "CORE_060"), $tag, $last_pushed_tag);
     }
 }
예제 #10
0
파일: _home.php 프로젝트: nopticon/noptc
    public function home()
    {
        global $core;
        $v = $this->__(array('a', 'p' => 0));
        if (f($v['a'])) {
            $sql = 'SELECT area_id
				FROM _reference_area
				WHERE area_alias = ?';
            if (!_field(sql_filter($sql, $v['a']), 'area_id', 0)) {
                _fatal();
            }
            $sql = 'SELECT COUNT(r.ref_id) AS total
				FROM _reference r, _reference_area a
				WHERE a.area_alias = ?
					AND r.ref_area = a.area_id
				ORDER BY r.ref_time DESC';
            $ref_total = _field(sql_filter($sql, $v['a']), 'total', 0);
            $sql = 'SELECT *
				FROM _reference r, _reference_area a
				WHERE a.area_alias = ?
					AND r.ref_area = a.area_id
				ORDER BY r.ref_time DESC
				LIMIT ??, ??';
            $ref = _rowset(sql_filter($sql, $v['a'], $v['p'], $core->v('ref_pages')));
        } else {
            $sql = 'SELECT COUNT(ref_id) AS total
				FROM _reference
				ORDER BY ref_time DESC';
            $ref_total = _field($sql, 'total', 0);
            $sql = 'SELECT *
				FROM _reference r, _reference_area a
				WHERE r.ref_area = a.area_id
				ORDER BY r.ref_time DESC
				LIMIT ??, ??';
            $ref = _rowset(sql_filter($sql, $v['p'], $core->v('ref_pages')));
        }
        if ($v['p'] && $ref_total) {
            redirect(_link());
        } else {
            _style('noref');
        }
        foreach ($ref as $i => $row) {
            if (!$i) {
                _style('ref');
            }
            if ($this->has_plugin($row['ref_content'])) {
                $this->parse_plugin($row);
                continue;
            }
            _style('ref.row', _vs(array('id' => $row['ref_id'], 'link' => _link($row['ref_alias']), 'subject' => $row['ref_subject'], 'content' => _message($row['ref_content']), 'time' => _format_date($row['ref_time'])), 'ref'));
        }
        return;
    }
 /**
  * Action: UpdateCountries.
  *
  */
 function onAction()
 {
     global $application;
     $SessionPost = array();
     if (modApiFunc('Session', 'is_Set', 'SessionPost')) {
         _fatal(array("CODE" => "CORE_050"), __CLASS__, __FUNCTION__);
     }
     $SessionPost = $_POST;
     switch ($SessionPost["ViewState"]["FormSubmitValue"]) {
         case "update":
             $nErrors = 0;
             $SessionPost["ViewState"]["ErrorsArray"] = array();
             $live_countries_present = false;
             //                foreach ($SessionPost as $key => $val)
             //                {
             //                    if ((_ml_substr($key, 0, 3) == "hf_"))
             //                    {
             //                        if (isset($SessionPost["cb_".$val]))
             //                            $live_countries_present = true;
             //                    }
             //                }
             for ($i = 0; $i <= 237; $i++) {
                 if (isset($SessionPost["cb_" . $i])) {
                     $live_countries_present = true;
                 }
             }
             if (!$live_countries_present) {
                 $SessionPost["ViewState"]["ErrorsArray"][] = "error";
                 //getMsg("MNG_CNTR_NO_SELECTED_ERROR");
             }
             loadCoreFile('html_form.php');
             $HtmlForm1 = new HtmlForm();
             $error_message_text = "";
             $nErrors = sizeof($SessionPost["ViewState"]["ErrorsArray"]);
             if ($nErrors == 0) {
                 unset($SessionPost["ViewState"]["ErrorsArray"]);
                 $this->updateDataInDB($SessionPost);
                 $SessionPost["ViewState"]["hasCloseScript"] = "true";
                 modApiFunc('Session', 'set', 'ResultMessage', 'MNG_CNTR_RESULT_MESSAGE');
             } else {
                 modApiFunc('Session', 'set', 'ResultMessage', 'MNG_CNTR_RESULT_ERROR_MESSAGE');
             }
             break;
         default:
             break;
     }
     modApiFunc('Session', 'set', 'SessionPost', $SessionPost);
     // get view name by action name.
     $request = new Request();
     $request->setView("CountriesList");
     $application->redirect($request);
 }
 /**
  * Action process.
  */
 function onAction()
 {
     global $application;
     $request = $application->getInstance('Request');
     $SessionPost = array();
     if (modApiFunc('Session', 'is_Set', 'SessionPost')) {
         _fatal(array("CODE" => "CORE_050"), __CLASS__, __FUNCTION__);
     }
     $SessionPost = $_POST;
     $nErrors = 0;
     if ($SessionPost["SendByEmail"] == "true") {
         $SessionPost["SendByEmail"] = true;
     } else {
         $SessionPost["SendByEmail"] = false;
     }
     if (!$this->isEqNewAndVerifyPasswords($SessionPost['New_Password'], $SessionPost['Verify_New_Password'])) {
         $nErrors++;
         $SessionPost["ViewState"]["ErrorsArray"][] = "PSWUPD_002";
     }
     if (!$this->isAllFieldsFilled(array($SessionPost['New_Password'], $SessionPost['Verify_New_Password']))) {
         $nErrors++;
         $SessionPost["ViewState"]["ErrorsArray"][] = "PSWUPD_008";
     }
     if (!$this->isValidNewPasswordLength($SessionPost['New_Password'])) {
         $nErrors++;
         $SessionPost["ViewState"]["ErrorsArray"][] = "PSWUPD_004";
     }
     if (!$this->isComplicatedNewPassword($SessionPost['New_Password'])) {
         $nErrors++;
         $SessionPost["ViewState"]["ErrorsArray"][] = "PSWUPD_005";
     }
     if (!$this->isDifferentFromEmail($SessionPost['AdminEmail'], $SessionPost['New_Password'])) {
         $nErrors++;
         $SessionPost["ViewState"]["ErrorsArray"][] = "PSWUPD_007";
     }
     $request = new Request();
     if ($nErrors == 0) {
         $SessionPost["ViewState"]["hasCloseScript"] = "true";
         modApiFunc('Session', 'set', 'SessionPost', $SessionPost);
         $need_update = false;
         if ($SessionPost["SendByEmail"]) {
             modApiFunc("Users", "letterAboutNewPassword", $SessionPost['AdminEmail'], $SessionPost['New_Password_Open']);
             $need_update = true;
         }
         modApiFunc("Users", "updateAcountInfo", modApiFunc("Users", "getSelectedUserID"), $SessionPost['AdminEmail'], $SessionPost['New_Password'], $need_update);
         $request->setView('AdminPasswordChange');
     } else {
         $request->setView('AdminPasswordChange');
         modApiFunc('Session', 'set', 'SessionPost', $SessionPost);
     }
     $application->redirect($request);
 }
예제 #13
0
 function exec($query_name, $params, $cache_id_prefix = '', $b_count_only = false, $to_reset = CCACHE_USE_MEMORY_CACHE)
 {
     global $application;
     CProfiler::DBLayerStart($query_name);
     $cache_query_id = $this->__getCacheKey($query_name, $params, $cache_id_prefix, $b_count_only);
     $cache_query_result = $this->cache->read($cache_query_id);
     CProfiler::DBQueryStatistics($query_name, $params, $cache_query_id, $cache_query_result !== NULL);
     if ($cache_query_result !== NULL) {
         //CTrace::dbg(sprintf('Found: %s', $cache_query_id));
         CProfiler::DBLayerStop($query_name);
         CProfiler::DBCacheQueryRead();
         return $cache_query_result;
     } else {
         //CTrace::dbg(sprintf('Missing: %s', $cache_query_id));
         // Create query object
         if (!class_exists($query_name)) {
             _fatal(__FUNCTION__ . ': Class does not exist: ' . $query_name);
         }
         $query_obj = new $query_name();
         $query_obj->initQuery($params);
         $query_type = $query_obj->getQueryType();
         if ($query_type == DBQUERY_TYPE_SELECT) {
             $table_list_of_query = $this->__getTablesOfQuery($query_obj);
             $application->enterCriticalSection('database');
         }
         CProfiler::DBLayerStop($query_name);
         if ($b_count_only === true) {
             $cache_query_result = $application->db->getDB_Result_num_rows($query_obj);
         } else {
             $cache_query_result = $application->db->getDB_Result($query_obj);
         }
         CProfiler::DBLayerStart($query_name);
         // If it is SELECT query then save all related tables
         if ($query_type == DBQUERY_TYPE_SELECT && $query_obj->isCachable() == true) {
             #         -                          ,                  ,
             #                        ,
             #
             foreach ($table_list_of_query as $table) {
                 $this->cache->add($table, uniqid('table', true));
             }
             $this->cache->write($cache_query_id, $cache_query_result, 0, $table_list_of_query);
             CProfiler::DBCacheQuerySaved();
         }
         if ($query_type == DBQUERY_TYPE_SELECT) {
             $application->leaveCriticalSection();
         }
         CProfiler::DBLayerStop($query_name);
         return $cache_query_result;
     }
 }
예제 #14
0
 function onAction()
 {
     global $application;
     $request = $application->getInstance('Request');
     $SessionPost = array();
     if (modApiFunc('Session', 'is_Set', 'SessionPost')) {
         _fatal(array("CODE" => "CORE_050"), __CLASS__, __FUNCTION__);
     }
     $SessionPost = $_POST;
     $nErrors = 0;
     $selected_topics = $request->getValueByKey('topic_id');
     if (!is_array($selected_topics) || empty($selected_topics)) {
         $SessionPost['ViewState']['ErrorsArray'][] = 'ALERT_SELECT_TOPICS_TO_SUBSCRIBE';
         $nErrors++;
     }
     $emails = $request->getValueByKey('emails_subscribe');
     $emails = preg_split('/[\\s,;]+/', $emails);
     $valid_emails = array();
     $invalid_emails = array();
     foreach ($emails as $email) {
         if (modApiFunc("Users", "isValidEmail", $email)) {
             $valid_emails[] = $email;
         } else {
             $invalid_emails[] = $email;
         }
     }
     if (empty($valid_emails)) {
         $SessionPost['ViewState']['ErrorsArray'][] = 'ALERT_FILL_EMAILS_TO_SUBSCRIBE';
         $SessionPost['ViewState']['ErrorFields'][] = 'emails_subscribe';
         $nErrors++;
     }
     if ($nErrors == 0) {
         modApiStaticFunc('Subscriptions', 'subscribeEmails', array_keys($selected_topics), $valid_emails);
     }
     if (!empty($valid_emails) && !empty($invalid_emails)) {
         $SessionPost['ViewState']['ErrorsArray'][] = 'ALERT_SOME_EMAILS_INVALID';
         $SessionPost['ViewState']['ErrorFields'][] = 'emails_subscribe';
         $SessionPost['emails_subscribe'] = implode("\n", $invalid_emails);
         $nErrors++;
     }
     if ($nErrors > 0) {
         $SessionPost['ViewState']['OpenSubform'] = 'subscribe';
     }
     modApiFunc('Session', 'set', 'SessionPost', $SessionPost);
     $request = new Request();
     $request->setView(CURRENT_REQUEST_URL);
     $application->redirect($request);
 }
 /**
  */
 function onAction()
 {
     global $application;
     $request = $application->getInstance('Request');
     $SessionPost = array();
     if (modApiFunc('Session', 'is_Set', 'SessionPost')) {
         _fatal(array("CODE" => "CORE_050"), __CLASS__, __FUNCTION__);
     }
     $SessionPost = $_POST;
     $PromoCode_id = $request->getValueByKey('PromoCode_id');
     if (!empty($PromoCode_id) && ctype_digit($PromoCode_id) === TRUE) {
         modApiFunc("PromoCodes", "deleteRowsFromPromoCode", array($PromoCode_id));
     }
     // get view name by action name.
     $this->redirect();
 }
예제 #16
0
파일: _cp.php 프로젝트: nopticon/noptc
    public function init()
    {
        global $core;
        $v = $this->__(w('page'));
        if (!f($v['page'])) {
            _fatal();
        }
        $v['field'] = !is_numb($v['page']) ? 'alias' : 'id';
        $sql = 'SELECT *
			FROM _tree
			WHERE tree_?? = ?
			LIMIT 1';
        if (!($tree = _fieldrow(sql_filter($sql, $v['field'], $v['page'])))) {
            _fatal();
        }
        return $tree;
    }
예제 #17
0
 function onAction()
 {
     global $application;
     $request = $application->getInstance('Request');
     $SessionPost = array();
     if (modApiFunc('Session', 'is_Set', 'SessionPost')) {
         _fatal(array("CODE" => "CORE_050"), __CLASS__, __FUNCTION__);
     }
     $SessionPost = $_POST;
     $nErrors = 0;
     $sort_orders = $request->getValueByKey('sort_order');
     if (!empty($sort_orders) && is_array($sort_orders)) {
         foreach ($sort_orders as $topic_id => $sort_order) {
             modApiStaticFunc('Subscriptions', 'updateOrder', $topic_id, $sort_order);
         }
     }
 }
 /**
  * DB_Table_Create class constructor.
  *
  * @return
  * @param array $tables array of meta description of the tables.
  * @ change error messages to error description from resource file
  */
 function DB_Table_Create($tables)
 {
     global $application;
     $table_prefix = $application->getAppIni('DB_TABLE_PREFIX');
     foreach ($tables as $table_name => $table_properties) {
         $table_name = $table_prefix . $table_name;
         if (DB_MySQL::DB_isTableExists($table_name)) {
             _fatal(array("CODE" => "CORE_043"), $table_name);
         }
         $this->QueryType = DBQUERY_TYPE_CREATE;
         $this->CreateTable = $table_name;
         $this->CreateFields = array();
         $this->CreateKeys = array();
         $this->CreateIndexes = array();
         foreach ($table_properties['columns'] as $key => $field) {
             $this->addField($this->parseFieldName($field), $table_properties['types'][$key]);
         }
         if (isset($table_properties['primary']) && sizeof($table_properties['primary']) > 0) {
             $primary_key = array();
             foreach ($table_properties['primary'] as $pk) {
                 array_push($primary_key, $this->parseFieldName($table_properties['columns'][$pk]));
             }
             $this->addKey(implode(', ', $primary_key));
         }
         if (isset($table_properties['indexes']) && sizeof($table_properties['indexes']) > 0) {
             foreach ($table_properties['indexes'] as $index_name => $field_names) {
                 $field_names = str_replace(' ', '', $field_names);
                 $fields = explode(',', $field_names);
                 $index = array();
                 foreach ($fields as $field) {
                     //         ,
                     if (is_int($_pos = _ml_strpos($field, '('))) {
                         $_len = _ml_substr($field, $_pos);
                         $_field_without_len = _ml_substr($field, 0, $_pos);
                         array_push($index, $this->parseFieldName($table_properties['columns'][$_field_without_len]) . $_len);
                     } else {
                         array_push($index, $this->parseFieldName($table_properties['columns'][$field]));
                     }
                 }
                 $this->addIndex(implode(', ', $index), $index_name);
             }
         }
         $application->db->getDB_Result($this);
     }
 }
 public function __construct($dir_storage, $cache_file_label)
 {
     parent::__construct();
     $this->_dir_storage = $dir_storage;
     if (!file_exists($dir_storage) && !mkdir($dir_storage, 0755, true)) {
         throw new Exception("Failed to create cache storage directory [{$dir_storage}].");
     }
     if (!is_dir($dir_storage) || !is_writable($dir_storage)) {
         _fatal(array("CODE" => "CORE_1002", "MESSAGE" => "The [{$dir_storage}] is not writable directory. Avactis needs valid and writable directory to store cache items."));
         throw new Exception("The [{$dir_storage}] is not writable directory. " . __CLASS__ . ' needs valid and writable directory to store cache items.');
     }
     $this->_file_storage = $dir_storage . '/' . $cache_file_label . '.single.cache';
     $this->_stat['io_read'] = 0;
     $this->_stat['io_write'] = 0;
     $this->_stat['io_read_time'] = 0;
     $this->_stat['io_write_time'] = 0;
     $this->_loadFile();
 }
예제 #20
0
 /**
  * Action process.
  */
 function onAction()
 {
     global $application;
     $request = $application->getInstance('Request');
     $SessionPost = array();
     if (modApiFunc('Session', 'is_Set', 'SessionPost')) {
         _fatal(array("CODE" => "CORE_050"), __CLASS__, __FUNCTION__);
     }
     $SessionPost = $_POST;
     if (isset($SessionPost['RememberEmail']) && $SessionPost['RememberEmail'] == 'true') {
         if (!isset($_COOKIE['ac_remember_email'])) {
             setcookie('ac_remember_email', '', -3600);
         }
         setcookie('ac_remember_email', $SessionPost['AdminEmail'], time() + 31536000);
     } else {
         if (isset($_COOKIE['ac_remember_email'])) {
             setcookie('ac_remember_email', '', -3600);
         }
     }
     $nErrors = 0;
     $acountInfo = NULL;
     if (!$this->isValidAcount($SessionPost['AdminEmail'], $SessionPost['Password'], $acountInfo)) {
         $nErrors++;
         $SessionPost["ViewState"]["ErrorsArray"][] = "SIGNIN_001";
         modApiFunc("Users", "incorrectLogin");
     }
     $request = new Request();
     if ($nErrors == 0) {
         //            unset($SessionPost["ViewState"]["ErrorsArray"]);
         modApiFunc("Users", "setCurrentUserID", $acountInfo['id']);
         if ($this->isPasswordChanged($acountInfo)) {
             $request->setView('AdminPasswordUpdate');
         } else {
             // Commented by AF: $request->setView('Maximize');
             $request->setView('HomeTab');
         }
         modApiFunc("Users", "saveState");
         modApiFunc("Users", "correctLogin", $acountInfo['id']);
     } else {
         $request->setView('AdminSignIn');
         modApiFunc('Session', 'set', 'SessionPost', $SessionPost);
     }
     $application->redirect($request);
 }
예제 #21
0
파일: project.php 프로젝트: nopticon/mag
    protected function _bio_publish($address, $key)
    {
        global $warning;
        if (empty($address)) {
            $warning->set('no_bio_address');
        }
        if (empty($key)) {
            $warning->set('no_bio_key');
        }
        $v['field'] = email_format($address) !== false ? 'address' : 'alias';
        // sql
        $sql = 'SELECT bio_id, bio_key, bio_fails
			FROM _bio
			WHERE bio_?? = ?
				AND bio_status = ?';
        if ($_bio = sql_fieldrow(sql_filter($sql, $v['field'], $address, 1))) {
            if ($_bio->bio_key === _password($key)) {
                if ($_bio->bio_fails) {
                    $sql = 'UPDATE _bio SET bio_fails = 0
						WHERE bio_id = ?';
                    sql_query(sql_filter($sql, $_bio->bio_id));
                }
                $bio->session_create($_bio->bio_id);
                return true;
            }
            if ($_bio->bio_fails == $core->v('bio_maxfails')) {
                // TODO: Captcha system if maxfail reached
                _fatal(508);
            }
            $sql = 'UPDATE _bio SET bio_fails = bio_fails + 1
				WHERE bio_id = ?';
            sql_query(sql_filter($sql, $_bio->bio_id));
            sleep(5);
            $warning->set('login_error');
        }
        $alias = _low($this->extract_alias($address));
        $alias_len = strlen($v['nickname']);
        if ($alias_len < 1 || $alias_len > 20) {
            $warning->set('alias_len');
        }
        // TODO: Continue work
        return;
    }
 function onAction()
 {
     global $application;
     $request = $application->getInstance('Request');
     $SessionPost = array();
     if (modApiFunc('Session', 'is_Set', 'SessionPost')) {
         _fatal(array("CODE" => "CORE_050"), __CLASS__, __FUNCTION__);
     }
     $SessionPost = $_POST;
     $Manufacturer_id = $request->getValueByKey('manufacturer_id');
     if (!empty($Manufacturer_id) && ctype_digit($Manufacturer_id) === TRUE) {
         $this->mnf_ids = array($Manufacturer_id);
         modApiFunc("Manufacturers", "delManufacturers", array($Manufacturer_id));
     } else {
         $this->mnf_ids = NULL;
     }
     // get view name by action name.
     $this->redirect();
 }
예제 #23
0
 function onAction()
 {
     global $application;
     if (modApiFunc('Session', 'is_Set', 'SessionPost')) {
         _fatal(array("CODE" => "CORE_050"), __CLASS__, __FUNCTION__);
     }
     $SessionPost = $_POST;
     if (modApiFunc('Location', 'getCountStatesInCountry', $SessionPost["DstCountry"]) > 0) {
         $SessionPost["DstState"] = $SessionPost["DstState_menu_select"];
     } else {
         $SessionPost["DstState"] = $SessionPost["DstState_text_div"];
     }
     if (isset($SessionPost["Cart"])) {
         $SessionPost["Cart"] = $this->NormalizeCart($SessionPost["Cart"]);
         $SessionPost["results"] = modApiFunc("Shipping_Tester", "RunTest", $SessionPost);
     } else {
         $SessionPost["Cart"] = array("products" => array(), "subtotal" => 0, "total_weight" => 0);
     }
     modApiFunc('Session', 'set', 'SessionPost', $SessionPost);
 }
 /**
  * Action: UpdateCountries.
  *
  */
 function onAction()
 {
     global $application;
     $SessionPost = array();
     if (modApiFunc('Session', 'is_Set', 'SessionPost')) {
         _fatal(array("CODE" => "CORE_050"), __CLASS__, __FUNCTION__);
     }
     $SessionPost = $_POST;
     switch ($SessionPost["ViewState"]["FormSubmitValue"]) {
         case "changeCountry":
             break;
         case "update":
         case "UpdateAndChangeCountry":
             $nErrors = 0;
             $SessionPost["ViewState"]["ErrorsArray"] = array();
             loadCoreFile('html_form.php');
             $HtmlForm1 = new HtmlForm();
             $error_message_text = "";
             $nErrors = sizeof($SessionPost["ViewState"]["ErrorsArray"]);
             if ($nErrors == 0) {
                 unset($SessionPost["ViewState"]["ErrorsArray"]);
                 $this->updateDataInDB($SessionPost);
                 if ($SessionPost["ViewState"]["FormSubmitValue"] == "update") {
                     $SessionPost["ViewState"]["hasCloseScript"] = "true";
                     modApiFunc('Session', 'set', 'ResultMessage', 'MNG_STATE_RESULT_MESSAGE');
                 }
             } else {
                 modApiFunc('Session', 'set', 'ResultMessage', 'MNG_STATE_RESULT_ERROR_MESSAGE');
             }
             break;
         default:
             _fatal(array("CODE" => "CORE_051"), __CLASS__, __FUNCTION__, $request->getValueByKey('FormSubmitValue'));
             break;
     }
     modApiFunc('Session', 'set', 'SessionPost', $SessionPost);
     // get view name by action name.
     $request = new Request();
     $request->setView("StatesList");
     $application->redirect($request);
 }
예제 #25
0
파일: _get.php 프로젝트: nopticon/noptc
 function home()
 {
     global $user, $style;
     // /get/$1/$2.$3
     $v = $this->__(array('alias', 'filename', 'ext'));
     if (empty($v['alias']) || empty($v['filename'])) {
         _fatal();
     }
     $sql = "SELECT tree_id\n\t\t\tFROM _tree\n\t\t\tWHERE tree_alias = '" . $this->_escape($v['alias']) . "'";
     if (!($tree = $this->_fieldrow($sql))) {
         _fatal();
     }
     $sql = "SELECT *\n\t\t\tFROM _downloads\n\t\t\tWHERE download_alias = '" . $this->_escape($v['filename']) . "'\n\t\t\t\tAND download_tree = " . (int) $tree['tree_id'];
     if (!($download = $this->_fieldrow($sql))) {
         _fatal();
     }
     if ($download['download_login']) {
         _login();
     }
     $filepath = LIB . 'get/' . _filename($download['download_id'], $download['download_extension']);
     return;
 }
예제 #26
0
 function hasCycleFromGivenSource($s, &$cycle)
 {
     $this->initDFS();
     if ($this->hasCycleFromGivenSourceVisit($s)) {
         //There is at least one cycle.
         //Return it's structure.
         if (!in_array($s, $this->ADJ[$this->hasCycleFromGivenSource_LastVertexInCycle])) {
             //The cycle has already existed before adding tax rules $s
             _fatal(__CLASS__ . "::" . __FUNCTION__ . "(): " . "\$i=" . $i . " != \$s =" . $s);
         }
         $cycle = array();
         $cycle[] = $this->hasCycleFromGivenSource_LastVertexInCycle;
         $i = $this->p[$this->hasCycleFromGivenSource_LastVertexInCycle];
         for (; $i != $this->NIL;) {
             $cycle[] = $i;
             $i = $this->p[$i];
         }
         //            $cycle[] = $i;
         return true;
     } else {
         return false;
     }
 }
 /**
  * Action process.
  */
 function onAction()
 {
     global $application;
     $request = $application->getInstance('Request');
     $SessionPost = array();
     if (modApiFunc('Session', 'is_Set', 'SessionPost')) {
         _fatal(array("CODE" => "CORE_050"), __CLASS__, __FUNCTION__);
     }
     $SessionPost = $_POST;
     $SessionPost["ViewState"] = array();
     $nErrors = 0;
     $acountInfo = NULL;
     if (!$this->isValidEmail($SessionPost['AdminEmail'], $acountInfo)) {
         $nErrors++;
         $SessionPost["ViewState"]["ErrorsArray"][] = "PSWREC_001";
     }
     if ($nErrors == 0) {
         modApiFunc("Users", "generateNewAdminPassword", $SessionPost['AdminEmail']);
     }
     modApiFunc('Session', 'set', 'SessionPost', $SessionPost);
     $request = new Request();
     $request->setView('AdminPasswordRecovery');
     $application->redirect($request);
 }
예제 #28
0
파일: _ticket.php 프로젝트: nopticon/tts
    protected function _cat_call()
    {
        gfatal();
        $v = $this->__(array('el' => 0));
        $sql = 'SELECT *
			FROM _tickets_cat
			WHERE cat_id = ?';
        if (!($cat = _fieldrow(sql_filter($sql, $v['el'])))) {
            _fatal();
        }
        $response = array('id' => $v['el'], 'group' => $cat['cat_group'], 'name' => $cat['cat_name']);
        return $this->e(json_encode($response));
    }
예제 #29
0
 function getPersonInfoVariantId($person_info_type_tag, $person_info_variant_tag)
 {
     global $application;
     loadCoreFile('UUIDUtils.php');
     $person_info_type_tag = UUIDUtils::cut_uuid_suffix($person_info_type_tag, "js");
     $params = array('person_info_variant_tag' => $person_info_variant_tag, 'person_info_type_tag' => $person_info_type_tag);
     $result = execQuery('SELECT_PERSON_INFO_VARIANT_ID', $params);
     if (sizeof($result) != 1) {
         //report error
         _fatal(__FILE__ . " : " . __LINE__ . '<br>sizeof($result) MUST BE equals to 1<br>$result = ' . print_r($result, true) . '<br>$person_info_type_tag = ' . $person_info_type_tag . '<br>$person_info_variant_tag = ' . $person_info_variant_tag . '<br>QUERY: SELECT_PERSON_INFO_VARIANT_ID');
     } else {
         return $result[0]['id'];
     }
 }
예제 #30
0
파일: _home.php 프로젝트: nopticon/mag
    protected function _friend_deny()
    {
        global $bio;
        if (!$bio->v('auth_member')) {
            _login();
        }
        $v = $this->__(w('a'));
        $sql = 'SELECT bio_id
			FROM _bio
			WHERE bio_alias = ?';
        if (!($bio_id = _field(sql_filter($sql, $v['a']), 'bio_id', 0))) {
            _fatal();
        }
        $sql = 'SELECT friend_id, friend_pending
			FROM _bio_friends
			WHERE friend_assoc = ?
				AND friend_bio = ?';
        if (!($friend = _fieldrow(sql_filter($sql, $bio_id, $bio->v('bio_id'))))) {
            _fatal();
        }
        if (!$friend['friend_pending']) {
            _fatal();
        }
        $sql = 'DELETE FROM _bio_friends
			WHERE friend_id = ?';
        _sql(sql_filter($sql, $friend['friend_id']));
        return;
    }