/**
  *
  * "          ".
  *
  *           .
  *
  * @param unknown_type $uid
  */
 function intstallModule($uid)
 {
     global $application;
     $tables = TransactionTracking::getTables();
     //                                             .
     $table = 'transaction_tracking_modules';
     $columns = $tables[$table]['columns'];
     $obj =& $application->getInstance('MessageResources', modApiFunc("Modules_Manager", "getResFileByShortName", 'TT'), 'AdminZone');
     $module_name = $obj->getMessage($uid . '_name');
     $query = new DB_Insert($table);
     $query->addInsertValue($uid, $columns['module_id']);
     $query->addInsertValue($module_name, $columns['module_name']);
     $query->addInsertValue(DB_FALSE, $columns['status_active']);
     $application->db->getDB_Result($query);
     //
     $module_default_settings = TransactionTrackingInstaller::getModuleDefaultSettings($uid);
     $table = 'transaction_tracking_modules_settings';
     $columns = $tables[$table]['columns'];
     foreach ($module_default_settings as $key_name => $value) {
         $query = new DB_Insert($table);
         $query->addInsertValue($uid, $columns['module_id']);
         $query->addInsertValue($key_name, $columns['key_name']);
         $query->addInsertValue($value, $columns['value']);
         $application->db->getDB_Result($query);
     }
 }
 /**
  *            .                                               .
  *                       (                 transaction tracking
  *       ) -                                        :
  *                            .
  */
 function TransactionTracking()
 {
     $BundledModules = TransactionTracking::getBundledModules();
     $InstalledModules = TransactionTracking::getInstalledModules();
     foreach ($BundledModules as $bundled_module_id) {
         if (!isset($InstalledModules[$bundled_module_id])) {
             //                        .
             loadClass('TransactionTrackingInstaller');
             TransactionTrackingInstaller::intstallModule($bundled_module_id);
         }
     }
 }