Техническая документация Irbis — различия между версиями

Материал из MstarProject Manual
Перейти к: навигация, поиск
(Tree.php)
(VinRequest.php)
Строка 953: Строка 953:
  
 
=== VinRequest.php ===
 
=== VinRequest.php ===
 +
 +
==== function __construct($bNeedAuth=true) ====
 +
==== function Index() ====
 +
==== function Preview() ====
 +
==== function Manager() ====
 +
==== function ManagerSave($bRedirect=true) ====
 +
==== function ManagerSend() ====
 +
==== function ManagerRefuse() ====
 +
==== function ManagerRelease($iId) ====
 +
==== function ManagerMobileNotification($aVinRequest) ====
 +
==== function GetVinIdList($bReturnArray=false) ====
 +
==== function ManagerRemember() ====
 +
 
=== XajaxParser.php ===
 
=== XajaxParser.php ===
  

Версия 16:18, 22 декабря 2016

Содержание

Структура каталогов

cache Файловый кеш
class Основные классы обработчики
cron Скрипты создания backup
css Файлы css дизайна
image Картинки дизайна
imgbank Файлы выгрузок/загрузок
include Файлы SQL запросов
js Файлы js дизайна
lib Библиотеки php, общие для всех проектов
libp Библиотеки js, общие для всех проектов
mpanel Админ панель MPanel
single Дополнительные библиотеки подключаемые только в текущем проекте
spec Связь ссылок на сайте с обработчиками (Роутинг)
template Шаблоны внешнего вида(подключенный дизайн)
verstka Исходные файлы верстки


Файлы главной директории

.htaccess Настройки WEB сервера и дополнительные параметры перенаправления для ЧПУ страниц
action_includer.php Механизм связи ссылок на сайте(spec) и обработчиков(class)
connect.php Настройки подключения к базе данных, TecDoc, настройки языка и cookies
connect_sample.php Пример файла подключения
favicon.ico Иконка сайта для браузера
index.php Главный исполнительный файл.
init.php Инициализация библиотек и ядра.
xajax_request_parser.php Обработчик xajax



Каталог cache

Файловый кеш, может использоваться для кеширования главного меню, некоторых данных TecDoc и других данных с низкой частотой обновления, но долгим по времени выполнения запросом. Файлы разбиваются по директориям. Названия файлов и директорий указывается программистом в исходном коде. Файлы содержат сериализованные данные.

Пример использования:

$sCacheName='название_файла_кеша';
$sCacheDir='название_директории_кеша'

if(!($aBrands=FileCache::GetValue($sCacheDir, $sCacheName))) {
    $aBrands=Db::GetAll($sSql);
    FileCache::SetValue($sCacheDir, $sCacheName, $aBrands);
}

В данном примере мы получаем массив $aBrands из файлового кеша, а в случае отсутствия необходимого кеша - выполняется запрос получения $aBrands из базы данных и сохранение данных в кеш.

Каталог class

core

locale_map

mpanel

sql

Admin.php

$sTableName

$sAdditionalLink

$sTablePrefix

$sTableId

$aChildTable

$sAction

$sWinHead

$sPath

$sSubMenu

$aCheckField

$sBeforeAddMethod

$aFCKEditors

$sSqlPath

$sScriptForAdd

$bAlreadySetMessage

$sNumSql

$aSearch

$sSearchSQL

$sAddonPath

$aAdmin

function hasAccessTo($sAction)

function Admin()

function AdminRedirect($sAction='', $aMessage=array())

function PreIndex()

function AfterIndex()

function SetDefaultTable($oTable, $aWhereData = array())

function ProcessTemplateForm($sPath)

function Add($bEdit = false)

function Edit()

function Apply()

function Search()

function SearchForm()

function BeforeApply()

function AfterApply($aBeforeRow,$aAfterRow)

function BeforeAddAssign(&$aData)

function CheckField()

function Delete()

function Trash()

function Archive()

function UnArchive()

function ActionToClass($sBaseAction)

function Message($sType = '', $sMessage = '',$sOldObject='')

function GetFilter()

function ProcessFCKEditors()

function initLocaleGlobal()

function GetFCKEditor($sFieldName='description',$sFieldValue='',$iWidth=700,$iHeight=600,$sFCKEditorEnterMode='')

function GetCKEditor($sFieldName='description',$sFieldValue='',$iWidth=700,$iHeight=600,$sFCKEditorEnterMode='')

function DisplayChange()

function OrderChange()

function IsMpanelUser($sLogin,$sPassword)

function SearchStrongChange()

Auth.php

$iRememberDays

$aUser

$sWhere

$bIgnoreCookie

function Login($sLogin,$sPassword,$bIgnoreVisible=false,$bIgnoreEmailConfirmation=true,$bSalt=false,$bCheckPassword=true,$sOtherFieldAsLogin=)

function Logout()

function NeedAuth($sType=)

function LoginErrorRedirect($bSaveReturn=true)

function IsAuth()

function GetUserProfile($iId,$sType='customer')

function IsUser($sLogin,$sPassword,$bIgnoreVisible=false,$bSalt=false,$sOtherFieldAsLogin=)

function IsValidCookie($sCookie)

function RefreshSession($aUser)

function RefreshCookie($sLogin,$sPassword,$iIdCustomer)

function FilterLetters($input)

function GetIp()

function AutoCreateUser()

function CheckLogin($sLogin)

function GenerateLogin()

function GeneratePassword()

function UpdateLastVisit($aUser)

function UpdateCustomerReal($iUser)

function CheckPermissions($iIdAction)

Base.php

$db

$oOracleDb

$oTecdocDb

$tpl

$language

$LC

$aGeneralConf

$aDbConf

$oResponse

$oCurrency

$oContent

$aConst

$aConstant

$aRequest

$sText

$aData

$sProjectName

$aMenuSection

$bRightSectionVisible

$sBaseTemplate

$bXajaxPresent

$aMessageJavascript

$sOuterJavascript

$sServerQueryString

$aTopPageTemplate

$sZirHtml

function PreInit()

function Init()

function ProcessAjax()

function Process()

function EscapeAll(&$aData)

function UnescapeAll(&$aData)

function FixParseStrBug(&$aArray)

function Redirect($sUrl,$is_check_lower=1)

function LocalLog($sText)

function GetSql($sScript, $aData = array())

function UpdateConstant($sKey, $sValue)

function GetConstant($sKey,$sDefaultValue=)

function Message($aMessage=array(),$bGetText=true)

function RemoveMessageFromUrl($sUrl)

function SendSiteInfo()

function MstarprojectBase()

BaseTemp.php

function EnumToArray($sTable, $sField)

Cache.php

function Cache()

function GetValue($sSection,$sKey)

function SetValue($sSection,$sKey,$sValue,$iValidTill=false)

Capcha.php

$aMathematicOperator

function __construct()

function GetMathematic($sTemplate='addon/capcha/mathematic.tpl')

function CheckMathematic()

function GetRandomOperator()

function GetRandomOperand()

function GetValidationHash($sMathematicFormula)

function ClearOldHash()

function AddHash($sType='mathematic',$sHash)

function IsFreeFromCapcha()

function SaveLastCapcha()

function GetGraphics()

function CheckGraph()

Category.php

$iMaxSubCategorie

function __construct()

function Index()

function SetAddingColumn()

function initLocaleGlobal()

function BeforeAdd()

function Move ()

function Apply()

function Delete()

Comment.php

function __construct()

function GetCommentList($sSection,$sId,$bXajaxResponse=false,$bHideUnapproved=false)

function GetCommentListTree($sSection,$sId,$bXajaxResponse=false)

function GetCommentLink($sSection,$sId,$sLink,$bHideUnapproved=false)

function Post()

function PopupPost()

function GetCommentHash($sSection,$aId)

ContactForm.php

function __construct()

function OutputForm($sName)

function ProcessForm($sName)

DateFormat.php

function GetBaseDate($sFormat,$iTimestamp=,$iTimeZone=)

function GetDate($iTimestamp=,$iTimeZone=)

function GetTime($iTimestamp=,$iTimeZone=)

function GetDateTime($iTimestamp=,$iTimeZone=)

function FormatSearch($sSearchDate, $sFormat='Y-m-d H:i:s')

function FormatSearchNow()

function FormatSearchTomorrow()

function GetFileDateTime($iTimestamp=,$iTimeZone=,$bShowSecond=true)

function GetPostDate($sPostDate,$iTimeZone=)

function GetPostDateTime($sPostDate,$iTimeZone=)

function GetSqlDate($sNameField="post_date")

function GetSqlStrToDate($sPostDate)

function GetNextMonth($sPostDate)

function Seconds2Times($seconds)

function NameIntervalDate($aDiffDate)

Db.php

function Execute($sSql,$aInput=false)

function GetAll($sSql)

function GetAssoc($sSql, $aData=array(), $bReturnSql=false)

function GetRow($sSql)

function GetOne($sSql)

function AutoExecute($sTable, $aFieldValue, $sMode = 'INSERT', $sWhere = FALSE, $bForceUpdate=true, $bMagicQuote=false)

function Debug()

function LogSql($bEnable=true)

function InsertId()

function AffectedRow()

function StartTrans()

function FailTrans()

function CompleteTrans()

function Escape($aData)

function GetInsertSql($oSql, $aField, $bMagicq=true, $sForce=null)

function SelectLimit($sSql, $iRow=-1, $iStart=-1, $inputarr=false,$secs2cache=0)

function GetTableInfo($sType=)

function SetWhere(&$sWhere,$aData,$sDataField,$sPrefix,$sTableField="")

function GetDateFormat($sNameField="post_date", $sFormat="")

function GetStrToDate($sPostDate, $bReturnDate=false, $sFormat="")

Dbtree.php

$ERRORS

$ERRORS_MES

$table

$table_id

$table_left

$table_right

$table_level

$res

function Dbtree($table="", $prefix="")

function Clear($data = array())

function GetNodeInfo($section_id, $cache = FALSE)

function GetParentInfo($section_id, $condition = , $cache = FALSE)

function Insert($section_id, $condition = , $data = array())

function InsertNear($ID, $condition = , $data = array())

function MoveAll($ID, $newParentId, $condition = )

function ChangePosition($id1, $id2)

function ChangePositionAll($id1, $id2, $position = 'after', $condition = )

function Delete($ID, $condition = )

function DeleteAll($ID, $condition = )

function Full($fields, $condition = , $cache = FALSE)

function Branch($ID, $fields, $condition = , $cache = FALSE)

function Parents($ID, $fields, $condition = , $cache = FALSE)

function Ajar($ID, $fields, $condition = , $cache = FALSE, $sOpenLevel='1')

function AjarBranch($ID, $fields, $condition = , $cache = FALSE, $sOpenLevel='1')

function RecordCount()

function NextRow()

function _PrepareCondition($condition, $where = FALSE, $prefix = )

function GetAllData()

function GetAssocData()

function FullTree($with_space=false)

function FullFoSelect($with_space=false)

function MoveItem($id,$to=-1)

function AddSpaceItem($a,$iSpace=6 )

function GetData($sType, $id=1, $fields = , $condition = , $cache = false, $iSpace=0, $bAssoc=false, $sOpenLevel='1')

Debug.php

function PrintPre($sVariable,$bDie=true,$bReturn=false)

function PrintPreTpl($sVariable,$bDie=true)

function GetMicrotime()

function WriteToLog($sFile,$data)

DirectorySite.php

function __construct()

function Prepare()

function CategoryChange()

function ListCategory()

function Index()

function Preview()

ExcelOld.php

class ExcelOld

$oExcel
$aStyle
$aStyleBold
$aStyleRight
$aStyleLeft
$aStyleBorderThickLeft
$aStyleBorderThickRight
$aStyleFormatText
$oWriter
$oDrawing
function Excel()
function SetActiveSheetIndex($i=0)
function GetActiveSheet()
function SetShowSummaryBelow($sState=true)
function SetRowOutlineLevel($iRow,$iLevel=1,$bVisible=false)
function SetCellValue($sCordinate, $sValue, $sCharset="", $aStyle=array(), $iRound="")
function SetCellValueExplicit($sCordinate, $sValue, $sCharset="", $aStyle=array(), $iRound="", $pType=PHPExcel_Cell_DataType::TYPE_STRING)
function SetHeaderValue($aHeader=array(), $iRow, $bUtfEncode=true)
function SetAutoSize($aHeader)
function DuplicateStyleArray($sRange="", $sColor="", $aStyle=array())
function SetTitle($sTitle="")
function WriterExcel5($sFileNameFull,$bOutput=false)
function WriterExcel7($sFileNameFull)
function SetDefaultFont($sName, $iSize=0)
function ReadExcel5($sFileNameFull, $bReadDataOnly=false, $bCacheOnMemory=true )
function ReadExcel7($sFileNameFull, $bReadDataOnly=false, $bCacheOnMemory=true )
function SetPrintBreak($sCordinate)
function SetRowToRepeat($iRowStart,$iRowEnd)
function MergeCell($sRange)
function WriterPdf($sFileNameFull,$bOutput=false)
function WriterCSV($sFileNameFull,$bOutput=false, $iSheet=0)
function WriterHtml($sFileNameFull)
function GetRowHeight($iRow)
function SetRowHeight($iRow,$dSize)
function SetColWidth($sCol,$dSize)
function GetReadData()
function GetSpreadsheetData()
function GetMergeCell()
function CreateSheet()
function RemoveSheet($iSheet)
function SetProtectionFile($sPassword="12345")
function SetDrawing($sCordinate,$sFullPath,$iHeight=0)
function freezePane($sCell)
function RemoveRow($iRow)
function CopyRange($sRangeFrom,$sCellTo,$bInsertRow=true)
function SetWrapText($sRange)
function GetNextColumn($sColumn="")
function SetCreateReader()
function CreateObjectExcel2007()

class chunkReadFilter

$_startRow
$_endRow
function __construct()
function readCell($column, $row, $worksheetName = )
function setRows($startRow, $chunkSize)

Excel.php

class Excel

$oExcel
$aStyle
$aStyleBold
$aStyleRight
$aStyleLeft
$aStyleBorderThickLeft
$aStyleBorderThickRight
$aStyleFormatText
$oWriter
$oDrawing
function __destruct()
function Excel()
function SetActiveSheetIndex($i=0)
function GetActiveSheet()
function SetShowSummaryBelow($sState=true)
function SetRowOutlineLevel($iRow,$iLevel=1,$bVisible=false)
function SetCellValue($sCordinate, $sValue, $sCharset="", $aStyle=array(), $iRound="")
function SetCellValueExplicit($sCordinate, $sValue, $sCharset="", $aStyle=array(), $iRound="", $pType=PHPExcel_Cell_DataType::TYPE_STRING)
function SetHeaderValue($aHeader=array(), $iRow, $bUtfEncode=true)
function SetAutoSize($aHeader)
function DuplicateStyleArray($sRange="", $sColor="", $aStyle=array())
function SetTitle($sTitle="")
function WriterExcel5($sFileNameFull,$bOutput=false)
function WriterExcel7($sFileNameFull,$bOutput=false)
function SetDefaultFont($sName, $iSize=0)
function ReadExcel5($sFileNameFull, $bReadDataOnly=false, $bCacheOnMemory=true )
function ReadExcel7($sFileNameFull, $bReadDataOnly=false, $bCacheOnMemory=true )
function SetPrintBreak($sCordinate)
function SetRowToRepeat($iRowStart,$iRowEnd)
function MergeCell($sRange)
function WriterPdf($sFileNameFull,$bOutput=false)
function WriterCSV($sFileNameFull,$bOutput=false, $iSheet=0)
function WriterHtml($sFileNameFull)
function GetRowHeight($iRow)
function SetRowHeight($iRow,$dSize)
function SetColWidth($sCol,$dSize)
function GetReadData()
function GetSpreadsheetData()
function GetMergeCell()
function CreateSheet()
function RemoveSheet($iSheet)
function SetProtectionFile($sPassword="12345")
function SetDrawing($sCordinate,$sFullPath,$iHeight=0)
function freezePane($sCell)
function RemoveRow($iRow)
function CopyRange($sRangeFrom,$sCellTo,$bInsertRow=true)
function SetWrapText($sRange)
function GetNextColumn($sColumn="")
function SetCreateReader()
function CreateObjectExcel2007()

class chunkReadFilter

$_startRow
$_endRow
function __construct()
function readCell($column, $row, $worksheetName = )
function setRows($startRow, $chunkSize)

FileCache.php

function Cache()

function GetValue($sSection,$sKey,$bAddIndexDB=false)

function SetValue($sSection,$sKey,$sValue,$bAddIndexDb=false)

File.php

function GetFromDir($sPathToDir, $bComparative=true)

function RemoveToDir($aFile, $sPathToDir, $bComparative=true, $bAddTime=true, $bDeleteBefore=true)

function Write($aFile,$sContent,$sMode="w")

function Extract($sPathToFile, $sPathToExtract)

function ExtractForPrice($sPathToFile, $sPathToExtract)

function ExtractFirstFile($sPathToFile, $sPathToExtract)

function CheckFileUpload($aFile)

Form.php

$sHeader

$sAdditionalTitle

$sTitle

$sContent

$sClass

$sSubmitButton

$sSubmitAction

$sReturnButton

$sReturnAction

$sError

$sErrorNT

$sHidden

$sConfirmText

$bIsPost

$sWidth

$bShowBottomForm

$bConfirmSubmit

$sButtonsPadding

$bAutoReturn

$sAdditionalButton

$sAdditionalButtonTemplate

$sReturn

$sRightTemplate

$bSetDefault

$sTemplatePath

$sBeforeContent

$sAfterContent

$sTitleDivHeader

$sReturnButtonClass

$sSubmitButtonClass

$bReturnAfterSubmit

$sButtonSpanClass

$sButtonDivClass

$aField

$bType

function __construct($aData=array())

function GetForm($sContent=)

function ShowError($sError)

function BeforeReturn($sAction,$sEditAction=)

function AfterReturn($sAction,$sMessage=)

function RedirectAuto($sMessage="")

function Error404($bRedirectMissing=false)

HtmlDom.php

function __construct()

function AddCreateOption($sSelectId, $sOptionText, $sOptionValue)

function AddCreateOptions($sSelectId, $aOptions)

ImageProcess.php

$aDisallowedExtension

$aAllowedExtension

function GetUploadedImage($sFieldName,$iMaxUploaded=3,$sTargetPath='/imgbank/Image/' ,$iIdCustom=,$iBigWidth=600,$iSmallWidth=80,$bLeaveOriginal=false)

function ImageResize($sSource, $sDestination, $iNewWidth, $sExtension)

function CreateSubnail($sSource,$sTargetPath='/imgbank/Image/',$iIdCustom=,$iBigWidth=600,$iMiddleWidth=300,$iSmallWidth=100)

function ParseExtension($sPath)

Language.php

$aTranslateMessage

$aTranslateText

$aContextHint

$sLocale

$iLocale

$aLanguageList

$aLanguageAssoc

$sBaseLocale

$aOldParser

function __construct($sBaseLocale = )

function GetLocale()

function GetMessage($sKey, $sPage = "")

function GetDMessage($sKey, $sPage = "")

function GetText($sKey, $sPage = "")

function GetContextHint($sKey, $bUnique = false)

function GetOrderStatus($sKey)

function PrintPrice($dAmount,$bAbs=false,$bInvert=false,$sOutputType=,$sPriceType=)

function PrintCurrencyPrice($dAmount,$sCurrency='USD')

function PrintPriceByType($dAmount,$sPriceType='USD')

function Price($dAmount, $sPriceType=,$bAbs=false,$bInvert=false)

function GetDate($iTimestamp = , $iTimeZone = ,$bCurrentForce=false)

function GetDateTime($iTimestamp = , $iTimeZone = )

function GetPostDate($sPostDate,$iTimeZone=)

function GetPostDateTime($sPostDate,$iTimeZone=)

function FormatDate($sSearchDate, $sFormat='Y-m-d H:i:s')

function GetLocalizedRow($aData)

function GetLocalizedAll($aData, $bReturnSql=false, $sAssocField = )

function Array2Hash($data, $key_array = )

function GetCommentLink($sSection, $sId, $sLink,$bHideUnapproved=false)

function GetConstant($sKey,$sDefaultValue=)

function GetMessageArray($aArrayKey, $sPage = "")

function IncludeLocaleMap($sMap)

function AddOldParser($sObject,$iId)

function ReplaceOldParser($sOutput)

function GetCatalogMessage($sKey, $sPage = "")

function GetTranslit($sString, $sCharset='utf-8')

function PrintPriceCalc($aPrice)

function SetText($sKey, $sContent = "")

LocaleGlobal.php

function __construct()

function GetLocaleMap($sTableName)

function Edit()

function Apply()

Log.php

function __construct()

function VisitAdd()

function AdminAdd($sAction,$sTableName=,$sBeforeApply=,$sAfterApply=)

function FinanceAdd($aData,$sSection,$iIdUser=,$sDescription,$sCreatedBy=)

function GlobalAdd($aData,$sSection,$iIdUser=)

function OrderAdd($aData,$sSection,$iIdUser=)

Mail.php

$bAddedNoRply

function SendNow($sAddress,$sSubject,$sBody,$sFrom=,$sFromName=,$sCc=,$iLanguage=null, $bFromDelayed=false, $iPriority=5)

function SendAttach($sAddress,$sSubject,$sBody,$aAttachment=array(),$sCc=,$sFrom=,$sFromName=,$sCharSet = 'cp1251')

function AddDelayed($sAddress,$sSubject,$sBody,$sFromEmail=,$sFromName=,$bCheckEmail=true, $iPriority=5 ,$sAttachCode=,$sDescription=,$sSendAfterDate=)

function SendDelayed($iLetter=1)

function OpenAccount($sHost,$iPort,$sUsername,$sPassword,$sType="pop3",$sFolder="",$bSsl=false)

function GetEmailCount($oAccount)

function GetEmailHeader($oAccount,$iNumberEmail)

function GetAttachment($oAccount,$iNumberEmail)

function DecodeMimeString($sString)

function DeleteEmail($oAccount,$iNumberEmail)

function CloseAcount($oAccount)

function GetSenderEmail($oAccount,$iNumberEmail)

Message.php

function __construct()

function Index()

function Prepare()

function MoveToFolder()

function Reply()

function Forward()

function Send()

function Draft()

function Compose()

function Delete()

function Clear()

function Preview()

function ChangeCurrentFolder()

function MessageNumber($iIdUser,$iIdMessageFolder)

function CreateMessage($sTo,$sSubject,$iIdMessageFolder,$iIsRead,$sText,$iIdUser=,$sUserFrom=)

function SendMessage($sTo,$sSubject,$sText,$iIdMessage=,$bSendEmail=true)

function DeleteMessage($iId)

function EraseMessage($iId)

function MoveMessage($iId,$iIdMessageFolder)

function getUserList($aLogin)

function ReadMessage($iId)

function CreateNotification($sTo,$sCode,$sType='customer',$aUserData=array(),$sToId=,$iPriority=3)

function CreateDelayedNotification($iIdUser,$sCode,$aUserData=array(),$bSmartyTemplate=false,$iIdCart=0)

function SendBulkUserNotification($sAdditionalWhere=)

function PreviewUserNotification()

function AddNote($iIdUser,$sName,$sDescription,$sUrl=,$sReplyTo=)

function CheckNote()

function NoteClose()

function CreateCustomerIdExcel($aUserNotification)

Payment.php

$aWebmoneyPurse

$aMoneyBookersCurrency

function __construct()

function Index()

function WebmoneyResult()

function WebmoneySuccess()

function WebmoneyFail()

function Log($sMethod='webmoney', $sMessage=)

function WebMoneyPayment()

function MoneybookersResult()

function MoneybookersSuccess()

function MoneybookersFail()

function MoneybookersPayment()

function PaypalResult()

function PaypalSuccess()

function PaypalFail()

function PaypalPayment()

function decodeQouta( $str )

function decodeGPC( $str )

function LiqpayResult()

function LiqpaySuccess()

function LiqpayFail()

function LiqpayPayment()

function GetLiqpayOperationXml()

function ParseTag($rs, $tag)

function GetTransactionAccount($sAccountId,$sCurrencyCode=)

function WebtopayResult()

function WebtopaySuccess()

function WebtopayFail()

function WebtopayPayment()

function QiwiResult()

function QiwiPayment()

function MonexyResult()

function MonexySuccess()

function MonexyFail()

function MonexyPayment()

function UnitellerResult()

function UnitellerSuccess()

function UnitellerFail()

function UnitellerPayment()

Permission.php

$aAllowAction

function Init()

function AppendPermission()

function CheckPermission()

PrintContent.php

function Append($sContent)

function Index()

Repository.php

$oInstance

$sPrefix

function Get()

function __construct()

function InitDatabase($sModuleName,$bCoreSql=true)

function CheckTableExist($sTableName)

function CheckUpdate($sModuleName,$bCoreSql=true)

Resource.php

$oInstance

$sPrefix

$aLocation

$aHeaderResource

$aResourceVersion

function Get()

function __construct()

function Add($sFilePath,$iFileVersion=0,$sLocation='header',$aData=array())

function FillTemplate()

Sms.php

function __construct()

function FormatNumber($sPhoneNumber)

function SendGT($sPhoneNumber, $sMessage, $iTimeout = 10)

function SendTurbo($sPhoneNumber, $sMessage, $sSender = 'Partmaster')

function SendTurboV2($sPhoneNumber, $sMessage, $sSender = 'Partmaster')

function SendNow($sPhoneNumber, $sMessage)

function AddDelayed($sPhoneNumber, $sMessage)

function SendDelayed($iMessage = 1)

function SendClickatell($sPhoneNumber, $sMessage, $sSender =)

String.php

function Serialize($aValue)

function Unserialize($sValue)

function FirstNwords($sString, $iWord)

function CheckEmail($sEmail)

function FilterRequestData($aData,$aFieldArray=array())

function QuoteCommaString($sString)

function CheckDomain($sHaystack, $sNeedle)

function UtfEncode($sString)

function GetSmartyTemplate($sKey,$aTemplateData=array(), $bOldStyleTemplate=true)

function GetTemplateRow($sKey)

function GetPage($sKey, $bShowInvisible=false)

function ProcessDropDownAdditional()

function ProcessStatic()

function GetDecimal($sDouble)

function Md5Salt($sPassword,$sSalt)

function GenerateSalt()

function GeneratePref($sPrefIn=)

function GetUcfirst($sString)

function GetUcword($sString)

function FormatPhoneNumber($sString,$bNeedCat=TRUE)

function CheckUaPhone($sString)

function ParseSize($size)

function FormatSize($size)

function FormatPlural($count, $singular, $plural)

Table.php

$sType

$aDataFoTable

$sSql

$sTableSql

$aItem

$aColumn

$iRowPerPage

$iRowPerFirstPage

$iRowPerPageGeneral

$iPage

$bShowRowsPerPage

$sActionRowPerPage

$bShowPerPageAll

$iStepNumber

$aOrderedColumn

$aOrdered

$sDefaultOrder

$sWidth

$sClass

$sStepperClass

$sStepperClassTd

$sStepperActiveItemClass

$sStepperInfoClass

$bStepperInfo

$bStepperOutTable

$bStepperHideNoPages

$sCellSpacing

$sDataTemplate

$sButtonTemplate

$sSubtotalTemplate

$sSubtotalTemplateTop

$sAddButton

$sAddAction

$aCallback

$aCallbackAfter

$bSetDefault

$bPearStepper

$bStepperVisible

$bAjaxStepper

$bHeaderVisible

$bHeaderVisibleGroup

$bHeaderNobr

$bCheckVisible

$bCheckRightVisible

$bCheckOnClick

$sCheckAction

$bCheckAllVisible

$sCheckAllAction

$bDefaultChecked

$sCheckAllClass

$bFormAvailable

$sFormAction

$sCheckField

$iAllRow

$bHideTr

$sIdiTr

$sIdForm

$sHeaderRight

$sTemplateName

$sFilterTemplateName

$sPrefix

$sQueryString

$sOrderAscImage

$sOrderDescImage

$sHeaderClassSelect

$bFilterVisible

$aFilter

$sFormHeader

$sStepperAlign

$iGallery

$bIsGallery

$sStepperType

$bStepperOnePageShow

$bCacheStepper

$bTopStepper

$sNoItem

$bCountStepper

$iStepLimit

$bStepperStyling

$bTableWithoytStyle

$iStartStep

$bHeaderType

$sMarkAllText

$sManualLimit

$sButtonSpanClass

$sPanelTemplateTop

$sLinkPrefix

$sLinkRewrite

$sIdTable

$iColspanFilter

$iColspanSearchStrong

function __construct()

function GetTable($sHeader = , $sHint = ,$sStaticHeader=,$sHeaderNT = )

function getStepper($iRowNumber)

function printPage($countPage, $actPage)

function getStepperPear($iRowNumber)

function getFilter()

function Customize()

function SetSql($sScript, $aData = array())

function sortArrayCallback($sA, $sB)

function setArray($aData)

function GetFilteredProductEnding($iCount)

Tree.php

$sType

$aDataFoTable

$sSql

$sTableSql

$aItem

$aColumn

$iRowPerPage

$iPage

$iStepNumber

$aOrderedColumn

$aOrdered

$sDefaultOrder

$sWidth

$sClass

$sDataTemplate

$sButtonTemplate

$sSubtotalTemplate

$sAddButton

$sAddAction

$aCallback

$bPearStepper

$bStepperVisible

$bAjaxStepper

$bHeaderVisible

$bCheckVisible

$bCheckAllVisible

$bDefaultChecked

$bFormAvailable

$sCheckField

$iAllRow

$bHideTr

$sHeaderRight

$sTemplateName

$sFilterTemplateName

$sPrefix

$sQueryString

$sOrderAscImage

$sOrderDescImage

$bFilterVisible

$aFilter

$sFormHeader

$sStepperAlign

$iGallery

$bIsGallery

$sStepperType

$bCacheStepper

$bTopStepper

$sNoItem

$bCountStepper

function __construct()

function getTree($sHeader = , $sHint = )

function getStepper($iRowNumber)

function getStepperPear($iRowNumber)

function getFilter()

function Customize()

function setSql($sScript, $aData = array())

function sortArrayCallback($sA, $sB)

function setArray($aData)

VinRequest.php

function __construct($bNeedAuth=true)

function Index()

function Preview()

function Manager()

function ManagerSave($bRedirect=true)

function ManagerSend()

function ManagerRefuse()

function ManagerRelease($iId)

function ManagerMobileNotification($aVinRequest)

function GetVinIdList($bReturnArray=false)

function ManagerRemember()

XajaxParser.php

module

AdminRegulations.php

Binotel.php

Buh.php

CallMe.php

Cart.php

CatalogManager.php

Catalog.php

CommentTree.php

ContactForm.php

Customer.php

Dashboard.php

Delivery.php

ElitRoma.php

Error.php

Finance.php

GarageManager.php

Home.php

ManagerCart.php

ManagerInvoiceCustomer.php

Manager.php

Manual.php

Map.php

Message.php

News.php

OwnAuto.php

PaymentDeclarationManager.php

PaymentDeclaration.php

Payment.php

PaymentReportManager.php

PaymentReport.php

PriceFtp.php

PriceGroup.php

Price.php

PriceProfile.php

PriceQueue.php

PriceSearchLog.php

PublicProvider.php

Rating.php

RequestForm.php

Rubricator.php

Search.php

Sound.php

Store.php

TecdocDb.php

Test.php

User.php

VinRequest.php

system

Каталог cron

Содержит папку "local" в которой размещены файлы:

  • backup.sh - скрипт для сохранения дампа основной базы. Скрипт выполняется каждые сутки.
  • backup_weekly.sh - скрипт для сохранения таблиц cross и cross_stop. Скрипт выполняется 1 раз в неделю.

Каталог css

Содержит файлы css проекта, подключенные в данном дизайне. Также может содержать css от дополнительных библиотек.

Каталог image

Содержит изображения использующиеся в дизайне сайта.

Каталог imgbank

Содержит файлы и папки которые загружаются и выгружаются с сайта

  • Image - директория изображений загружаемых на сайт
  • price - директория загружаемых на сайт прайсов
  • temp_upload - директория используется для выгрузок с сайта и обмена с 1С
  • default_cross_import.xls - пример файла импорта кроссов
  • default_price.xls - пример файла импорта прайса
  • test_status_upload.xls - пример файла импорта статусов
  • test_weight_upload.xls - пример файла импорта веса запчастей

Каталог include

Содержит настройки и каталог SQL запросов:

  • locale_map - каталог настроек мультиязычности
  • sql - каталог SQL запросов
  • currency_convert_ru.php - настройки отображения валюты
  • order_status_config.php - настройки статусов заказа
  • user_notification.php - настройки уведомлений пользователей
  • vin_request.php - настройки данных формы VIN запроса


Подкаталог sql содержит запросы которые используются в обработчиках, например запрос "Cat.php" используется в обработчике MPanel для отображения брендов на сайте. Пример использования:

$sSql = Base::GetSql('Cat',array('id'=>'102'));

Функция Base::GetSql() имеет 2 параметра:

  • имя запроса, должно быть написано латиницей, начинаться с заглавной буквы и не содержать пробелов.
  • массив параметров(не обязательно)

В данном примере результатом выполнения функции будет текст SQL запроса в который подставиться условие where c.id='102'

Содержимое файла Cat.php:

<?
function SqlCatCall($aData) {

	$sWhere.=$aData['where'];
	
	Db::SetWhere($sWhere,$aData,'id','c');
	Db::SetWhere($sWhere,$aData,'pref','c');
	Db::SetWhere($sWhere,$aData,'is_main','c');
	Db::SetWhere($sWhere,$aData,'is_brand','c');
	Db::SetWhere($sWhere,$aData,'visible','c');
	Db::SetWhere($sWhere,$aData,'id_tof','c');
	Db::SetWhere($sWhere,$aData,'id_sync','c');

	if ($aData['join']) {
		$sJoin .= " ".$aData['join'];
	}

	if ($aData['order']) {
		$sOrder.=" order by ".$aData['order'];
	}
	
	if ($aData['where'])
		$sWhere .= $aData['where'];
	
	$sSql="select c.*
			from cat as c
			".$sJoin."
			where 1=1
			".$sWhere."
			group by c.id
			".$sOrder;

	return $sSql;
}
?>

В каждом файле должна быть объявлена функция по шаблону:

  • Sql
  • Название файла, если файл находится в поддиректории то имя директории должно быть с большой буквы
  • Call

и иметь обязательный параметр. Пример файла PartDetailRubricator.php в директории OptiCatalog, имя функции в файле должно быть следующим: SqlOptiCatalogPartDetailRubricatorCall.

Вызов функции Db::SetWhere() внутри таких файлов, устанавливает необходимый параметр "where" для формирующегося SQL запроса.

Каталог js

Содержит js скрипты использующиеся на сайте, в том числе и дополнительные библиотеки, например:

  • jquery
  • jquery.maskedinput
  • jquery.validate

Каталог lib

Содержит библиотеки php подключенные к проекту, например:

  • adodb - работа с базой
  • PHPExcel - работа с xls/xlsx файлами
  • smarty - работа с шаблонизатором smarty
  • sphinx - релевантный поиск
  • и другие
Данные библиотеки являются общими для всех проектов!

Каталог libp

Содержит библиотеки в основном js подключенные к проекту, например:

  • FCKeditor - визуальный html редактор
  • xajax - библиотека для работы с ajax
  • popcalendar - всплывающий элемент выбора даты
  • и другие
Данные библиотеки являются общими для всех проектов!

Каталог mpanel

Содержит обработчики админ панели MPanel. Также содержит 2 файла:

  • index.php - страница приветствия и входа в MPanel
  • login.php - механизм связи обработчиков и ссылок в MPanel

Все обработчики находятся в поддиректории "spec" и отличаются от файлов директории "spec" в корне сайта тем что более унифицированы и являются не промежуточным звеном, а именно содержат код самого обработчика.

Основные файлы:

  • admin_regulations.php - для регламентных работ
  • banner.php - управление баннерами
  • cat.php - бренды деталей на сайте
  • cat_model.php - модели авто
  • cat_model_group.php - группы моделей авто
  • cat_part.php - карточки товаров
  • cat_pref.php - префиксы брендов
  • complex_margin.php - сложные наценки
  • constant.php - константы
  • context_hint.php - подсказки на сайте
  • customer.php - заказчики
  • customer_group.php - группы заказчиков
  • delivery_type.php - типы доставки
  • drop_down_additional.php - настройка выдачи урлов
  • general_constant.php - основные настройки
  • handbook.php - параметры групп деталей
  • hbparams_editor.php - редактор параметров групп деталей
  • log_admin.php - лог посещений администратора
  • log_finance.php - лог финансов
  • log_mail.php - лог писем
  • log_sms.php - лог смс
  • log_visit.php - лог посещений пользователя
  • manager.php - менеджеры
  • news.php - новости
  • payment_type.php - типы оплат
  • popular_products.php - популярные продукты
  • price.php - прайсы
  • price_group.php - группы деталей
  • provider.php - поставщики
  • provider_group.php - группы поставщиков
  • rubricator.php - рубрикатор
  • translate_message.php - перевод сообщений
  • translate_text.php - перевод текстов
  • user.php - общий обработчик для пользователей

Каталог single

Каталог для подключения любых библиотек php/js использующихся индивидуально на данном проекте.

Каталог spec

Содержит файлы для связи ссылок на сайте и обработчиков в папке class.

Основные файлы директории:

  • call_me.php - заказ звонка
  • cart.php - корзина и оформление заказа
  • catalog.php - подбор по каталогу
  • catalog_manager.php - редактирование каталога
  • contact_form.php - страница контактной информации и форма обратной связи
  • cron.php - автоматический запуск периодичных событий
  • customer.php - редактирование информации пользователя
  • dashboard.php - личный кабинет пользователя
  • finance.php - управление счетами
  • garage_manager.php - просмотр и редактирование менеджерами гаража полььзователя
  • home.php - главная страница
  • manager.php - функционал менеджера
  • manager_cart.php - просмотр менеджером корзины пользователей
  • manager_invoice_customer.php - работа с накладными для менеджера
  • message.php - внутренние сообщения
  • news.php - новости
  • own_auto.php - гараж автомобилей
  • payment.php - модули оплаты
  • payment_declaration.php - декларации доставки пользователя
  • payment_declaration_manager.php - декларации доставки менеджера
  • payment_report.php - сообщение об оплате пользователя
  • payment_report_manager.php - сообщение об оплате менеджера
  • price.php - загрузка прайса
  • price_group.php - группы прайсов
  • price_profile.php - профили загрузки прайсов
  • price_queue.php - очередь загрузки прайсов
  • price_search_log.php - история поиска по коду
  • print_content.php - вывод на печать
  • rubricator.php - рубрикатор
  • search.php - релевантный поиск
  • test.php - тестовая страница, может использоваться для проверки функционала отдельных модулей
  • user.php - регистрация пользователя, вход на сайт, выход
  • vin_request.php - работа с VIN запросами


Все файлы в данной директории должны иметь название в нижнем регистре, латиницей, для разделения слов допускается только знак нижнего подчеркивания "_". Пример файла:

<?php
$sPrefix='customer_';
$oObject=new Customer();

switch (Base::$aRequest['action'])
{
	case $sPrefix.'profile':
		$oObject->Profile();
		break;

	case $sPrefix.'phone':
	case $sPrefix.'phone_edit':
		$oObject->Phone();
		break;

	case $sPrefix.'change_rating':
		$oObject->ChangeRating();
		break;

	default:
		$oObject->Index();
		break;
}
?>

В данном примере описана связь страниц:

с обработчиками в классе Customer (/class/module/Customer.php)

Каталог template

Содержит шаблоны "*.tpl" для работы с шаблонизатором Smarty и генерации HTML кода.

Основные файлы и директории:

  • addon - директория с общими для всех проектов шаблонами, содержит шаблоны форм, таблиц
  • ... - шаблоны от модулей
  • mpanel - директория с шаблонами админки
  • templates_c - файлы кеша Smarty, их не нужно редактировать
  • footer.tpl - шаблон футера
  • header.tpl - шаблон хедера
  • header_print.tpl - ???
  • index.tpl - основной шаблон, в него подключаются header.tpl и footer.tpl, также он выводит переменную Base::$sText в которую обработчики отправляют контент
  • message_input.tpl - перевод сообщений для js


В файлах "*.tpl" обычно используются:

Каталог verstka

Данный каталог содержит исходные файлы верстки сайта. Необходим для сохранения истории верстки.