Commit:    1a3747fd3ece3af1770534fd2165102c33a03dab
Author:    Stephen Zarkos <[email protected]>         Thu, 28 Feb 
2013 16:20:23 -0800
Parents:   7649f91593e216cf7eda35c66e7cc13267066d9a
Branches:  master

Link:       
http://git.php.net/?p=web/rmtools.git;a=commitdiff;h=1a3747fd3ece3af1770534fd2165102c33a03dab

Log:
More VC11 support and improve FTP uploads

Changed paths:
  M  client/include/Branch.php
  M  client/include/Tools.php
  M  client/script/snap.php


Diff:
diff --git a/client/include/Branch.php b/client/include/Branch.php
index f9827e6..edd95f3 100644
--- a/client/include/Branch.php
+++ b/client/include/Branch.php
@@ -52,7 +52,7 @@ class Branch {
 
        public function update()
        {
-               $last_id =  $this->repo->getLastCommitId();
+               $last_id = $this->repo->getLastCommitId();
                if (strcasecmp($last_id, (string)$this->data->revision_last) != 
0 ||
                                strcasecmp($last_id, 
$this->data->revision_previous) != 0) {
                        $this->data->revision_previous = 
$this->data->revision_last;
@@ -158,6 +158,7 @@ class Branch {
 
                $compiler       = strtolower($build['compiler']);
                switch ($compiler) {
+                       case 'vc11':
                        case 'vc9':
                        case 'vc6':
                                $build = new BuildVC($this, $build_name);
diff --git a/client/include/Tools.php b/client/include/Tools.php
index 99ad895..765a339 100644
--- a/client/include/Tools.php
+++ b/client/include/Tools.php
@@ -125,6 +125,31 @@ function upload_file($src, $target)
        return $res;
 }
 
+function upload_file_curl($src, $target) // SAZ - Like upload_file(), but 
using curl
+{
+       include 'C:/php-sdk/rmtools-client/data/config/credentials_ftps.php';
+       $ftp_user = $user_snaps;
+       $ftp_password = $password;
+
+       $filename = basename($src);
+       $remoteurl = 
"ftps://${ftp_user}:${ftp_password}@${ftp_server}/${target}/${filename}";
+       $fp = fopen($src, "rb");
+
+       $ch = curl_init();
+       curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
+       curl_setopt($ch, CURLOPT_URL, $remoteurl);
+       curl_setopt($ch, CURLOPT_UPLOAD, 1);
+       curl_setopt($ch, CURLOPT_INFILE, $fp);
+       curl_setopt($ch, CURLOPT_USERPWD, $ftp_user . ':' . $ftp_password);
+       if (curl_exec($ch) === false)  {
+               echo "Error, upload_file_curl(): " . curl_error($ch) . "\n";
+               return false;
+       }
+       fclose($fp);
+
+       return true;
+}
+
 function update_snapshot_page()
 {
        include __DIR__ . '/../data/config/credentials_ftps.php';
@@ -152,7 +177,12 @@ function upload_build_result_ftp_curl($src_dir, $target)
        if (!$login_result) {
                return false;
        }
-    ftp_make_directory($ftp, $target. '/logs');
+       
+       $try = 0;
+       do {
+               $status = ftp_make_directory($ftp, $target. '/logs');
+               $try++;
+       } while ( $status === false && $try < 10 );
        ftp_close($ftp);
 
        $curl = array();
@@ -203,9 +233,24 @@ function upload_build_result_ftp_curl($src_dir, $target)
                \curl_multi_add_handle ($mh, $ch);
        }
 
+       $retry = 0;
        do {
-               \curl_multi_exec($mh,$active);
-       } while ($active);
+               $err = 0;
+               do {
+                       \curl_multi_exec($mh,$active);
+                       $info = curl_multi_info_read($mh);
+                       if ($info !== false) {
+                               curl_multi_remove_handle($mh, $info['handle']);
+                               if ($info['result'] != 0)  {
+                                       $err = 1;
+//                                     echo curl_getinfo($info['handle'], 
CURLINFO_EFFECTIVE_URL) . "\n";
+//                                     echo curl_error($info['handle']) . 
"\n\n";
+                                       curl_multi_add_handle($mh, 
$info['handle']);
+                               }
+                       }
+               } while ($active);
+               $retry++;
+       } while ($err != 0 && $retry < 10);
 
        foreach ($curl as $ch) {
                \curl_multi_remove_handle($mh, $ch);
diff --git a/client/script/snap.php b/client/script/snap.php
index e3ab250..ee0bcbb 100644
--- a/client/script/snap.php
+++ b/client/script/snap.php
@@ -188,13 +188,17 @@ if (!$new_rev) {
 }
 
 /*Upload the branch DB */
-rm\upload_file($branch->db_path, $branch_name . '/' . 
basename($branch->db_path));
-
-if ($has_build_errors) {
-       rm\send_error_notification($branch_name, $build_errors, 
$branch->getPreviousRevision(), $last_rev, 
'http://windows.php.net/downloads/snaps/' . $branch_name . '/r' . $last_rev);
-} else {
+$try = 0;
+do {
+       $status = rm\upload_file_curl($branch->db_path, $branch_name . '/' . 
basename($branch->db_path));
+       $try++;
+} while ( $status === false && $try < 10 );
+
+//if ($has_build_errors) {
+//     rm\send_error_notification($branch_name, $build_errors, 
$branch->getPreviousRevision(), $last_rev, 
'http://windows.php.net/downloads/snaps/' . $branch_name . '/r' . $last_rev);
+//} else {
        /* if no error, let update the snapshot page */
 //     rm\update_snapshot_page();
-}
+//}
 
 echo "Done.\n";


--
PHP Webmaster List Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to