• R/O
  • SSH
  • HTTPS

xoonips: Commit


Commit MetaInfo

Revision105 (tree)
Time2012-11-06 17:41:36
Authorytakeda12

Log Message

migrate notification info.

Change Summary

Incremental Difference

--- trunk/xoonips/xoops_trust_path/modules/xdbmigrate/cmd/duplicate.php (revision 104)
+++ trunk/xoonips/xoops_trust_path/modules/xdbmigrate/cmd/duplicate.php (revision 105)
@@ -85,7 +85,7 @@
8585 continue;
8686 }
8787 $c = new $classname;
88- $c->init();
88+ $c->init($db);
8989 $arr = $c->get_dup_table();
9090 if(count($arr) == 0){
9191 return -5;
--- trunk/xoonips/xoops_trust_path/modules/xdbmigrate/cmd/inc/cmdlib.inc.php (revision 104)
+++ trunk/xoonips/xoops_trust_path/modules/xdbmigrate/cmd/inc/cmdlib.inc.php (revision 105)
@@ -21,7 +21,8 @@
2121 'xoonips_search_text',
2222 'xoonips_users',
2323 'users',
24- 'groups_users_link'
24+ 'groups_users_link',
25+ 'xoopsnotifications'
2526 );
2627 /**
2728 * cmd line common library.
--- trunk/xoonips/xoops_trust_path/modules/xdbmigrate/cmd/inc/notificateion.inc.php (nonexistent)
+++ trunk/xoonips/xoops_trust_path/modules/xdbmigrate/cmd/inc/notificateion.inc.php (revision 105)
@@ -0,0 +1,107 @@
1+<?php
2+
3+/**
4+ * notification related functions
5+ *
6+ */
7+require_once $MAIN_FILE;
8+require_once XOOPS_TRUST_PATH.'/modules/xdbmigrate/cmd/inc/migrate_db.inc.php';
9+
10+class notification{
11+ protected $db;
12+ protected $mid;
13+
14+ private function get_mid() {
15+ $wktbl = get_tbl('modules');
16+ $sql = "select * from {$wktbl} where name='XooNIps'";
17+ $result_array = $this->db->query($sql);
18+ if($result_array === FALSE){
19+ errmsg(APP_MIGRATE, 'E3003');
20+ return false;
21+ }
22+ $this->mid = $result_array[0]['mid'];
23+ return TRUE;
24+ }
25+
26+ public function init($db){
27+ $this->db = $db;
28+ return $this->get_mid();
29+ }
30+
31+ /**
32+ * Get old table datas.
33+ *
34+ * @return mixed Success:array,Fail:false
35+ */
36+ protected function get_old_notification()
37+ {
38+ $wktbl = get_WK_tbl('xoopsnotifications');
39+ $sql = "select * from {$wktbl}";
40+ $result_array = $this->db->query($sql);
41+ if($result_array === FALSE){
42+ return false;
43+ }
44+ return $result_array;
45+ }
46+
47+ /**
48+ * Datas insert to new table .
49+ *
50+ * @return mixed Success:array,Fail:false
51+ */
52+ protected function insert_new_notification($insertdat) {
53+ $tbl = get_tbl('xoopsnotifications');
54+ $cat = $insertdat['not_category'];
55+ $event = $insertdat['not_event'];
56+ $uid = $insertdat['not_uid'];
57+ $sql = "insert into {$tbl} (not_modid,not_category,not_event,not_uid) ".
58+ "VALUES({$this->mid},'{$cat}','{$event}',{$uid})";
59+ return $this->db->exec($sql);
60+ }
61+
62+
63+ public function migrate() {
64+ global $RUN_LOG;
65+
66+ #Get old XooNips datas.
67+ $nots = $this->get_old_notification();
68+ if($nots === false){
69+ return -errmsg(APP_MIGRATE, 'E3001');
70+ }
71+
72+ #Definition conversion rule.
73+ #Array key means xoopsnotification['not_category']:xoopsnotification['not_event']
74+ #Array value means conversion result.
75+ # Array[0] means converted xoopsnotification['not_category'].
76+ # Array[1] means converted xoopsnotification['not_event'].
77+ # Array[2] means that it true set below (1) and (2) of same rule don't permit repeated conversion.
78+ $conv_rule = array(
79+ "administrator:item_transfer" => array("common","item",true), #(1)
80+ "administrator:item_certify" => array("common","item",true), #(2)
81+ "user:item_transfer" => array("user","item_transfer",false),
82+ "user:item_updated" => array("user","item_updated",false),
83+ "user:file_downloaded" => array("user","file_downloaded",false)
84+ #other wise does not prcess.
85+ );
86+ $conved_check_list = array(); #(1) or (2) already applyed check.
87+ foreach ($nots as $not) {
88+ #conversion
89+ $idx = $not['not_category'].':'.$not['not_event'];
90+ if(array_key_exists($idx, $conv_rule) == true){
91+ $not['not_category'] = $conv_rule[$idx][0];
92+ $not['not_event'] = $conv_rule[$idx][1];
93+ if($conv_rule[$idx][2] === true){
94+ $not_uid = $not['not_uid'];
95+ if(array_key_exists($not_uid, $conved_check_list)==true){
96+ continue;
97+ }
98+ $conved_check_list[$not_uid] = true;
99+ }
100+ if($this->insert_new_notification($not) === false){
101+ return -errmsg(APP_MIGRATE, 'E3002');
102+ }
103+ }
104+ }
105+ return 0;
106+ }
107+}
\ No newline at end of file
--- trunk/xoonips/xoops_trust_path/modules/xdbmigrate/cmd/inc/oai_pmh.inc.php (revision 104)
+++ trunk/xoonips/xoops_trust_path/modules/xdbmigrate/cmd/inc/oai_pmh.inc.php (revision 105)
@@ -1,7 +1,7 @@
11 <?php
22
33 /**
4- * User related functions
4+ * OAI-pMH related functions
55 *
66 */
77
--- trunk/xoonips/xoops_trust_path/modules/xdbmigrate/cmd/migrate.php (revision 104)
+++ trunk/xoonips/xoops_trust_path/modules/xdbmigrate/cmd/migrate.php (revision 105)
@@ -8,8 +8,12 @@
88 if(!is_null($msg)){
99 fprintf(STDERR, "%s\n",$msg);
1010 }
11- fprintf(STDERR,"Usage:migrate.php [-m mainfile.php] [-r run.log]\n");
11+ fprintf(STDERR,"Usage:migrate.php [-d][-D][-m mainfile.php] [-r run.log]\n");
1212 fprintf(STDERR,"Default maifile is /var/www/html/mainfile.php\n");
13+ fprintf(STDERR,"-m:Specifyed mainfile.php.\n");
14+ fprintf(STDERR,"-d:Working table delete.\n");
15+ fprintf(STDERR,"-D:Working table only delete.\n");
16+ fprintf(STDERR,"-r:Specifyed run.log.\n");
1317 exit(2);
1418 }
1519
@@ -142,6 +146,14 @@
142146 break;
143147 }
144148
149+ #notificateion
150+ set_status(APP_MIGRATE, XDBMIGRATE_MIGRATE_NOTIFICATION);
151+ fprintf(STDERR, "notificateion Migrate Start.\n");
152+ $notificateion = new notification();
153+ $notificateion->init($db);
154+ $rc = $notificateion->migrate();
155+ fprintf(STDERR, "notificateion Migrate Success.\n");
156+
145157 #Drop WK tables
146158 if($DROPTABLE === true){
147159 fprintf(STDERR, "Working table drop start.\n");
@@ -197,6 +209,7 @@
197209 require_once $cmddir.'inc/groups.inc.php';
198210 require_once $cmddir.'inc/oai_pmh.inc.php';
199211 require_once $cmddir.'inc/event_log.inc.php';
212+require_once $cmddir.'inc/notificateion.inc.php';
200213 require_once XOOPS_TRUST_PATH.'/modules/xdbmigrate/status.php';
201214 set_status(APP_MIGRATE, XDBMIGRATE_START_MIGRATE);
202215 migrate();
--- trunk/xoonips/xoops_trust_path/modules/xdbmigrate/language/ja_utf8/admin.php (revision 104)
+++ trunk/xoonips/xoops_trust_path/modules/xdbmigrate/language/ja_utf8/admin.php (revision 105)
@@ -221,6 +221,11 @@
221221 define('_AM_XDBMIGRATE_E2901','xoops_event_logの移行に失敗しました。');
222222 define('_AM_XDBMIGRATE_E2902','groupidの更新に失敗しました。');
223223
224+#Notification 3001-3999
225+define('_AM_XDBMIGRATE_E3001','XooNIps3.46aのxoopsnotificationsテーブルのデータ取得に失敗しました。');
226+define('_AM_XDBMIGRATE_E3002','notificationの移行に失敗しました。');
227+define('_AM_XDBMIGRATE_E3003','MIDの取得に失敗しました。');
228+
224229 #MIGRATION MESSAGE
225230 define('_AM_XDBMIGRATE_START_DUPLICATE','テーブルの複製を行なってください。以下に示すように外部スクリプトを実行します。<br>duplicate.php [mainfile.phpのフルパス]');
226231 define('_AM_XDBMIGRATE_UNIST_INST_XOONIPS','XooNIps3.46aのアンイストールと次世代XooNIpsのインストールを行なってください。<br>通常のモジュールと同様にアンインストール、インストールを行います。');
@@ -232,4 +237,5 @@
232237 define('_AM_XDBMIGRATE_MIGRATE_INDEX','インデックスの移行中です。');
233238 define('_AM_XDBMIGRATE_MIGRATE_OAI_PMH','OAI-PMHの移行中です。');
234239 define('_AM_XDBMIGRATE_START_COMPLITE','データ移行が完了しました。');
235-define('_AM_XDBMIGRATE_MIGRATE_EVENT_LOG','イベントログの移行中です。');
\ No newline at end of file
240+define('_AM_XDBMIGRATE_MIGRATE_EVENT_LOG','イベントログの移行中です。');
241+define('_AM_XDBMIGRATE_MIGRATE_NOTIFICATION','イベント通知設定の移行中です。');
\ No newline at end of file
--- trunk/xoonips/xoops_trust_path/modules/xdbmigrate/language/english/admin.php (revision 104)
+++ trunk/xoonips/xoops_trust_path/modules/xdbmigrate/language/english/admin.php (revision 105)
@@ -221,6 +221,11 @@
221221 define('_AM_XDBMIGRATE_E2901','To migrate xoops_event_log fail.');
222222 define('_AM_XDBMIGRATE_E2902','To update groupid fail.');
223223
224+#Notification 3001-3999
225+define('_AM_XDBMIGRATE_E3001','Failed to retrieve data from XooNIps3.46a xoopsnotifications.');
226+define('_AM_XDBMIGRATE_E3002','Failed to migrate the notification.');
227+define('_AM_XDBMIGRATE_E3003','Failed to MID from modules.');
228+
224229 #MIGRATION MESSAGE
225230 define('_AM_XDBMIGRATE_START_DUPLICATE','Please duplicate tables.You run below command.<br>duplicate.php [mainfile.php full path]');
226231 define('_AM_XDBMIGRATE_UNIST_INST_XOONIPS','Uninstall XooNIps3.46a and install next generation XooNIps.');
@@ -232,4 +237,5 @@
232237 define('_AM_XDBMIGRATE_MIGRATE_INDEX','Index migrate.');
233238 define('_AM_XDBMIGRATE_MIGRATE_OAI_PMH','OAI-PMH migrate.');
234239 define('_AM_XDBMIGRATE_START_COMPLITE','Complete all data migrateion.');
235-define('_AM_XDBMIGRATE_MIGRATE_EVENT_LOG','Event log migrate.');
\ No newline at end of file
240+define('_AM_XDBMIGRATE_MIGRATE_EVENT_LOG','Event log migrate.');
241+define('_AM_XDBMIGRATE_MIGRATE_NOTIFICATION','Event notify configration migrate.');
\ No newline at end of file
Show on old repository browser