コード例 #1
0
 /**
  * Returns a real value of system variable.
  */
 function getValue($constant)
 {
     global $application;
     if ($constant == STOREFRONT_ACTIVE_SKIN) {
         if (modApiFunc('Look_Feel', 'isCSSEditor')) {
             return $_COOKIE['edit_skin'];
         }
         if (modApiFunc('Look_Feel', 'isFacebook')) {
             return 'facebook';
         }
         if (modApiFunc('Look_Feel', 'isWP')) {
             return 'wp';
         }
         if (modApiFunc('Look_Feel', 'isMobile')) {
             return 'system_mobile';
         }
     }
     if (!isset(self::$cache)) {
         $result = execQuery('SELECT_STORE_SETTINGS', array());
         foreach ($result as $row) {
             switch ($row['type']) {
                 case 'integer':
                     $value = intval($row['value']);
                     break;
                 case 'price':
                     $value = floatval($row['value']);
                     break;
                 case 'boolean':
                     $value = (bool) $row['value'];
                     break;
                 case 'string':
                     $value = (string) $row['value'];
                     break;
                 default:
                     $value = $row['value'];
                     break;
             }
             self::$cache[$row['name']] = $value;
         }
     }
     if (!isset(self::$cache[$constant])) {
         CTrace::wrn('Configuration parameter is undefined: ' . $constant);
     }
     return self::$cache[$constant];
 }
コード例 #2
0
 function SendMailToAdmin()
 {
     $value = "";
     $Nvalue = "";
     $Mod = modApiFunc('SecureStore', 'checkSessionForModifiedFile');
     $New = modApiFunc('SecureStore', 'checkSessionForNewlyAddedFile');
     $Msg = getMsg('SS', 'FIND_UPDATE_NO_RESULT_MSG');
     $NewA = getMsg('SS', 'NEWLY_ADDED_FILE');
     $NewM = getMsg('SS', 'MODIFIED_FILE');
     if ($Mod !== $Msg) {
         $value = $NewM . "<br/><br/>" . $Mod;
     }
     if ($New !== $Msg) {
         $Nvalue = "<br/><br/>" . $NewA . "<br/><br/>" . $New;
     }
     if ($value !== "" || $Nvalue !== "") {
         $Mail_Body = $value . $Nvalue;
         $email = modApiFunc('Configuration', 'getValue', SYSCONFIG_STORE_OWNER_SITE_ADMINISTRATOR_EMAIL);
         loadCoreFile('ascHtmlMimeMail.php');
         $mail = new ascHtmlMimeMail();
         $mail->setText($Mail_Body);
         $mail->setSubject(getMsg('SS', 'SS_SEND_FILES_DETAILS_SUBJECT'));
         $mail->setFrom(modApiFunc('Notifications', 'getExtendedEmail', $email, 'EMAIL_STORE_OWNER', true));
         $mail->send(array($email));
         if (!$mail->send(array($email))) {
             CTrace::wrn('Mailer error: ' . $mail->ErrorInfo);
         } else {
             CTrace::inf('Mail has been sent for file changes in last days');
         }
         $tl_type = getMsg('NTFCTN', 'NTFCTN_TL_TYPE');
         $to = $email;
         $subj = getMsg('SS', 'SS_SEND_FILES_DETAILS_SUBJECT');
         $tl_header = getMsg('SS', 'SS_SEND_FILES_DETAILS_SUBJECT');
         $tl_body = $Mail_Body;
         modApiFunc('Timeline', 'addLog', $tl_type, $tl_header, $tl_body);
         $Msg = getMsg('SS', 'MAIL_SENT');
         modApiFunc('Session', 'set', 'MailSendResultMessage', $Msg);
     } else {
         $Msg = getMsg('SS', 'ERROR_TO_SEND_MAIL');
         modApiFunc('Session', 'set', 'MailSendResultMessage', $Msg);
     }
     modApiFunc('Session', 'set', 'ModifiedFileResult', "");
     modApiFunc('Session', 'set', 'NewlyAddedFileResult', "");
 }
コード例 #3
0
 function outputLocationBreadcrumb($parents_list, $links, $view_name = "NavigationBar")
 {
     global $application;
     $CategoryId1Info = new CCategoryInfo(1);
     $this->CategoryId1Name = $CategoryId1Info->getCategoryTagValue('name');
     $retval = "";
     $isFirst = 1;
     $n = sizeof($parents_list);
     for ($i = 0; $i < $n; $i++) {
         $value = $parents_list[$i];
         $cat = new CCategoryInfo($value["id"]);
         $name = prepareHTMLDisplay($value["name"]);
         if ($cat->getCategoryTagValue('RecursiveStatus') == CATEGORY_STATUS_ONLINE) {
         } else {
             $name = '<span style="color: rgb(175, 175, 175);">' . $name . '</span>';
         }
         $arr = array("Href" => $this->getLinkToView($value["id"], $view_name, $cat), "Name" => $name, "CategoryId1Name" => prepareHTMLDisplay($this->CategoryId1Name));
         if ($n == 1) {
             $retval .= $this->mTmplFiller->fill("catalog/breadcrumb/", "single.tpl.html", $arr);
         } else {
             if ($i == 0) {
                 if ($links) {
                     $retval .= $this->mTmplFiller->fill("catalog/breadcrumb/", "first_link.tpl.html", $arr);
                 } else {
                     $retval .= $this->mTmplFiller->fill("catalog/breadcrumb/", "first.tpl.html", $arr);
                 }
             } else {
                 if ($i == $n - 1) {
                     $retval .= $this->mTmplFiller->fill("catalog/breadcrumb/", "last.tpl.html", $arr);
                 } else {
                     if ($links) {
                         $retval .= $this->mTmplFiller->fill("catalog/breadcrumb/", "default_link.tpl.html", $arr);
                     } else {
                         $retval .= $this->mTmplFiller->fill("catalog/breadcrumb/", "default.tpl.html", $arr);
                     }
                 }
             }
         }
     }
     if ($retval == "") {
         CTrace::wrn(array("CODE" => "CORE_053"), __CLASS__, __FUNCTION__);
     }
     return $retval;
 }
コード例 #4
0
 /**
  * Get the marketplace Extension Data.
  * @param boolean $paramReload is ture it will reload details from marketplace
  */
 function fetchMarketplaceExtData($paramReload = false)
 {
     global $application;
     if ($paramReload || $this->isMarketplaceUpdateRequired()) {
         $this->marketplace_server = $application->getAppIni('MARKETPLACE_SERVER');
         loadCoreFile('bouncer.php');
         $bnc = new Bouncer();
         $bnc->setMethod('POST');
         $bnc->setPOSTstring($bnc->prepareDATAstring($this->getLicenseDetail()));
         $bnc->setURL($this->marketplace_server . "/download_extension.php?asc_action=ListMarketplaceExtensions");
         $bnc->setProto('HTTPS');
         $result = $bnc->RunRequest();
         if ($result != false && $bnc->responseCode < 400) {
             $response = json_decode($result['body']);
             if (isset($response) && isset($response->extensions) && !empty($response->extensions)) {
                 $application->db->DB_Query('truncate ' . $application->getAppIni('DB_TABLE_PREFIX') . 'marketplace_ext_data');
                 $tables = self::getTables();
                 $columns = $tables['marketplace_ext_data']['columns'];
                 foreach ($response->extensions as $extension) {
                     $query = new DB_Replace('marketplace_ext_data');
                     $query->addReplaceValue($extension->extension_id, $columns['id']);
                     $query->addReplaceValue($extension->display_name, $columns['display_name']);
                     $query->addReplaceValue($extension->name, $columns['name']);
                     $query->addReplaceValue($extension->description, $columns['desc']);
                     $query->addReplaceValue($extension->detailed_link, $columns['link']);
                     $query->addReplaceValue($extension->image_url, $columns['image']);
                     $query->addReplaceValue($extension->type, $columns['type']);
                     $query->addReplaceValue($extension->category, $columns['category']);
                     $query->addReplaceValue($extension->latestversion, $columns['latestversion']);
                     $query->addReplaceValue($extension->price, $columns['price']);
                     $query->addReplaceValue($extension->ext_version, $columns['latestcompatibleversion']);
                     $query->addReplaceValue($extension->filename, $columns['file']);
                     $application->db->getDB_Result($query);
                 }
                 /* Update Last build date - start */
                 $params = array('group_name' => 'MARKETPLACE_LAST_BUILD_DATE', 'param_name' => 'MARKETPLACE_LAST_BUILD_DATE', 'value' => time());
                 execQuery('UPDATE_SETTINGS_PARAM_VALUE', $params);
                 /* Update TTL coming from marketplace server */
                 $params = array('group_name' => 'MARKETPLACE_TTL', 'param_name' => 'MARKETPLACE_TTL', 'value' => $response->MARKETPLACE_TTL);
                 execQuery('UPDATE_SETTINGS_PARAM_VALUE', $params);
             } else {
                 CTrace::wrn("Failed to parse response from marketplace. Response is " . print_r($result['body'], true));
             }
         } else {
             CTrace::wrn("Failed to fetch from marketplace. Error is " . $bnc->responseCode . " " . $bnc->_error_message);
         }
     }
 }
コード例 #5
0
 /**
  * Converts the answer from the remote host to the array of headers, cookies
  * and body.
  *
  * @param $result answer from the remote host
  * @return array of headers, cookies and body
  */
 function parseRequestResult($result)
 {
     $headers = array();
     $cookies = array();
     $body = "";
     $dp = 4096;
     $delimiter = false;
     $dtrs = array("\n", "\r\n", "\n\r");
     foreach ($dtrs as $v) {
         // trying to find a delimiter pair - headers/body border
         $tdp = _byte_strpos($result, $v . $v);
         if ($tdp != false && $dp > $tdp) {
             $dp = $tdp;
             $delimiter = $v;
         }
     }
     if ($delimiter == false) {
         CTrace::wrn('Failed to parse response, I cannot guess headers/body delimiter.');
         return;
     }
     $headers = _byte_substr($result, 0, $dp);
     $hstr = explode($delimiter, $headers);
     foreach ($hstr as $key => $string) {
         if (preg_match("/^HTTP/", $string)) {
             continue;
         }
         if (trim($string) == "") {
             break;
         }
         $header_array = explode(": ", trim($string), 2);
         $header_array[0] = _ml_strtoupper($header_array[0]);
         $headers[$header_array[0]] = chop($header_array[1]);
         if ($header_array[0] == "SET-COOKIE") {
             array_push($cookies, $header_array[1]);
         }
     }
     $cookies = $this->parseCookies($cookies);
     $body = _byte_substr($result, $dp + _byte_strlen($delimiter) * 2);
     return array("headers" => $headers, "cookies" => $cookies, "body" => $body);
 }