diff --git a/README.md b/README.md index 97a1678..a152ed5 100644 --- a/README.md +++ b/README.md @@ -2,11 +2,11 @@ mySQL image downloader / replacer wizard -v.0.1 alpha +v.0.2 beta adopted for php8 DWTWL license https://soundragon.su/license/license.html -This is alpha version written for specific needs. If you want complete and expanded version of this script, then make the request. +This is beta version written for specific needs. If you want complete and expanded version of this script, then make the request. @@ -21,4 +21,4 @@ Using: /mysqlim/ 3. Add write privilegies for this directory. 4. Login to wizard by web-browser: -http://yourserver.com/mysqlim/ +http://yourserver.com/mysqlim/index.php diff --git a/exec.php b/exec.php index b2a0581..4a81a3a 100644 --- a/exec.php +++ b/exec.php @@ -1,7 +1,8 @@ 0) $result=$fileprefix.pathinfo($URL)['basename']; else { - unlink ($fileprefix.rawurldecode(pathinfo($URL)['basename'])); - $result=false; - } + unlink ($fileprefix.rawurldecode(pathinfo($URL)['basename'])); + $result=false; + } } } else { file_put_contents(rawurldecode(pathinfo($URL)['basename']), file_get_contents($URL)); @@ -67,22 +68,40 @@ $htmlprefix=$indatacsv[11]; $fixalready=$indatacsv[12]; $fixundownload=$indatacsv[13]; $correctimagenumber=$indatacsv[14]; +$filtcolumn=$indatacsv[15]; +$filtvalue=$indatacsv[16]; +$ahrefparents=$indatacsv[17]; +$webarchived=$indatacsv[18]; + unlink ("indata.csv"); -if ($logmessage=="emptyindata") echo "Can't read data file, please check write pirivlegies for ",$execdir," directory"; +if (isset($logmessage) && $logmessage=="emptyindata") + echo "Can't read data file, please check write pirivlegies for ",$execdir," directory"; chdir("../".$dirname); -if ($subdir) chdir ($subdir); - $dbconnection=mysqli_connect($dbhost,$dbuser,$dbpass,$dbname); - mysqli_set_charset($dbconnection,'utf8'); - $resulttable=mysqli_query($dbconnection,"SELECT * FROM ".$dbtable); - $totalstatus="started"; - $updatedurls=0; - $failedtoupdate=0; - $deletedurls=0; - $rawsedit=0; - SaveStatus ($totalstatus,$rawsedit,$updatedurls,$failedtoupdate,$deletedurls,$execdir); - while($row=mysqli_fetch_assoc($resulttable)){ - $originalcontent=$row[$dbcolumn]; +if ($subdir) + chdir ($subdir); +$dbconnection=mysqli_connect($dbhost,$dbuser,$dbpass,$dbname); +mysqli_set_charset($dbconnection,'utf8'); +$resulttable=mysqli_query($dbconnection,"SELECT * FROM ".$dbtable); +$totalstatus="started"; +$updatedurls=0; +$failedtoupdate=0; +$deletedurls=0; +$rawsedit=0; +SaveStatus ($totalstatus,$rawsedit,$updatedurls,$failedtoupdate,$deletedurls,$execdir); +$filteredpostnumber=0; +while($row=mysqli_fetch_assoc($resulttable)){ + if (!empty($filtcolumn) && !empty($filtvalue)) { + if ($row[$filtcolumn] == $filtvalue) { + if (!empty($row[$dbcolumn])) + $originalcontent=$row[$dbcolumn]; + $filteredpostnumber++; + } + } else { if (!empty($row[$dbcolumn])) + $originalcontent=$row[$dbcolumn]; + $filteredpostnumber++; + } + if (isset($originalcontent)) { $newcontent=$originalcontent; if ($fixbroken) { $contentpost=new DOMDocument(); @@ -106,10 +125,25 @@ if ($subdir) chdir ($subdir); $imageTags=$contentpost->getElementsByTagName('img'); for ($i = $imageTags->length; --$i >= 0; ) { // http://php.net/manual/class.domnodelist.php#83390 $tag = $imageTags->item($i); - $imgsrctag=$tag->getAttribute('src'); + if ($ahrefparents) { + $aofimg=$contentpost->importNode($tag->parentNode, true); + if (isset($aofimg)) { + $ahreofimg=$aofimg->getAttribute('href'); + if ($ahreofimg=="") $ahreofimg=$tag->getAttribute('src'); + $imgsrctag=$ahreofimg; + } + } else $imgsrctag=$tag->getAttribute('src'); $parsedimgsrctag=parse_url($imgsrctag); if ((!empty($parsedimgsrctag['host'])&&!empty($parsedimgsrctag['path']))&&(($parsedimgsrctag['scheme']=="http")||($parsedimgsrctag ['scheme']=="https"))&&(!($parsedimgsrctag['host']==$servername))) { - $newimgsrc=DownloadFopen($imgsrctag); + if ($webarchived) { + $parsedimgsrctagarch=parse_url($tag->getAttribute('src')); + if ($parsedimgsrctagarch['host']==$webarchived) { + $webarchivelink="https://web.archive.org/web/20200101id_/".$tag->getAttribute('src'); + $newimgsrc=DownloadFopen($webarchivelink); + } else + $newimgsrc=DownloadFopen($imgsrctag); + } else + $newimgsrc=DownloadFopen($imgsrctag); if ($newimgsrc) { if ($htmlprefix=="http") { $srcbase="http://".$servername."/".$dirname."/"; @@ -120,7 +154,7 @@ if ($subdir) chdir ($subdir); } if ($subdir) $srcbase=$srcbase.rawurlencode($subdir)."/"; $newimgsrc=$srcbase.$newimgsrc; - $newcontent=str_replace($imgsrctag,$newimgsrc,$newcontent); + $newcontent=str_replace($tag->getAttribute('src'),$newimgsrc,$newcontent); unset($newimgsrc); $updatedurls++; SaveStatus ($totalstatus,$rawsedit,$updatedurls,$failedtoupdate,$deletedurls,$execdir); @@ -138,9 +172,10 @@ if ($subdir) chdir ($subdir); $rawsedit++; SaveStatus ($totalstatus,$rawsedit,$updatedurls,$failedtoupdate,$deletedurls,$execdir); } - $totalstatus="finished"; - SaveStatus ($totalstatus,$rawsedit,$updatedurls,$failedtoupdate,$deletedurls,$execdir); - echo $updatedurls," urls was downloaded and updated, ",$failedtoupdate," urls was failed to update","
\n"; - if ($fixbroken or $fixundownload) echo $deletedurls, " tags was deleted
\n"; +} +$totalstatus="finished"; +SaveStatus ($totalstatus,$rawsedit,$updatedurls,$failedtoupdate,$deletedurls,$execdir); +echo $updatedurls," urls was downloaded and updated, ",$failedtoupdate," urls was failed to update","
\n"; +if ($fixbroken or $fixundownload) echo $deletedurls, " tags was deleted
\n"; -?> \ No newline at end of file +?> diff --git a/index.php b/index.php index 2e65d1d..3f169b8 100644 --- a/index.php +++ b/index.php @@ -1,7 +1,8 @@ \n"; $_SESSION["subdir"]="images"; echo "
\n"; echo " database host:
\n"; - echo " database user:
\n"; + echo " database user:
\n"; echo " database pass:
\n"; - echo " database name:
\n"; + echo " database name:
\n"; echo " type template:
\n"; - echo " Column name:
\n"; - echo " Content directory: ~/
\n"; + echo " Column name:
\n"; + echo " Content directory: ~/
\n"; + echo " Filter column:
\n"; + echo " Filter column:
\n"; + echo " Filter column value:
\n"; + echo " (F.e. to filter posts from drafts and attachments in Wordpress6+)
\n"; echo " \n"; echo "
\n"; if ($_SESSION["error"]) echo $_SESSION["error"],"
\n"; } -// Third wizard-page +// Third wizard-page view if ($_SESSION["step"]==2) { echo "STEP 3: check data:
\n"; $postnumber=0; + $filteredpostnumber=0; $totalimagenumber=0; $_SESSION["correctimagenumber"]=0; $_SESSION["alreadyimagenumber"]=0; @@ -66,21 +73,47 @@ function PageView() { mysqli_set_charset($dbconnection,'utf8'); $resulttable=mysqli_query($dbconnection,"SELECT * FROM ".$_SESSION["dbtable"]); $resultrows=mysqli_num_rows($resulttable); + if (!empty($_SESSION["IDcolumn"])) + $_SESSION["imgsrcsID"]=array(); $_SESSION["imgsrcs"]=array(); -// Checking table - while($row=mysqli_fetch_assoc($resulttable)){ + $_SESSION["imgsrcahrefs"]=array(); +// -- Checking table + while($row=mysqli_fetch_assoc($resulttable)) { $contentpost=new DOMDocument(); - $contentpost->loadHTML($row[$_SESSION["dbcolumn"]]); + if (!empty($_SESSION["filtcolumn"]) && !empty($_SESSION["filtvalue"])) { + if ($row[$_SESSION["filtcolumn"]] == $_SESSION["filtvalue"]) { + if (!empty($row[$_SESSION["dbcolumn"]])) + $contentpost->loadHTML($row[$_SESSION["dbcolumn"]]); + $filteredpostnumber++; + } + } else { + if (!empty($row[$_SESSION["dbcolumn"]])) + $contentpost->loadHTML($row[$_SESSION["dbcolumn"]]); + $filteredpostnumber++; + } $imageTags=$contentpost->getElementsByTagName('img'); + $ahrefImageTags=$imageTags; $imagenumberinpost=0; foreach($imageTags as $tag) { $imagenumberinpost++; $totalimagenumber++; + if (!empty($_SESSION["IDcolumn"])) + $_SESSION["imgsrcsID"][$postnumber]=$row[$_SESSION["IDcolumn"]]; $_SESSION["imgsrcs"][$postnumber][$imagenumberinpost]=$tag->getAttribute('src'); + $aofimg=$contentpost->importNode($tag->parentNode, true); + if (isset($aofimg)) { + $ahreofimg=$aofimg->getAttribute('href'); + if ($ahreofimg=="") $ahreofimg=$tag->getAttribute('src'); + $_SESSION["imgsrcahrefs"][$postnumber][$imagenumberinpost]=$ahreofimg; + } + else + $_SESSION["imgsrcahrefs"][$postnumber][$imagenumberinpost]=$tag->getAttribute('src'); $testurl=parse_url($_SESSION["imgsrcs"][$postnumber][$imagenumberinpost]); - if ((!empty($testurl['host'])&&!empty($testurl['path']))&&(($testurl['scheme']=="http")||($testurl ['scheme']=="https"))&&(!($testurl['host']==$_SERVER['SERVER_NAME']))) $_SESSION["correctimagenumber"]++; - else if ($testurl['host']==$_SERVER['SERVER_NAME']) $_SESSION["alreadyimagenumber"]++; - else $_SESSION["brokenimagenumber"]++; + if ((!empty($testurl['host'])&&!empty($testurl['path']))&&(($testurl['scheme']=="http")||($testurl ['scheme']=="https"))&&(!($testurl['host']==$_SERVER['SERVER_NAME']))) + $_SESSION["correctimagenumber"]++; + else if (isset($testurl['host']) && ($testurl['host']==$_SERVER['SERVER_NAME'])) + $_SESSION["alreadyimagenumber"]++; + else $_SESSION["brokenimagenumber"]++; } $postnumber++; } @@ -89,6 +122,7 @@ function PageView() { echo " ",getcwd(),"/ (leave blank if you don't need subdir)
\n"; echo " type of html-prefix:
\n"; echo " http://
\n"; echo " without prefix and domain name
\n"; echo " type of download:
\n"; echo " file_put_contents
\n"; echo " curl
\n"; + echo " disabled"; // unsupported yet + echo ">curl [unsupported yet]
\n"; echo " wget
\n"; + echo " disabled"; // unsupported yet + echo ">wget [unsupported yet]
\n"; echo " number of rows in table: $resultrows
\n"; + echo " filtered rows: $filteredpostnumber
\n"; echo " number of rows with imgsrc tags: ",count($_SESSION["imgsrcs"]),"
\n"; echo " total number of img src tags: $totalimagenumber
\n"; echo " broken image links: ",$_SESSION["brokenimagenumber"],"
\n"; echo " already downloaded image links: ",$_SESSION["alreadyimagenumber"],"
\n"; echo " correct external image links for download: ",$_SESSION["correctimagenumber"],"
\n"; - echo " download parent a hrefs if exists?
\n"; + echo "Domain for webarchive download: (leave blank if you don't need to download images from webarchive)
\n"; + echo " delete broken tags?
\n"; - echo " remove undownloadble tags?
\n"; - echo " fix prefix to already downloaded tags?
\n"; + echo " disabled"; // unsupported yet + echo ">fix prefix to already downloaded tags? [unsupported yet]
\n"; echo " \n"; echo "\n"; if ($_SESSION["error"]) echo $_SESSION["error"],"
\n"; @@ -132,19 +176,31 @@ function PageView() { if ($_SESSION["details"]=="step2") { echo "green links will be try to downloaded, yellow (already downloaded) and red (broken) - not:
\n"; foreach ($_SESSION["imgsrcs"] as $postnum=>$postimgs) { - echo ($postnum+1),":
\n"; - foreach ($postimgs as $imgs) { + echo ($postnum+1); + if (!empty($_SESSION["IDcolumn"])) + echo " (ID ", $_SESSION["imgsrcsID"][$postnum],")"; + echo ":
\n"; + foreach ($postimgs as $imgnum=>$imgs) { $testurl=parse_url($imgs); if ((!empty($testurl['host'])&&!empty($testurl['path']))&&(($testurl['scheme']=="http")||($testurl ['scheme']=="https"))&&(!($testurl['host']==$_SERVER['SERVER_NAME']))) echo " "; - else if ($testurl['host']==$_SERVER['SERVER_NAME']) echo " "; - else echo " "; - echo $imgs,"
\n"; + else if (isset($testurl['host']) && ($testurl['host']==$_SERVER['SERVER_NAME'])) + echo " "; + else echo " "; + echo $imgs,", ("; + if ($_SESSION["imgsrcahrefs"][$postnum][$imgnum]==$_SESSION["imgsrcs"][$postnum][$imgnum]) + echo ""; + else echo ""; + echo $_SESSION["imgsrcahrefs"][$postnum][$imgnum]; + if ($_SESSION["imgsrcahrefs"][$postnum][$imgnum]==$_SESSION["imgsrcs"][$postnum][$imgnum]) + echo ""; + else echo ""; + echo ")
\n"; } echo "
\n"; } } } -// Approve page +// Approve page view if ($_SESSION["step"]==3) { echo "STEP 4: approve processing:
\n"; echo "
\n"; @@ -158,77 +214,90 @@ function PageView() { if ($_SESSION["subdir"]) echo "/",$_SESSION["subdir"]; echo "/
\n"; } - if ($_SESSION["fixbroken"]) echo $_SESSION["brokenimagenumber"]," tags will be deleted
\n"; + if ($_SESSION["ahrefparents"]) + echo "parent a hrefs will be downloaded (if exists)
\n"; + if ($_SESSION["webarchived"]) + echo "this domain will be downloaded via webarchive: ", $_SESSION["webarchived"], "
\n"; + if ($_SESSION["fixbroken"]) + echo $_SESSION["brokenimagenumber"]," tags will be deleted
\n"; echo " are you sure to proceed?
\n"; echo " \n"; echo "
\n"; } -// Start page +// Start page view if ($_SESSION["step"]==4) { $_SESSION["error"]=""; echo "RESULT:
\n"; if ($_SESSION["subdir"]) { - mkdir($_SESSION["subdir"]); - if (!chdir($_SESSION["subdir"])) $_SESSION["error"]="error to apperate with new directory"; + if (!is_dir($_SESSION["subdir"])) + mkdir($_SESSION["subdir"]); + if (!chdir($_SESSION["subdir"])) + $_SESSION["error"]="can't to operate with new directory"; } else { - if (mkdir ("testimuploaddir")) rmdir("testimuploaddir"); - else $_SESSION["error"]="error to apperate with directory, check privilegies"; + if (mkdir ("testimuploaddir")) + rmdir("testimuploaddir"); + else $_SESSION["error"]="can't to operate with directory, check privilegies"; + } + if ($_SESSION["error"]) + echo $_SESSION["error"]."
\n"; + else { + chdir(__DIR__); + $csvsessiondata[]=$_SESSION["dbhost"]; + $csvsessiondata[]=$_SESSION["dbuser"]; + $csvsessiondata[]=$_SESSION["dbpass"]; + $csvsessiondata[]=$_SESSION["dbname"]; + $csvsessiondata[]=$_SESSION["dbtable"]; + $csvsessiondata[]=$_SESSION["dbcolumn"]; + $csvsessiondata[]=$_SERVER['SERVER_NAME']; + $csvsessiondata[]=$_SESSION["fixbroken"]; + $csvsessiondata[]=$_SESSION["dirname"]; + $csvsessiondata[]=$_SESSION["subdir"]; + $csvsessiondata[]=$_SESSION["downloadtype"]; + $csvsessiondata[]=$_SESSION["htmlprefix"]; + $csvsessiondata[]=$_SESSION["fixalready"]; + $csvsessiondata[]=$_SESSION["fixundownload"]; + $csvsessiondata[]=$_SESSION["correctimagenumber"]; + $csvsessiondata[]=$_SESSION["filtcolumn"]; + $csvsessiondata[]=$_SESSION["filtvalue"]; + $csvsessiondata[]=$_SESSION["ahrefparents"]; + $csvsessiondata[]=$_SESSION["webarchived"]; + $fhandle=fopen("indata.csv","w"); + fputcsv($fhandle,$csvsessiondata); + fclose($fhandle); + exec("php -q exec.php < /dev/null > exec.log &"); + echo "Process started, it's take some time. Please press Details for check status
\n"; } - if ($_SESSION["error"]) echo $_SESSION["error"]."
\n"; - else { - chdir(__DIR__); - $csvsessiondata[]=$_SESSION["dbhost"]; - $csvsessiondata[]=$_SESSION["dbuser"]; - $csvsessiondata[]=$_SESSION["dbpass"]; - $csvsessiondata[]=$_SESSION["dbname"]; - $csvsessiondata[]=$_SESSION["dbtable"]; - $csvsessiondata[]=$_SESSION["dbcolumn"]; - $csvsessiondata[]=$_SERVER['SERVER_NAME']; - $csvsessiondata[]=$_SESSION["fixbroken"]; - $csvsessiondata[]=$_SESSION["dirname"]; - $csvsessiondata[]=$_SESSION["subdir"]; - $csvsessiondata[]=$_SESSION["downloadtype"]; - $csvsessiondata[]=$_SESSION["htmlprefix"]; - $csvsessiondata[]=$_SESSION["fixalready"]; - $csvsessiondata[]=$_SESSION["fixundownload"]; - $csvsessiondata[]=$_SESSION["correctimagenumber"]; - $fhandle=fopen("indata.csv","w"); - fputcsv($fhandle,$csvsessiondata); - fclose($fhandle); - exec("php -q exec.php < /dev/null > exec.log &"); - echo "Process started, it's take some time. Please press Details for check status
\n"; - } echo "
\n"; echo " \n"; echo "
\n"; } -// Result page -if ($_SESSION["step"]==5) { - echo "RESULT:
\n"; - if (file_exists("outdata.csv")) - { - $fhandle=fopen("outdata.csv","r"); - $outdatacsv=fgetcsv($fhandle, 1024, ","); - fclose($fhandle); - $rawsedit=$outdatacsv[0]; - $updatedurls=$outdatacsv[1]; - $failedtoupdate=$outdatacsv[2]; - $deletedurls=$outdatacsv[3]; - echo "raws edited: ",$rawsedit,", urldecode downloaded: ",$updatedurls,", failed to download: ",$failedtoupdate,", deleted tags: ",$deletedurls,"
\n"; - } else { +// Result page view + if ($_SESSION["step"]==5) { + echo "RESULT:
\n"; + if (file_exists("outdata.csv")) { + $fhandle=fopen("outdata.csv","r"); + $outdatacsv=fgetcsv($fhandle, 1024, ","); + fclose($fhandle); + $rawsedit=$outdatacsv[0]; + $updatedurls=$outdatacsv[1]; + $failedtoupdate=$outdatacsv[2]; + $deletedurls=$outdatacsv[3]; + echo "raws edited: ",$rawsedit,", urldecode downloaded: ",$updatedurls,", failed to download: ",$failedtoupdate,", deleted tags: ",$deletedurls,"
\n"; + } else echo "no results
\n"; + if (file_exists("exec.log")) { $logexec=file_get_contents("exec.log"); echo $logexec; - } + } else echo "no log
\n"; echo "
\n"; echo " \n"; echo "
\n"; } } +// First wizard-page handler $_SESSION["step"]=0; $_SESSION["error"]=""; $_SESSION["details"]=""; - - if ($_POST["next0"]) { + if (isset($_POST["next0"])) { $_SESSION["dbhost"]=$_POST["dbhost"]; $_SESSION["dbuser"]=$_POST["dbuser"]; $_SESSION["dbpass"]=$_POST["dbpass"]; @@ -239,33 +308,46 @@ if ($_SESSION["step"]==5) { if (!$dbconnection) { $_SESSION["step"]=0; $_SESSION["error"]="dbconnection"; - } if ($_SESSION["template"]=="Wordpress") { + } + if ($_SESSION["template"]=="Wordpress") { $_SESSION["dbtable"]="wp_posts"; $_SESSION["dbcolumn"]="post_content"; $_SESSION["dirname"]="wp-content/uploads"; - } if ($_SESSION["template"]=="Joomla") { + $_SESSION["IDcolumn"]="ID"; + $_SESSION["filtcolumn"]="post_type"; + $_SESSION["filtvalue"]="post"; + } + if ($_SESSION["template"]=="Joomla") { $_SESSION["dbtable"]="prefix_content"; $_SESSION["dbcolumn"]="fulltext"; $_SESSION["dirname"]="images/stories"; - } if ($_SESSION["template"]=="Drupal") { + } + if ($_SESSION["template"]=="Drupal") { $_SESSION["dbtable"]="field_data_body"; $_SESSION["dbcolumn"]="body_value"; $_SESSION["dirname"]="sites/default/files"; - } if (!$_POST["dbname"]) { + } + if (!$_POST["dbname"]) { $_SESSION["step"]=0; $_SESSION["error"]="dbconnectionname"; } } - - if ($_POST["prev1"]) { +// Second wizard-page handler + if (isset($_POST["prev1"])) { $_SESSION["dbtable"]=$_POST["dbtable"]; $_SESSION["dbcolumn"]=$_POST["dbcolumn"]; $_SESSION["dirname"]=$_POST["dirname"]; + $_SESSION["IDcolumn"]=$_POST["IDcolumn"]; + $_SESSION["filtcolumn"]=$_POST["filtcolumn"]; + $_SESSION["filtvalue"]=$_POST["filtvalue"]; $_SESSION["step"]=0; - } if ($_POST["next1"]) { + } if (isset($_POST["next1"])) { $_SESSION["dbtable"]=$_POST["dbtable"]; $_SESSION["dbcolumn"]=$_POST["dbcolumn"]; $_SESSION["dirname"]=$_POST["dirname"]; + $_SESSION["IDcolumn"]=$_POST["IDcolumn"]; + $_SESSION["filtcolumn"]=$_POST["filtcolumn"]; + $_SESSION["filtvalue"]=$_POST["filtvalue"]; $dbconnection=mysqli_connect($_SESSION["dbhost"],$_SESSION["dbuser"],$_SESSION["dbpass"],$_SESSION["dbname"]); $columns=mysqli_query($dbconnection, "SHOW COLUMNS FROM ".$_SESSION["dbtable"]); if (!$columns) { @@ -274,54 +356,86 @@ if ($_SESSION["step"]==5) { } if (mysqli_num_rows($columns)>0) { $_SESSION["error"]="Column not found"; - while ($row = mysqli_fetch_assoc($columns)) if ($row[Field]==$_SESSION["dbcolumn"]) $_SESSION["error"]=""; + while ($row = mysqli_fetch_assoc($columns)) if ($row['Field']==$_SESSION["dbcolumn"]) $_SESSION["error"]=""; } else $_SESSION["error"]="Table is empty or not exists"; $uploadsdir=chdir("../".$_SESSION["dirname"]); - if ($uploadsdir) { if (!is_writeable(getcwd())) $_SESSION["error"]="Cant write to directory, check previlegies"; } - else $_SESSION["error"]="Cant open directory"; - if (!$_SESSION["error"]) $_SESSION["step"]=2; - else $_SESSION["step"]=1; + if ($uploadsdir) { + if (!is_writeable(getcwd())) $_SESSION["error"]="Cant write to directory, check previlegies"; + } else $_SESSION["error"]="Cant open directory"; + if (!$_SESSION["error"]) + $_SESSION["step"]=2; + else $_SESSION["step"]=1; } - - if ($_POST["prev2"]) { +// Third wizard-page handler + if (isset($_POST["prev2"])) { $_SESSION["step"]=1; $_SESSION["subdir"]=$_POST["subdir"]; - } if ($_POST["deta2"]) { + } + if (isset($_POST["deta2"])) { $_SESSION["details"]="step2"; $_SESSION["step"]=2; $_SESSION["subdir"]=$_POST["subdir"]; $_SESSION["htmlprefix"]=$_POST["htmlprefix"]; $_SESSION["downloadtype"]=$_POST["dwnldtype"]; - $_SESSION["fixbroken"]=$_POST["fixbroken"]; - $_SESSION["fixundownload"]=$_POST["fixundownload"]; - $_SESSION["fixalready"]=$_POST["fixalready"]; + if (isset($_POST['ahrefparents']) && ($_POST['ahrefparents'] == 'yes')) + $_SESSION["ahrefparents"]=true; + else $_SESSION["ahrefparents"]=false; + if (isset($_POST['webarchived'])) + $_SESSION["webarchived"]=$_POST["webarchived"]; + else $_SESSION["webarchived"]=false; + if (isset($_POST['fixbroken']) && ($_POST['fixbroken'] == 'yes')) + $_SESSION["fixbroken"]=true; + else $_SESSION["fixbroken"]=false; + if (isset($_POST['fixundownload']) && ($_POST['fixundownload'] == 'yes')) + $_SESSION["fixundownload"]=true; + else $_SESSION["fixundownload"]=false; + if (isset($_POST['fixalready']) && ($_POST['fixalready'] == 'yes')) + $_SESSION["fixalready"]=true; + else $_SESSION["fixalready"]=false; $uploadsdir=chdir("../".$_SESSION["dirname"]); - } if ($_POST["next2"]) { + } + if (isset($_POST["next2"])) { $_SESSION["step"]=3; $_SESSION["subdir"]=$_POST["subdir"]; $_SESSION["htmlprefix"]=$_POST["htmlprefix"]; $_SESSION["downloadtype"]=$_POST["dwnldtype"]; - $_SESSION["fixbroken"]=$_POST["fixbroken"]; - $_SESSION["fixundownload"]=$_POST["fixundownload"]; - $_SESSION["fixalready"]=$_POST["fixalready"]; + if (isset($_POST['ahrefparents']) && ($_POST['ahrefparents'] == 'yes')) + $_SESSION["ahrefparents"]=true; + else $_SESSION["ahrefparents"]=false; + if (isset($_POST['webarchived'])) + $_SESSION["webarchived"]=$_POST["webarchived"]; + else $_SESSION["webarchived"]=false; + if (isset($_POST['fixbroken']) && ($_POST['fixbroken'] == 'yes')) + $_SESSION["fixbroken"]=true; + else $_SESSION["fixbroken"]=false; + if (isset($_POST['fixundownload']) && ($_POST['fixundownload'] == 'yes')) + $_SESSION["fixundownload"]=true; + else $_SESSION["fixundownload"]=false; + if (isset($_POST['fixalready']) && ($_POST['fixalready'] == 'yes')) + $_SESSION["fixalready"]=true; + else $_SESSION["fixalready"]=false; $uploadsdir=chdir("../".$_SESSION["dirname"]); - if ($_POST["fixbroken"]) { if (($_SESSION["correctimagenumber"]<1)&($_SESSION["brokenimagenumber"]<1)) $_SESSION["step"]=2; } - else if ($_SESSION["correctimagenumber"]<1) $_SESSION["step"]=2; + if (isset($_POST['fixbroken']) && ($_POST['fixbroken'] == 'yes')) { + if (($_SESSION["correctimagenumber"]<1)&($_SESSION["brokenimagenumber"]<1)) + $_SESSION["step"]=2; + } else if ($_SESSION["correctimagenumber"]<1) + $_SESSION["step"]=2; } - - if ($_POST["prev3"]) { +// Approve page handler + if (isset($_POST["prev3"])) { $_SESSION["step"]=2; $uploadsdir=chdir("../".$_SESSION["dirname"]); - } if ($_POST["next3"]) { + } + if (isset($_POST["next3"])) { $_SESSION["step"]=4; $uploadsdir=chdir("../".$_SESSION["dirname"]); } - - if ($_POST["deta4"]) { +// Start page handler + if (isset($_POST["deta4"])) { $_SESSION["step"]=5; -} - - if ($_POST["deta5"]) { + } +// Result page handler + if (isset($_POST["deta5"])) { $_SESSION["step"]=5; } @@ -334,4 +448,4 @@ if ($_SESSION["step"]==5) { - \ No newline at end of file +