Пример #1
0
 /**
  * @throws Docman_FolderNotCreatedException
  */
 private function createFolderWithRightAccessRights($folder_path, $project_unix_name)
 {
     if (!mkdir($folder_path)) {
         throw new Docman_FolderNotCreatedException("Folder {$folder_path} not created");
     }
     $user = ForgeConfig::get('sys_http_user');
     $this->backend->changeOwnerGroupMode($folder_path, $user, $user, 0700);
     $this->logger->info("Docman root folder for project {$project_unix_name} created");
 }
Пример #2
0
 public function itAddsTheLevelToTheLogMessage()
 {
     $this->logger->info('toto tata');
     $this->assertPattern('/\\[info\\] toto tata/', file_get_contents($this->log_file));
     $this->logger->debug('hej min van');
     $this->assertPattern('/\\[debug\\] hej min van/', file_get_contents($this->log_file));
     $this->logger->warn('au dodo');
     $this->assertPattern('/\\[warning\\] au dodo/', file_get_contents($this->log_file));
     $this->logger->error('arrete!');
     $this->assertPattern('/\\[error\\] arrete!/', file_get_contents($this->log_file));
 }
 public function activateMLEBForCompatibleProjects(BackendLogger $logger)
 {
     foreach ($this->getProjectsEligibleToMLEBExtensionActivation() as $project) {
         if ($this->activateMLEBForProject($project)) {
             $project_id = $project->getID();
             $logger->info("Activated MLEB extension for project {$project_id}");
         }
     }
 }
 /**
  * Process nightly job to send reminders
  *
  * @return Void
  */
 public function process()
 {
     $logger = new BackendLogger();
     if ($this->tracker->stop_notification == 0) {
         $remiderFactory = $this->getDateReminderRenderer()->getDateReminderFactory();
         $reminders = $remiderFactory->getTrackerReminders(false);
         foreach ($reminders as $reminder) {
             $logger->debug("[TDR] Processing reminder on " . $reminder->getField()->getName() . " (id: " . $reminder->getId() . ")");
             $artifacts = $this->getArtifactsByreminder($reminder);
             if (count($artifacts) == 0) {
                 $logger->debug("[TDR] No artifact match");
             }
             foreach ($artifacts as $artifact) {
                 $logger->debug("[TDR] Artifact #" . $artifact->getId() . " match");
                 $this->sendReminderNotification($reminder, $artifact);
             }
         }
     } else {
         $logger->info("[TDR] Notifications are suspended");
     }
 }
Пример #5
0
 private function createDatabase($mediawiki_path)
 {
     $schema = strtr('plugin_mediawiki_' . $this->project_id, '-', '_');
     $table_file = $mediawiki_path . '/maintenance/tables.sql';
     $main_db = ForgeConfig::get('sys_dbname');
     db_query('START TRANSACTION;');
     try {
         $this->logger->info('Creating schema ' . $schema);
         $create_db = db_query_params('CREATE SCHEMA ' . $schema, array());
         if (!$create_db) {
             throw new Exception('Error: Schema Creation Failed: ' . db_error());
         }
         $this->logger->info('Updating mediawiki database.');
         if (!file_exists($table_file)) {
             throw new Exception('Error: Couldn\'t find Mediawiki Database Creation File ' . $table_file);
         }
         $this->logger->info('Using schema: ' . $schema);
         $use_new_schema = db_query('USE ' . $schema);
         if (!$use_new_schema) {
             throw new Exception('Error: DB Query Failed: ' . db_error());
         }
         $this->logger->info('Running db_query_from_file(' . $table_file . ')');
         $add_tables = db_query_from_file($table_file);
         if (!$add_tables) {
             throw new Exception('Error: Mediawiki Database Creation Failed: ' . db_error());
         }
         $this->logger->info('Updating list of mediawiki databases (' . $schema . ')');
         db_query('USE ' . $main_db);
         $update = $this->dao->addDatabase($schema, $this->project_id);
         if (!$update) {
             throw new Exception('Error: Mediawiki Database list update failed: ' . mysql_error());
         }
     } catch (Exception $e) {
         db_query('ROLLBACK;');
         $this->logger->error($e->getMessage());
     }
     db_query('COMMIT;');
     $this->logger->info('Using schema: ' . $main_db);
     db_query('USE ' . $main_db);
 }
Пример #6
0
 /**
  * Check that threshold is upper then percentage of users that will be suspended
  *
  * @param int $nbr_users_to_suspend
  * @param int $nbr_all_users
  *
  * @return Boolean
  *
  */
 public function checkThreshold($nbr_users_to_suspend, $nbr_all_users)
 {
     if ($nbr_users_to_suspend == 0 || $nbr_all_users == 0) {
         return true;
     }
     $percentage_users_to_suspend = $nbr_users_to_suspend / $nbr_all_users * 100;
     $threshold_users_suspension = $this->ldap->getLDAPParam('threshold_users_suspension');
     $logger = new BackendLogger();
     if ($percentage_users_to_suspend <= $threshold_users_suspension) {
         $logger->info("[LDAP] Percentage of suspended users is ( " . $percentage_users_to_suspend . "% ) and threshold is ( " . $threshold_users_suspension . "% )");
         $logger->info("[LDAP] Number of suspended users is ( " . $nbr_users_to_suspend . " ) and number of active users is ( " . $nbr_all_users . " )");
         return true;
     } else {
         $logger->warn("[LDAP] Users not suspended: the percentage of users to suspend is ( " . $percentage_users_to_suspend . "% ) higher then threshold ( " . $threshold_users_suspension . "% )");
         $logger->warn("[LDAP] Number of users not suspended is ( " . $nbr_users_to_suspend . " ) and number of active users is ( " . $nbr_all_users . " )");
         return false;
     }
 }
Пример #7
0
 /**
  * @return Tracker (only the structure)
  */
 public function createTV5FromTV3(Project $project, $name, $description, $itemname, ArtifactType $tv3)
 {
     $dao = new Tracker_Migration_V3_Dao();
     $logger = new BackendLogger(ForgeConfig::get('codendi_log') . '/' . Tracker_Migration_MigrationManager::LOG_FILE);
     $log_prefix = '[' . uniqid() . ']';
     $logger->info("{$log_prefix} Start migration of tracker v3: " . $tv3->getID());
     // 010 & 020
     if ($id = $dao->create($project->getId(), $name, $description, $itemname, $tv3->getID())) {
         $logger->info("{$log_prefix} Tracker v5: " . $id);
         $logger->info("{$log_prefix} 030 Fieldset");
         $fieldset_dao = new Tracker_Migration_V3_FieldsetsDao();
         $fieldset_dao->create($tv3->getID(), $id);
         $logger->info("{$log_prefix} 040 Fields");
         $field_dao = new Tracker_Migration_V3_FieldsDao();
         $field_dao->create($tv3->getID(), $id);
         $logger->info("{$log_prefix} 045 & 046 Fields Default Values");
         $fields_default_values_dao = new Tracker_Migration_V3_FieldsDefaultValuesDao();
         $fields_default_values_dao->create($tv3->getID(), $id);
         $logger->info("{$log_prefix} 050 Reports");
         $reports_dao = new Tracker_Migration_V3_ReportsDao();
         $reports_dao->create($tv3->getID(), $id, $project->getId());
         $logger->info("{$log_prefix} 060 RenderersTable");
         $renderers_table_dao = new Tracker_Migration_V3_RenderersTableDao();
         $renderers_table_dao->create($tv3->getID(), $id);
         $logger->info("{$log_prefix} 070 RenderersGraph");
         $renderers_graph_dao = new Tracker_Migration_V3_RenderersGraphDao();
         $renderers_graph_dao->create($tv3->getID(), $id);
         $logger->info("{$log_prefix} 075 PermissionsOnArtifactField");
         $perms_on_artifact_dao = new Tracker_Migration_V3_PermissionsOnArtifactFieldDao();
         $perms_on_artifact_dao->addPermissionsOnArtifactField($id);
         $logger->info("{$log_prefix} 080 AttachmentField");
         $attachment_field_dao = new Tracker_Migration_V3_AttachmentFieldDao();
         $attachment_field_dao->addAttachmentField($id);
         $logger->info("{$log_prefix} 085 ReferenceField");
         $reference_dao = new Tracker_Migration_V3_ReferenceFieldDao();
         $reference_dao->addReferenceField($id);
         $logger->info("{$log_prefix} 090 CCField");
         $cc_dao = new Tracker_Migration_V3_CcFieldDao();
         $cc_dao->addCCField($id);
         $logger->info("{$log_prefix} 220 Semantic");
         $semantic_dao = new Tracker_Migration_V3_SemanticDao();
         $semantic_dao->create($id);
         $logger->info("{$log_prefix} 250 Canned");
         $canned_dao = new Tracker_Migration_V3_CannedDao();
         $canned_dao->create($tv3->getID(), $id);
         $logger->info("{$log_prefix} 260 Fieldset stored as field");
         $fieldset_dao->nowFieldsetsAreStoredAsField($id);
         $logger->info("{$log_prefix} 270 & 280 columns");
         $columns_dao = new Tracker_Migration_V3_ColumnsDao();
         $columns_dao->create($id);
         // 300
         // useless because transitions already have default permissions
         $logger->info("{$log_prefix} 310 FieldPerms");
         $field_perms_dao = new Tracker_Migration_V3_FieldPermsDao();
         $field_perms_dao->create($tv3->getID(), $id);
         $logger->info("{$log_prefix} 320 FieldDependencies");
         $field_dependencies_dao = new Tracker_Migration_V3_FieldDependenciesDao();
         $field_dependencies_dao->addDependencies($tv3->getID(), $id);
         $logger->info("{$log_prefix} date reminders");
         $reminder_dao = new Tracker_Migration_V3_RemindersDao();
         $reminder_dao->create($tv3->getID(), $id);
         $logger->info("{$log_prefix} Complete");
         return $this->tracker_factory->getTrackerById($id);
     }
 }
Пример #8
0
 /**
  * Hook
  * 
  * @params $params $params['login']
  *                 $params['password']
  *                 $params['auth_success']
  *                 $params['auth_user_id']
  *                 $params['auth_user_status']
  */
 function authenticate($params)
 {
     if ($GLOBALS['sys_auth_type'] == 'ldap') {
         try {
             $params['auth_success'] = false;
             $user = $this->getLdapUserManager()->authenticate($params['loginname'], $params['passwd']);
             if ($user) {
                 $params['auth_user_id'] = $user->getId();
                 $params['auth_user_status'] = $user->getStatus();
                 $params['auth_success'] = true;
             }
         } catch (LDAP_UserNotFoundException $exception) {
             $GLOBALS['Response']->addFeedback(Feedback::ERROR, $exception->getMessage());
         } catch (LDAP_AuthenticationFailedException $exception) {
             $logger = new BackendLogger();
             $logger->info("[LDAP] User " . $params['loginname'] . " failed to authenticate");
         }
     }
 }
Пример #9
0
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation; either version 2 of the License, or
 * (at your option) any later version.
 *
 * Tuleap is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with Tuleap. If not, see <http://www.gnu.org/licenses/>.
 */
require 'pre.php';
$fd = fopen("php://stdin", "r");
$raw_mail = "";
while (!feof($fd)) {
    $raw_mail .= fread($fd, 1024);
}
fclose($fd);
$logger = new BackendLogger();
$logger->info("Entering email gateway");
$recipient_factory = Tracker_Artifact_MailGateway_RecipientFactory::build();
$parser = new Tracker_Artifact_MailGateway_Parser($recipient_factory);
$citation_sripper = new Tracker_Artifact_MailGateway_CitationStripper();
$mailgateway = new Tracker_Artifact_MailGateway_MailGateway($parser, $citation_sripper, $logger);
try {
    $mailgateway->process($raw_mail);
} catch (Exception $e) {
    $logger->error($e->getMessage());
}
$logger->info("End email gateway");