Nagłówek funkcji
export prototype BOOL GetApacheDocRoot(STRING /*plik konfiguracyjny Apache*/, BYREF STRING /*DocRootPath*/, BOOL /*bLog*/);
Parametry funkcji:
- ścieżka wraz z plikiem konfiguracyjnym np; httpd.conf
- referencja do zmiennej przechowująca ścieżkę
- bLog - czy zapisywać do logu
A oto ciało funkcji:
function BOOL GetApacheDocRoot(szApacheConfigFile, svApacheDocRoot, bLog)
BOOL bResult;
LIST lsApache;
string szLine,szNewLine, szDocRoot;
int i;
begin
if (bLog) then WriteLog(0,"* Pobieranie scieżki do DocumentRoot z konfiguracji Apache..."); endif;
bResult = FALSE;
if (Is(FILE_EXISTS,szApacheConfigFile)) then
lsApache = ListCreate(STRINGLIST);
ListReadFromFile ( lsApache, szApacheConfigFile ); //Odczyt Apache Conf
if (ListCount(lsApache)>0) then
ListSetIndex(lsApache,LISTFIRST);
for i=0 to ListCount(lsApache)-1
ListCurrentString ( lsApache, szLine );
szLine = StrTrim(szLine);
if (StrFind(szLine,"DocumentRoot")>=0) then
szNewLine = szLine;
szNewLine = StrTrim(szNewLine);
if (StrFind(szNewLine,"DocumentRoot")=0) then
StrSub(szDocRoot,szNewLine, StrLength("DocumentRoot")+1, StrLength(szNewLine));
szDocRoot = StrTrim(szDocRoot);
bResult = TRUE;
if (bLog) then WriteLog(2,"DocumentRoot : "+szDocRoot); endif;
StrReplace(szDocRoot,"\"","",0);
StrReplace(szDocRoot,"/","\\",0);
StrRemoveLastSlash(szDocRoot);
svApacheDocRoot = szDocRoot;
endif;
endif;
ListSetIndex(lsApache,LISTNEXT);
endfor;
endif;
endif;
ListDestroy(lsApache);
return bResult;
end;