svn: /web/doc-editor/trunk/php/ ExtJsController.php RepositoryManager.php

[email protected] (Yannick Torres)
Newsgroups php.doc.web
Message-ID <[email protected]>
yannick                                  Sat, 27 Feb 2010 08:13:16 +0000

Revision: http://svn.php.net/viewvc?view=revision&revision=295559

Log:
Fix bug #50665

Bug: http://bugs.php.net/50665 (Assigned) The translator grid on the dashboard is not updated
      
Changed paths:
    U   web/doc-editor/trunk/php/ExtJsController.php
    U   web/doc-editor/trunk/php/RepositoryManager.php

Modified: web/doc-editor/trunk/php/ExtJsController.php
===================================================================
--- web/doc-editor/trunk/php/ExtJsController.php	2010-02-27 08:10:46 UTC (rev 295558)
+++ web/doc-editor/trunk/php/ExtJsController.php	2010-02-27 08:13:16 UTC (rev 295559)
@@ -1005,6 +1005,7 @@
     public function vcsCommit()
     {
         $am = AccountManager::getInstance();
+        $rm = RepositoryManager::getInstance();

         $am->isLogged();

@@ -1025,7 +1026,7 @@

         if ($lock->lock()) {

-            $tmp = RepositoryManager::getInstance()->commitChanges($anode, $logMessage);
+            $tmp = $rm->commitChanges($anode, $logMessage);
             $commitResponse = $tmp['commitResponse'];
             $anode          = $tmp['anode'];

@@ -1064,10 +1065,10 @@
             if( !empty($existFiles) ) {

                 // Update revision & reviewed for all this files (LANG & EN)
-                RepositoryManager::getInstance()->updateFileInfo($existFiles);
+                $rm->updateFileInfo($existFiles);

                 // Remove all this files in needcommit
-                RepositoryManager::getInstance()->delPendingCommit($existFiles);
+                $rm->delPendingCommit($existFiles);

             } // End of $existFiles stuff

@@ -1075,10 +1076,10 @@
             if( !empty($deleteFiles) ) {

                 // Remove this files from the repository
-                RepositoryManager::getInstance()->delFiles($deleteFiles);
+                $rm->delFiles($deleteFiles);

                 // Remove all this files in needcommit
-                RepositoryManager::getInstance()->delPendingCommit($deleteFiles);
+                $rm->delPendingCommit($deleteFiles);

             } // End of $deleteFiles stuff

@@ -1087,6 +1088,7 @@

             // We re-compute summary statistics for the global documentation & by translators
             $lang = AccountManager::getInstance()->vcsLang;
+            $rm->updateTranslatorInfo();
             TranslationStatistic::getInstance()->computeSummary($lang);
             TranslatorStatistic::getInstance()->computeSummary($lang);
         }

Modified: web/doc-editor/trunk/php/RepositoryManager.php
===================================================================
--- web/doc-editor/trunk/php/RepositoryManager.php	2010-02-27 08:10:46 UTC (rev 295558)
+++ web/doc-editor/trunk/php/RepositoryManager.php	2010-02-27 08:13:16 UTC (rev 295559)
@@ -909,6 +909,7 @@
     public function updateTranslatorInfo()
     {
         $ExistingLanguage = $this->getExistingLanguage();
+        $db = DBConnection::getInstance();

         foreach ($ExistingLanguage as $lang) {

@@ -948,18 +949,27 @@

                         $person = array_merge($default, $person);

+                        // We try to remove this record if it exist
                         $query = sprintf(
+                            'DELETE FROM `translators` WHERE `project`="%s" AND `lang`="%s" AND `nick`="%s"',
+                            AccountManager::getInstance()->project,
+                            $lang,
+                            $db->real_escape_string($person['nick'])
+                        );
+                        $db->query($query);
+
+                        $query = sprintf(
                             'INSERT INTO `translators` (`project`, `lang`, `nick`, `name`, `mail`, `vcs`, `editor`)
                              VALUES ("%s", "%s", "%s", "%s", "%s", "%s", "%s")',
                             AccountManager::getInstance()->project,
                             $lang,
-                            DBConnection::getInstance()->real_escape_string($person['nick']),
-                            DBConnection::getInstance()->real_escape_string($name),
-                            DBConnection::getInstance()->real_escape_string($person['email']),
-                            DBConnection::getInstance()->real_escape_string($person['vcs']),
-                            DBConnection::getInstance()->real_escape_string($person['editor'])
+                            $db->real_escape_string($person['nick']),
+                            $db->real_escape_string($name),
+                            $db->real_escape_string($person['email']),
+                            $db->real_escape_string($person['vcs']),
+                            $db->real_escape_string($person['editor'])
                         );
-                        DBConnection::getInstance()->query($query);
+                        $db->query($query);

                     }
                 }
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.