/** * 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]; }
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', ""); }
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; }
/** * 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); } } }
/** * 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); }