/home/www/biall.com.pl/MARKETING_SMB/BAZA_REKLAM_2008/2008-02-15.127.DRUK_REKLAMY.Prezentacja_w_power_poit_Piotr_Justynski // [M_DIST_FILES_PROJECT_TYPE] => on // [M_DIST_FILES_DESCRIPTION_AUTO] => on // [M_DIST_FILES_DATE_TODAY] => on // [M_DIST_FILES_VERSION_AUTO] => on // [M_DIST_FILES_VERSION_OVERWRITE] - nadpisywanie // [M_DIST_FILES_EXTENSION_AUTO] => on // [M_DIST_FILES_INDEXNAME] => // [M_DIST_FILES_TYPE] => NOTATKA // [M_DIST_FILES_DESCRIPTION] => // [M_DIST_FILES_DATE] => // [M_DIST_FILES_VERSION] => // [M_DIST_FILES_EXTENSION] => // [M_DIST_FILES_FOLDER_CREATE_AUTO] - zalozenie katalogu jak nie ma // [M_DIST_FILES_TEMP] - tymczasowa wersja //$FILENAME_POST - wyslana nazwa pliku oryginalnego //$DEST_FOLDER - folder docelowy - potrzebne do sprawdzenia czy nie bedzie overwrite , zatem automatycznie musi zmienic wersje echo "
FUNCTION IN7_FILERENAME in DEVELOPMENT
"; //echo "Parametry z M_DIST_FILES_PARAMS:\n
"; //print_r($M_DIST_FILES_PARAMS); //echo "
FILENAME_POST: $FILENAME_POST "; //Plan dzialania: //1. Zidentyfikujmy wyslana nazwe pliku i znajdzmy interesujace nas fragmenty -> $GUESS[TYPE] //2. Przejedzmy po GUESS_Types i uformujmy je odpowiednio w zaleznosci od zadanych wymuszen //3. Sprawdzmy czy ktores z wymuszen nie jest niemozliwe do realizacji, napiszmy error //3.1 - Nazwy wpisane normalnie - bez funkcji automatycznych //4. Uformujmy docelowa nazwe pliku //5. sprawdzmy czy takiego pliku juz nie ma, a jak jest, to dodajmy wersje + 1 //6. zwrocmy array na wyjsciu z nazwa pliku docelowa //1. sekcja identyfikacji pliku // zasada: [0]=INDEKS , [1]=TYP_REKORDU(Instrukcja) , [2]=Nazwa(opcj) , [Ost-1 or 3]=Data, [Ost]=.rozszerzenie // echo $FILENAME_POST ; $FILE_A=split("\.",$FILENAME_POST); $FILE_AB=split("\_",$FILENAME_POST); $FILE_P["COUNT"]=count($FILE_A); $FILE_PB["COUNT"]=count($FILE_AB); //print_r($FILE_A); //print_r($FILE_B); // echo "\n Count ".$FILE_P[COUNT]." ".$FILE_PB[COUNT]; // if($PRODUKT_ID==$FILE_A[0]) { //Nazwa produktu jest spelniona i zgodna z oczekiwaniem $DST_FILE[0]=$PRODUKT_ID; $DST_FILE[1]=$TYP_DANYCH; //wykrywamy poprawnosc oznaczenia daty //dla AB if(($FILE_PB[COUNT]>=2)&&($FILE_PB[COUNT]<=7)) { //podstawowa zasada $I=0; foreach($FILE_AB as $FILE_A_A) { $I++; $FILE_A_D=split("-",$FILE_A_A); // print_r($FILE_A_D); if(($FILE_A_D[0]>1980)&& ($FILE_A_D[0]<9999)&& (count($FILE_A_D)==3)&& ($FILE_A_D[1]<=12)&& ($FILE_A_D[2]<=33)&& (strlen($FILE_A_D[2])==2)&& (strlen($FILE_A_D[1])==2)&& (strlen($FILE_A_D[0])==4)) { if(!$M_DIST_FILES_PARAMS[M_DIST_FILES_DATE]) $GUESS[DATE]=$FILE_A_A ; // echo "\nDATA_OK"; $GUESS_INDEX[DATE][]=array( 'PREFIX'=>"_" , 'INDEKS'=>"$I" , 'VALUE'=>"$FILE_A_A" ); // $GUESS_INDEX[DATE][PREFIX]="_"; // $GUESS_INDEX[DATE][INDEKS]="$I"; // $GUESS_INDEX[DATE][VALUE]="$FILE_A_A"; } } } //dla A if(($FILE_P[COUNT]>=2)&&($FILE_P[COUNT]<=7)) { //podstawowa zasada $I=0; foreach($FILE_A as $FILE_A_A) { $I++; $FILE_A_D=split("-",$FILE_A_A); // echo "
Dater dla $FILE_A_D "; // print_r($FILE_A_D); if(($FILE_A_D[0]>1980)&& ($FILE_A_D[0]<9999)&& (count($FILE_A_D)==3)&& ($FILE_A_D[1]<=12)&& ($FILE_A_D[2]<=33)&& (strlen($FILE_A_D[0])==4)&& (strlen($FILE_A_D[1])==2)&& (strlen($FILE_A_D[2])==2)) { if(!$M_DIST_FILES_PARAMS[M_DIST_FILES_DATE]) if(!$GUESS_INDEX[DATE][1]) $GUESS[DATE]=$FILE_A_D[0]."-".$FILE_A_D[1]."-".$FILE_A_D[2] ; // echo "\nDATA_OK TUTAJJJJ "; $GUESS_INDEX[DATE][]=array( 'PREFIX'=>"." , 'INDEKS'=>"$I" , 'VALUE'=>$FILE_A_D[0]."-".$FILE_A_D[1]."-".$FILE_A_D[2] ); } } //wykrywamy rozszerzenie $FILE_A_ROZ=$FILE_A[($FILE_P["COUNT"]-1)]; //echo "\n Rozszerzenie to $FILE_A_ROZ"; // $DST_FILE[4]=$FILE_A_ROZ; if($FILE_A_ROZ) { $GUESS["EXT"]=$FILE_A_ROZ; $GUESS_INDEX["EXT"][]=array( 'PREFIX'=>"." , 'INDEKS'=>($FILE_P["COUNT"]-1) , 'VALUE'=>"$FILE_A_ROZ" ); } } //Wyciagamy Opis, usuwamy DATY oraz inne znane ciagi znakow //Usuwamy date ze stringu if(($M_DIST_FILES_PARAMS[M_DIST_FILES_TYPE])&&($M_DIST_FILES_PARAMS[M_DIST_FILES_PROJECT_TYPE])) { //TYPE PROJECT $GUESS[TYPE]=$M_DIST_FILES_PARAMS[M_DIST_FILES_TYPE]."_P"; //TODO wprowadzic typ _P $GUESS[TYPE]=$M_DIST_FILES_PARAMS[M_DIST_FILES_TYPE]; } else if($M_DIST_FILES_PARAMS[M_DIST_FILES_TYPE]) $GUESS[TYPE]=$M_DIST_FILES_PARAMS[M_DIST_FILES_TYPE] ; if(($M_DIST_FILES_PARAMS[M_DIST_FILES_TEMP])&&($M_DIST_FILES_PARAMS[M_DIST_FILES_TYPE])&&($GUESS[TYPE])) $GUESS[TYPE]=$GUESS[TYPE]."_TEMP"; if(($M_DIST_FILES_PARAMS[M_DIST_FILES_VERSION_AUTO])&&(!$M_DIST_FILES_PARAMS[M_DIST_FILES_VERSION])) { //Version Auto if($GUESS_INDEX[DATE][1]) { $SPLITER=$GUESS_INDEX["DATE"]["1"]["PREFIX"]; if($SPLITER==".") $SPLITER='\.'; $GIS=split($SPLITER,$FILENAME_POST); // echo "GIS ".$GUESS_INDEX["DATE"]["1"]["PREFIX"].",".$FILENAME_POST."
"; // print_r($GIS); echo $GUESS_INDEX[DATE][1][INDEKS]; $pattern = '/[[:alpha:]]/'; $subject = $GIS[$GUESS_INDEX[DATE][1][INDEKS]]; //$PO=preg_match($pattern, $subject, $GIS[$GUESS_INDEX[DATE][1][INDEKS]]); $PO=preg_match($pattern, $subject , $PO2 ,PREG_OFFSET_CAPTURE); // print_r($PO); if(($PO==0)&&($GIS[$GUESS_INDEX[DATE][1][INDEKS]]>=0)&&($GIS[$GUESS_INDEX[DATE][1][INDEKS]]<=999)) $GUESS[VERSION]=$GIS[$GUESS_INDEX[DATE][1][INDEKS]]; //$GUESS[VERSION]=""; // echo "PRZED ".$GIS[$GUESS_INDEX[DATE][1][INDEKS]]." PO $PO
"; } } //Wersja TODO if($M_DIST_FILES_PARAMS[M_DIST_FILES_VERSION]) $GUESS[VERSION]=$M_DIST_FILES_PARAMS[M_DIST_FILES_VERSION] ; //Indexname zgadujemy wklepujemy if($M_DIST_FILES_PARAMS[M_DIST_FILES_INDEXNAME]) $GUESS[INDEXNAME]=$M_DIST_FILES_PARAMS[M_DIST_FILES_INDEXNAME] ; if((!$GUESS[INDEXNAME])&&(!$M_DIST_FILES_PARAMS[M_DIST_FILES_INDEXNAME])&&($GUESS[DATE])) { echo "INDEXNAME AUTO"; $GUESS[INDEXNAME]=$GUESS[DATE]; if(($GUESS_INDEX[DATE][0])&&($GUESS_INDEX[DATE][1])) $GUESS[INDEXNAME]=$GUESS_INDEX[DATE][0][VALUE]; } //EOF if((!$GUESS[INDEXNAME... if(($M_DIST_FILES_PARAMS[M_DIST_FILES_DESCRIPTION_AUTO])) {//AUTODESC echo "M_DIST_FILES_DESCRIPTION_AUTO L.170
\n"; // $GUESS[DESCRIPTION]=ereg_replace($GUESS_INDEX[DATE][0][VALUE].$GUESS_INDEX[DATE][0][PREFIX],'',$FILENAME_POST); $GUESS[DESCRIPTION]=$M_DIST_FILES_PARAMS[M_DIST_FILES_DESCRIPTION]."_".$FILENAME_POST; // echo "
GUESS[DESCRIPTION] line 177: ".$GUESS[DESCRIPTION]." should be added ".$M_DIST_FILES_PARAMS[M_DIST_FILES_DESCRIPTION]." EOL."; if($GUESS_INDEX[DATE][0]) { $SPL=split('_',$GUESS[DESCRIPTION]); unset($GUESS[DESCRIPTION]); foreach($SPL as $SPLL){ echo "
if $SPLL == ".$GUESS_INDEX[DATE][0][VALUE]." EOL"; if(!strstr($SPLL,$GUESS_INDEX[DATE][0][VALUE])) { $GUESS[DESCRIPTION].="_".$SPLL; echo "
Added Line 177a | $SPLL |"; } } echo "
GUESS[DESCRIPTION] line 177: ".$GUESS[DESCRIPTION]." should be added ".$M_DIST_FILES_PARAMS[M_DIST_FILES_DESCRIPTION]." EOL."; if($GUESS_INDEX[DATE][1]) { $SPL=split('\.',$GUESS[DESCRIPTION]); unset($GUESS[DESCRIPTION]); foreach($SPL as $SPLL){ // echo "
if $SPLL == ".$GUESS_INDEX[DATE][1][VALUE]." EOL"; if(!strstr($SPLL,$GUESS_INDEX[DATE][1][VALUE])) $GUESS[DESCRIPTION].=".".$SPLL; } } echo "
DESCRIPT TO $GUESS[DESCRIPTION] L.194"; // if($GUESS_INDEX[DATE][1]) $GUESS[DESCRIPTION]=ereg_replace($GUESS_INDEX[DATE][1][VALUE].$GUESS_INDEX[DATE][1][PREFIX],'',$FILENAME_POST); // $GUESS_INDEX[M_DIST_FILES_DESCRIPTION]; //wywalamy spacje $GUESS_INDEX[M_DIST_FILES_DESCRIPTION]=str_replace(' ','_',$GUESS_INDEX[M_DIST_FILES_DESCRIPTION]); } else if($FILENAME_POST) { } else $GUESS[DESCRIPTION]=$M_DIST_FILES_PARAMS[M_DIST_FILES_DESCRIPTION]; //EOF ? if((!$M_DIST_FILES_PARAMS[M_DIST_FILES_DESCRIPTION])&&($M_DIST_FILES_PARAMS[M_DIST_FILES_DESCRIPTION_AUTO])) { if($GUESS_INDEX[EXT][0]) $GUESS[DESCRIPTION]=ereg_replace($GUESS_INDEX[EXT][0][PREFIX].$GUESS_INDEX[EXT][0][VALUE],'',$GUESS[DESCRIPTION]); // if($GUESS[VERSION]) $GUESS[DESCRIPTION]=ereg_replace('\.'.$GUESS[VERSION],'',$FILENAME_POST); $SPL=split('\.',$GUESS[DESCRIPTION]); unset($GUESS[DESCRIPTION]); $I=0; foreach($SPL as $SPLL){ if(!strstr($GUESS[VERSION],$SPLL)) { $GUESS[DESCRIPTION].=$SPLL; if($_SESSION[DEBUG]) echo "
Sciagam z desc wersje $SPLL == ".$GUESS[VERSION]." |"; } if($_SESSION[DEBUG]) echo "
line 203: teraz GUESS[DESCRIPTION]= ".$GUESS[DESCRIPTION]." | a w oryginale z parametru: ".$FILENAME_POST." |"; } } // //3.1 - Nazwy wpisane normalnie - bez funkcji automatycznych if((!$M_DIST_FILES_PARAMS[M_DIST_FILES_DESCRIPTION_AUTO])&&($M_DIST_FILES_PARAMS[M_DIST_FILES_DESCRIPTION])) $GUESS[DESCRIPTION]=$M_DIST_FILES_PARAMS[M_DIST_FILES_DESCRIPTION]; if((!$M_DIST_FILES_PARAMS[M_DIST_FILES_DESCRIPTION_AUTO])&&(!$M_DIST_FILES_PARAMS[M_DIST_FILES_DESCRIPTION])) $ERROR.="ERROR_EMPTY_M_DIST_FILES_DESCRIPTION (BRAK OPISU),"; //3.1.1 ... Walidacja daty if((!$M_DIST_FILES_PARAMS[M_DIST_FILES_DATE])&&($GUESS[DATE])) $GUESS[DATE]=$M_DIST_FILES_PARAMS[DATE]; if($M_DIST_FILES_PARAMS[M_DIST_FILES_DATE_TODAY]) $GUESS[DATE]=date(Y)."-".date(m)."-".date(d); // $GDATE=date if(!$GUESS[DATE]) if($M_DIST_FILES_PARAMS[M_DIST_FILES_DATE]) $GUESS[DATE]=$M_DIST_FILES_PARAMS[M_DIST_FILES_DATE]; if((!$GUESS[DATE])) $ERROR.="ERROR_EMPTY_M_DIST_FILES_DATE (PUSTA DATA),"; else { //TODO uzyc globalnej funkcji walidacji daty $FILE_A_D=split("-",$GUESS[DATE]); // echo "
Dater dla $FILE_A_D "; // print_r($FILE_A_D); if(($FILE_A_D[0]>1980)&& ($FILE_A_D[0]<9999)&& (count($FILE_A_D)==3)&& ($FILE_A_D[1]<=12)&& ($FILE_A_D[2]<=33)&& (strlen($FILE_A_D[0])==4)&& (strlen($FILE_A_D[1])==2)&& (strlen($FILE_A_D[2])==2)) $INFO.="3.1.1 WALIDACJA DATY OK , " ; else $ERROR.="ERROR_BAD_M_DIST_FILES_DATE (zly format daty ".$GUESS[DATE].") , "; } if((!$GUESS[VERSION])&&($M_DIST_FILES_PARAMS[M_DIST_FILES_VERSION])) $GUESS[VERSION]=$M_DIST_FILES_PARAMS[M_DIST_FILES_VERSION]; else if((!$GUESS[VERSION])&&(!$M_DIST_FILES_PARAMS[M_DIST_FILES_VERSION])) $GUESS[VERSION]="1"; //Ogolne usuniecie spacji $GUESS[VERSION]=str_replace(' ','_',$GUESS[VERSION]); $GUESS[DESCRIPTION]=str_replace($BAD_FILE_SIGNS,$OK_FILE_SIGNS,$GUESS[DESCRIPTION]); $GUESS[M_DIST_FILES_EXTENSION]=str_replace($BAD_FILE_SIGNS,$OK_FILE_SIGNS,$GUESS[M_DIST_FILES_EXTENSION]); $GUESS[M_DIST_FILES_INDEXNAME]=str_replace($BAD_FILE_SIGNS,$OK_FILE_SIGNS,$GUESS[M_DIST_FILES_INDEXNAME]); //EOF 3.1 //echo "Zgadnieto z pliku"; if($_SESSION[DEBUG]) print_r($GUESS); //print_r($GUESS_INDEX); //Listujemy czy nie zrobimy overwrite'u if(!file_exists($DEST_FOLDER)) { if($M_DIST_FILES_PARAMS[M_DIST_FILES_FOLDER_CREATE_AUTO]) { mkdir ($DEST_FOLDER, 0777, true); $INFO.="TWORZE_NOWY_FOLDER , "; } else $ERROR.="ERROR_DEST_FOLDER_NOT_EXISTS"; if(!file_exists($DEST_FOLDER)) $ERROR.="ERROR_DEST_FOLDER_NOT_EXISTS"; } // //Sprawdzanie wersji i dodanie nowszej, zamiast overwrite (dla funkcji Automatycznie dodaj wersje) if ($handle3 = opendir($DEST_FOLDER)) { $I=0; while($I<1000) { $I++; unset($ERROR_VER); while (false !== ($file = readdir($handle3))) { // echo "
DIRLIST sprawdzam $file pod katem ".$GUESS[DESCRIPTION]."z katalofu $DEST_FOLDER"; if(strstr($file,$GUESS[INDEXNAME].".".$GUESS[TYPE].".".$GUESS[DESCRIPTION].".".$GUESS[DATE].".".$GUESS[VERSION].".".$GUESS[EXT])) { echo "
WARNING Plik $file istnieje juz, (".$GUESS[VERSION].")"; //Zmieniamy tylko wersje jak jest autowersja oraz nie jest OVERWRITE if(($M_DIST_FILES_PARAMS[M_DIST_FILES_VERSION_AUTO])&&(!$M_DIST_FILES_PARAMS[M_DIST_FILES_VERSION_OVERWRITE])) { $GUESS[VERSION]++; $ERROR_VER="ERROR_OVERWRITE"; echo "- zmieniamy wersje ".$GUESS[VERSION]." . "; } if($M_DIST_FILES_PARAMS[M_DIST_FILES_VERSION_OVERWRITE]) $INFO.="OVERWRITE,"; echo " - bedziemy nadpisywac - uzycie OVERWRITE"; } //echo "$FOLDER , $FOLDER_I , $file\n"; } //EOF while (false !== ($file = readdir($handle3))) if(!$ERROR_VER) { echo "
Brak erroru przerywam proces sprawdzania wersji"; break; } else { if($M_DIST_FILES_PARAMS[M_DIST_FILES_VERSION_AUTO]) echo "
Error powtorzonej wersji , powtarzam petle testu AUTOWERSJI ($I)".$GUESS[VERSION]." ."; else break ; } } //EOF while($I<1000) } //EOF if ($handle3 = opendir($DEST_FOLDER)) //if(!$ERROR_VER) { $RETURN_ARR=$GUESS; $RETURN_ARR[M_DIST_FILES_DEST_FOLDER]=$DEST_FOLDER; $RETURN_ARR[DST_FILE_NAME]=$GUESS[INDEXNAME].".".$GUESS[TYPE].".".str_replace($BAD_FILE_SIGNS,$OK_FILE_SIGNS,$GUESS[DESCRIPTION]).".".$GUESS[DATE].".".$GUESS[VERSION].".".$GUESS[EXT]; $RETURN_ARR[ERROR]=$ERROR_VER.$ERROR; $RETURN_ARR[INFO]=$INFO; return($RETURN_ARR); // } // echo "$file"; // }//eof func ?>