From 22172af9bd5b3288c86ca29046c11d2f81847189 Mon Sep 17 00:00:00 2001
From: Ryuji Masukawa
Date: Tue, 7 Apr 2015 17:34:11 +0900
Subject: [PATCH 01/14] =?UTF-8?q?=EF=BC=92=EF=BC=94=EF=BC=92=EF=BC=90?=
=?UTF-8?q?=E2=88=92=EF=BC=93=E3=81=AE=E4=BF=AE=E6=AD=A3=E3=81=AB=E3=81=8A?=
=?UTF-8?q?=E3=81=91=E3=82=8B=E5=BC=8A=E5=AE=B3=E3=81=A7=E3=80=81=E3=80=8C?=
=?UTF-8?q?=E3=82=BB=E3=82=AD=E3=83=A5=E3=83=AA=E3=83=86=E3=82=A3=E7=AE=A1?=
=?UTF-8?q?=E7=90=86=E3=80=8D=E3=81=AE=E3=80=8C=E5=A4=89=E6=95=B0=E6=B1=9A?=
=?UTF-8?q?=E6=9F=93=E3=81=8C=E8=A6=8B=E3=81=A4=E3=81=8B=E3=81=A3=E3=81=9F?=
=?UTF-8?q?=E6=99=82=E3=81=AE=E5=87=A6=E7=90=86=E3=80=8D=E3=82=92=E3=80=8C?=
=?UTF-8?q?=E5=BC=B7=E5=88=B6=E7=B5=82=E4=BA=86=E3=80=8D=E3=81=AB=E3=81=97?=
=?UTF-8?q?=E3=81=9F=E5=A0=B4=E5=90=88=E3=80=81=E6=A4=9C=E7=B4=A2=E3=83=A2?=
=?UTF-8?q?=E3=82=B8=E3=83=A5=E3=83=BC=E3=83=AB=E7=AD=89=E3=81=AE=E8=A4=87?=
=?UTF-8?q?=E6=95=B0=E3=81=AE=E3=83=A2=E3=82=B8=E3=83=A5=E3=83=BC=E3=83=AB?=
=?UTF-8?q?=E3=81=A7=E3=80=8C=E5=85=A5=E5=8A=9B=E5=80=A4=E3=81=8C=E4=B8=8D?=
=?UTF-8?q?=E6=AD=A3=E3=81=A7=E3=81=99=E3=83=BB=E3=83=BB=E3=83=BB=E3=80=8D?=
=?UTF-8?q?=E3=81=A8=E8=A1=A8=E7=A4=BA=E3=81=95=E3=82=8C=E3=82=8B=E3=80=82?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
html/maple/nccore/SecurityManager.class.php | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/html/maple/nccore/SecurityManager.class.php b/html/maple/nccore/SecurityManager.class.php
index 03fcff9..600a01d 100644
--- a/html/maple/nccore/SecurityManager.class.php
+++ b/html/maple/nccore/SecurityManager.class.php
@@ -126,7 +126,7 @@ function chkContamiAction($key)
{
// Variables contamination
if( $this->_config[_SECURITY_CONF_CATID]['contami_action']['conf_value'] &&
- in_array($key, $this->bad_globals) ) {
+ in_array($key, $this->bad_globals, true) ) {
$this->message = sprintf(_SECURITY_CONTAMI_ACTION_ERROR, $key);
$user_id = $this->_session->getParameter("_user_id");
$this->outputLog( 'CONTAMI', $user_id) ;
From e89bfb7c3e9253c07c34ac16999b44428473b51e Mon Sep 17 00:00:00 2001
From: Ryuji Masukawa
Date: Tue, 1 Sep 2015 13:37:35 +0900
Subject: [PATCH 02/14] =?UTF-8?q?=E3=83=96=E3=83=A9=E3=82=A6=E3=82=B6Edge?=
=?UTF-8?q?=E5=AF=BE=E5=BF=9C?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../modules/common/files/js/prototype.js | 15 ++-
.../modules/comp/files/js/comp_popup.js | 2 +-
.../files/js/plugins/comp_textareamain.js | 125 ++++++++++++------
3 files changed, 98 insertions(+), 44 deletions(-)
mode change 100755 => 100644 html/webapp/modules/comp/files/js/plugins/comp_textareamain.js
diff --git a/html/webapp/modules/common/files/js/prototype.js b/html/webapp/modules/common/files/js/prototype.js
index 1999240..7f76192 100644
--- a/html/webapp/modules/common/files/js/prototype.js
+++ b/html/webapp/modules/common/files/js/prototype.js
@@ -343,7 +343,7 @@ var Enumerable = {
} catch (e) {
/* add Code 2011/04/21 Windows7 64bitOS IE9でWYSIWYGにカーソルを移動し、画面遷移し、再度、WYSIWYGを表示する際にエラーとなるため
* こちらでエラーを表示しないようにして対応 */
- if(!(browser.isIE && browser.version >= 9)) {
+ if(!(browser.isIE && browser.version >= 9) && !browser.isEdge) {
if (e != $break) throw e;
}
}
@@ -2966,7 +2966,9 @@ function Browser() {
this.isFirefox = false; // FireFox
this.isOpera = false;
this.isSafari = false;
- this.version = null;
+ this.isEdge = false;
+
+ this.version = null;
ua = navigator.userAgent;
@@ -2984,6 +2986,15 @@ function Browser() {
return;
}
+ s = "Edge";
+ if ((i = ua.indexOf(s)) >= 0) {
+ this.isEdge = true;
+ this.isGecko = true;
+ this.isSafari = true;
+ //this.version = parseFloat(ua.substr(i + s.length));
+ return;
+ }
+
// IE11
s = "Trident";
if ((i = ua.indexOf(s)) >= 0) {
diff --git a/html/webapp/modules/comp/files/js/comp_popup.js b/html/webapp/modules/comp/files/js/comp_popup.js
index dbb5ce2..a0e9606 100644
--- a/html/webapp/modules/comp/files/js/comp_popup.js
+++ b/html/webapp/modules/comp/files/js/comp_popup.js
@@ -364,7 +364,7 @@ compPopup.prototype = {
}
if((browser.isIE && browser.version < 9)) iframe.style.display = "none"; //safariの場合、再描画する時に描画処理がはしってしまうためコメント
iframe.style.visibility = "hidden";
- if(browser.isOpera) {
+ if(browser.isOpera || browser.isEdge) {
$(this.popupElement).remove();
this.src = null;
this.popupElement = null;
diff --git a/html/webapp/modules/comp/files/js/plugins/comp_textareamain.js b/html/webapp/modules/comp/files/js/plugins/comp_textareamain.js
old mode 100755
new mode 100644
index d5961d6..ed43499
--- a/html/webapp/modules/comp/files/js/plugins/comp_textareamain.js
+++ b/html/webapp/modules/comp/files/js/plugins/comp_textareamain.js
@@ -338,7 +338,7 @@ compTextareamain.prototype = {
exec : function()
{
var self = this;
- if(browser.isIE) {
+ if(browser.isIE || browser.isEdge) {
var spans, font, loop_flag = true;
var f = self.currentNode ? self.currentNode : self.getSelectNode();
// 選択NodeTopをselect
@@ -358,7 +358,7 @@ compTextareamain.prototype = {
return;
}
f = self.applyInlineStyle('font');
- } else if(f.style.color != '' || f.style.backgroundColor != '' || f.style.fonSize != '' || f.style.fontFamily != '') {
+ } else if(f.style.color || f.style.backgroundColor || f.style.fonSize || f.style.fontFamily) {
font = this.editorDoc.createElement('font');
f = self.replace(font, f, true);
}
@@ -395,7 +395,7 @@ compTextareamain.prototype = {
}
}
this.editorDoc.execCommand('removeFormat', false, []);
- if(browser.isSafari && f.nodeName.toLowerCase() != "body") {
+ if(browser.isSafari && f.nodeName.toLowerCase() != "body" && !browser.isEdge) {
// Class Apple-style-spanを検索し、削除
var remove_el_arr = [];
var buf_f = f;
@@ -460,7 +460,35 @@ compTextareamain.prototype = {
}
} else {
var sel_n = null;
- this.editorDoc.execCommand(name, false, []);
+ if(!browser.isEdge)
+ this.editorDoc.execCommand(name, false, []);
+ else {
+ var n = this.currentNode ? this.currentNode : this.getSelectNode();
+ var r = this.getRange();
+ if(n && n.nodeName.toLowerCase() != 'div') {
+ if(r.startContainer && r.endContainer &&
+ r.startContainer == r.endContainer) {
+
+ var br = r.startContainer.nextSibling;
+ if(!br) {
+ br = this.editorDoc.createTextNode("");
+ r.insertNode(br);
+ br = br.nextSibling;
+ r.setStartBefore(br);
+ } else {
+ r.setStartBefore(r.startContainer);
+ }
+ r.setEndAfter(br);
+ this.setRange(r);
+ }
+ n = this.applyInlineStyle('div');
+ if(n) {
+ this.rangeSelect(n, 1);
+ }
+ }
+ this.editorDoc.execCommand(name, false, []);
+ }
+
var r = this.getRange();
if(r.endContainer && r.endContainer.parentNode) {
sel_n = r.endContainer.parentNode;
@@ -488,37 +516,33 @@ compTextareamain.prototype = {
value : {
insertOrderedList : { visible : true, tags : ['ol'],
exec : function(e) {
- // IE10以下で全角入力をすると、先頭の文字が2行目にも表示されるため修正
-// if(!browser.isIE)
-// this.editorDoc.execCommand("insertOrderedList", false, []);
-// else {
-// var n = this.applyInlineStyle('div');
-// this.rangeSelect(n);
-// this.editorDoc.execCommand("insertOrderedList", false, []);
-// if(n && n.parentNode) {
-// this.insertBefore(n, n.innerHTML)
-// n.parentNode.removeChild(n);
-// }
-// }
- this.editorDoc.execCommand("insertOrderedList", false, []);
+ if(!browser.isIE && !browser.isEdge)
+ this.editorDoc.execCommand("insertOrderedList", false, []);
+ else {
+ var n = this.applyInlineStyle('div');
+ this.rangeSelect(n);
+ this.editorDoc.execCommand("insertOrderedList", false, []);
+ if(n && n.parentNode) {
+ this.insertBefore(n, n.innerHTML)
+ n.parentNode.removeChild(n);
+ }
+ }
this.checkTargets();
}
},
insertUnorderedList : { visible : true, tags : ['ul'],
exec : function(e) {
- // IE10以下で全角入力をすると、先頭の文字が2行目にも表示されるため修正
-// if(!browser.isIE)
-// this.editorDoc.execCommand("insertUnorderedList", false, []);
-// else {
-// var n = this.applyInlineStyle('div');
-// this.rangeSelect(n);
-// this.editorDoc.execCommand("insertUnorderedList", false, []);
-// if(n && n.parentNode) {
-// this.insertBefore(n, n.innerHTML)
-// n.parentNode.removeChild(n);
-// }
-// }
- this.editorDoc.execCommand("insertUnorderedList", false, []);
+ if(!browser.isIE && !browser.isEdge)
+ this.editorDoc.execCommand("insertUnorderedList", false, []);
+ else {
+ var n = this.applyInlineStyle('div');
+ this.rangeSelect(n);
+ this.editorDoc.execCommand("insertUnorderedList", false, []);
+ if(n && n.parentNode) {
+ this.insertBefore(n, n.innerHTML)
+ n.parentNode.removeChild(n);
+ }
+ }
this.checkTargets();
}
}
@@ -781,7 +805,6 @@ compTextareamain.prototype = {
callback : function(args) {
var a, bm, v;
// リンク挿入
- self.removeDialog(self.dialog_id);
self.addFocus(true);
if(n && n.nodeName.toLowerCase() != 'a') {
bm = self.bookmark;
@@ -812,6 +835,7 @@ compTextareamain.prototype = {
n.setAttribute(key,args[key],0);
a = n;
}
+ self.removeDialog(self.dialog_id);
self.rangeSelect(a);
self.addUndo();
@@ -1151,7 +1175,8 @@ compTextareamain.prototype = {
Event.observe(this.editorDoc,"mouseup", function(e) {
self.bookmark = self.getBookmark(); // IEはbookmarkを保持しないため
- self.currentNode = self.getSelectNode();
+ if (!browser.isEdge)
+ self.currentNode = self.getSelectNode();
self.checkTargets(Event.element(e));
self.addUndo();
self.closeDialogs();
@@ -1163,7 +1188,7 @@ compTextareamain.prototype = {
}, false, this.id);
Event.observe(this.editorDoc,"keydown", function(e) {
- if(browser.isSafari && (e.keyCode == 46 || e.keyCode == 8)) {
+ if(browser.isSafari && (e.keyCode == 46 || e.keyCode == 8) && !browser.isEdge) {
// 1行選択してdelete(backspace)ボタン、
// または、1行にわたるNodeを選択してdelete(backspace)
// ボタンを押すと、そのelementが削除されないため対処
@@ -1278,7 +1303,8 @@ compTextareamain.prototype = {
Event.observe(this.editorDoc,"keyup", function(e) {
var k = e.keyCode;
self.bookmark = self.getBookmark(); // IEはbookmarkを保持しないため
- self.currentNode = self.getSelectNode();
+ if (!browser.isEdge)
+ self.currentNode = self.getSelectNode();
if ((k >= 33 && k <= 36) || (k >= 37 && k <= 40) || k == 13 || k == 45 || k == 46 || k == 8 ||
(e.ctrlKey && (k == 86 || k == 88)) || k.ctrlKey || (this.is_mac && (k == 91 || k == 93))) {
// enter、上下左右、baskspace, Delキー,カット&ペーストならば、checkTargetsを呼び出す
@@ -1963,11 +1989,14 @@ compTextareamain.prototype = {
var path = document.getElementById('path_'+ this.top_id);
path.innerHTML = '';
path.appendChild(spn);
- var n_el = el, buf_n;
+ var n_el = el, buf_n,currentNode;
do {
nodeN = el.nodeName.toLowerCase();
- if ( el.nodeType != 1 || nodeN == 'body' || nodeN == 'html')
+ if ( el.nodeType != 1 || nodeN == 'body' || nodeN == 'html')
break;
+ if(!currentNode) {
+ currentNode = el;
+ }
if(nodeN == "b")
nodeN = "strong";
@@ -2009,6 +2038,8 @@ compTextareamain.prototype = {
pa = a;
t++;
} while ( el = el.parentNode );
+ if (browser.isEdge)
+ self.currentNode = currentNode;
},
checkTargets : function( element )
@@ -3647,14 +3678,18 @@ compTextareamain.prototype = {
function replaceFonts() {
var bm, c_el, r_el;
- var tags = new Array('span', 'font', 'img');
+ if (!browser.isEdge) {
+ var tags = new Array('span', 'font', 'img');
+ } else {
+ var tags = new Array('span', 'font', 'img', 'a');
+ }
var tags_length = tags.length;
for (var k = tags_length; k > 0; ) {
var target_ar = t.editorDoc.getElementsByTagName(tags[--k]);
var target_ar_length = target_ar.length;
for (var i = target_ar_length; i > 0; i--) {
var el = target_ar[i - 1];
- if (el.style.fontFamily == 'nc_wysiwygfont' || (el.face && el.face == 'nc_wysiwygfont') || (el.src && el.src.match(/nc_wysiwygurl$/))) {
+ if (el.style.fontFamily == 'nc_wysiwygfont' || (el.face && el.face == 'nc_wysiwygfont') || (el.src && el.src.match(/nc_wysiwygurl$/)) || (el.href && el.href.match(/nc_wysiwygurl$/))) {
if (!bm)
bm = t.getBookmark();
@@ -3665,8 +3700,9 @@ compTextareamain.prototype = {
spn.innerHTML = na;
c_el = spn.childNodes[0];
- } else
+ } else {
c_el = t.editorDoc.createElement(na);
+ }
if (!r_el)
r_el = c_el;
t.replace(t.attrs(c_el, at), el, 1);
@@ -3762,10 +3798,17 @@ compTextareamain.prototype = {
// Create inline elements
t.addFocus();
- if(collapsed)
+
+ var r = t.getRange();
+ if (r.collapsed && browser.isEdge) {
+ t.editorDoc.execCommand('inserthtml', false, '
');
+ } else if (collapsed) {
t.editorDoc.execCommand('insertImage', false, 'nc_wysiwygurl');
- else
+ } else if (browser.isEdge) {
+ t.editorDoc.execCommand('createLink', false, 'nc_wysiwygurl');
+ } else {
t.editorDoc.execCommand('fontName', false, 'nc_wysiwygfont');
+ }
r_el = replaceFonts();
if(t._keyhandler) {
Event.stopObserving(this.editorDoc,"keyup",t._keyhandler);
From 06a44786ff3a04d6082d4f93b5b219399ff345ca Mon Sep 17 00:00:00 2001
From: Ryuji Masukawa
Date: Wed, 4 Nov 2015 18:01:59 +0900
Subject: [PATCH 03/14] =?UTF-8?q?=E7=94=BB=E5=83=8F=E3=82=A2=E3=83=83?=
=?UTF-8?q?=E3=83=97=E3=83=AD=E3=83=BC=E3=83=89=E3=81=AE=E3=83=9D=E3=83=83?=
=?UTF-8?q?=E3=83=97=E3=82=A2=E3=83=83=E3=83=97=E3=82=92=EF=BC=92=E5=BA=A6?=
=?UTF-8?q?=E8=A1=A8=E7=A4=BA=E3=81=99=E3=82=8B=E3=81=A8=E3=80=81=E3=82=A4?=
=?UTF-8?q?=E3=83=99=E3=83=B3=E3=83=88=E3=81=8C=E6=AD=A2=E3=81=BE=E3=82=89?=
=?UTF-8?q?=E3=81=AA=E3=81=8F=E3=81=AA=E3=82=8B=E3=81=9F=E3=82=81=E3=80=81?=
=?UTF-8?q?=E5=AF=BE=E5=87=A6?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../modules/comp/files/js/plugins/comp_textareamain.js | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/html/webapp/modules/comp/files/js/plugins/comp_textareamain.js b/html/webapp/modules/comp/files/js/plugins/comp_textareamain.js
index ed43499..3c636c0 100644
--- a/html/webapp/modules/comp/files/js/plugins/comp_textareamain.js
+++ b/html/webapp/modules/comp/files/js/plugins/comp_textareamain.js
@@ -1786,6 +1786,11 @@ compTextareamain.prototype = {
self.resize.parentNode.removeChild(self.resize);
Event.stopObserving(document,"mousemove", resizeMouseMove,false);
Event.stopObserving(document,"mouseup", resizeMouseUp,false);
+ if (browser.isIE && document.removeEventListener) {
+ // 画像アップロードのポップアップを2度表示すると、イベントが止まらなくなるため、原因不明だが手動で停止
+ document.removeEventListener("mousemove", resizeMouseMove,false);
+ document.removeEventListener("mouseup", resizeMouseUp,false);
+ }
(mode != "html") ? Element.setStyle(self.editor, {display:'block'}) : Element.setStyle(self.original, {display:'block'});
self._setStyleWithCSS();
From 970964250e6887a37a3dd201e4000be525a6ee7e Mon Sep 17 00:00:00 2001
From: Ryuji Masukawa
Date: Mon, 9 Nov 2015 18:49:18 +0900
Subject: [PATCH 04/14] =?UTF-8?q?=E3=82=A2=E3=82=AF=E3=82=BB=E3=82=B9?=
=?UTF-8?q?=E7=8A=B6=E6=B3=81=E3=81=A7=E3=80=81=EF=BC=91=E5=B9=B4=E4=BB=A5?=
=?UTF-8?q?=E4=B8=8A=E9=81=8B=E7=94=A8=E3=81=97=E3=81=A6=E3=81=9F=E5=A0=B4?=
=?UTF-8?q?=E5=90=88=E3=80=81=E3=83=AB=E3=83=BC=E3=83=A0=E3=81=AE=E3=82=A2?=
=?UTF-8?q?=E3=82=AF=E3=82=BB=E3=82=B9=E5=9B=9E=E6=95=B0=E3=81=8CSUM?=
=?UTF-8?q?=E3=81=95=E3=82=8C=E3=81=9F=E7=8A=B6=E6=85=8B=E3=81=A7=E8=A1=A8?=
=?UTF-8?q?=E7=A4=BA=E3=81=95=E3=82=8C=E3=81=A6=E3=81=97=E3=81=BE=E3=81=86?=
=?UTF-8?q?=E3=81=9F=E3=82=81=E4=BF=AE=E6=AD=A3=E3=80=82?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../webapp/components/monthlynumber/View.class.php | 14 ++++++++++----
1 file changed, 10 insertions(+), 4 deletions(-)
diff --git a/html/webapp/components/monthlynumber/View.class.php b/html/webapp/components/monthlynumber/View.class.php
index 2414e19..9a92917 100644
--- a/html/webapp/components/monthlynumber/View.class.php
+++ b/html/webapp/components/monthlynumber/View.class.php
@@ -143,12 +143,16 @@ function getMonthlyNumberList($year, $room_id = null, $user_id = null, $role_aut
return null;
}
+ $time = timezone_date();
+ $year = intval(substr($time, 0, 4));
+
//$_user_auth_id = $session->getParameter("_user_auth_id");
if($room_id != null) {
//ルーム管理:ルーム毎のSUM
$params = array(
//"user_id"=>$user_id,
- "room_id"=>$room_id
+ "year"=> $year,
+ "room_id"=>$room_id,
//"sub_room_id"=>$room_id
);
$sql = "SELECT {pages}.page_id,{pages}.root_id, {pages}.parent_id,{pages}.thread_num, {pages}.display_sequence, {pages}.page_name, {pages}.private_flag, {pages}.space_type, {monthly_number}.name, {monthly_number}.year, {monthly_number}.month, SUM({monthly_number}.number) AS number " .
@@ -156,12 +160,13 @@ function getMonthlyNumberList($year, $room_id = null, $user_id = null, $role_aut
$sql .= " LEFT JOIN {monthly_number} ON {pages}.room_id = {monthly_number}.room_id ";
//$sql .= " LEFT JOIN {pages_users_link} ON {pages}.room_id = {pages_users_link}.room_id AND {pages_users_link}.room_id = ? ";
- $sql .= " WHERE 1=1 ";
+ $sql .= " WHERE 1=1 AND {monthly_number}.year=? ";
} else {
$params = array(
"user_id"=>$user_id,
- "user_id_monthly"=>$user_id
+ "user_id_monthly"=>$user_id,
+ "year"=> $year,
);
$sql = "SELECT {pages}.page_id, {pages}.root_id, {pages}.parent_id, {pages}.thread_num, {pages}.display_sequence, {pages}.page_name, {pages}.private_flag, {pages}.space_type, {monthly_number}.name, {monthly_number}.year, {monthly_number}.month, {monthly_number}.number " .
" FROM {pages} ";
@@ -169,7 +174,8 @@ function getMonthlyNumberList($year, $room_id = null, $user_id = null, $role_aut
$sql .= " LEFT JOIN {pages_users_link} ON {pages}.room_id = {pages_users_link}.room_id AND {pages_users_link}.user_id = ? ";
$sql .= " WHERE (({pages}.private_flag = "._ON." " .
- "AND {pages_users_link}.user_id IS NOT NULL) OR ({pages}.private_flag = "._OFF." AND ({pages}.space_type = "._SPACE_TYPE_GROUP." OR {pages}.space_type ="._SPACE_TYPE_PUBLIC."))) ";
+ "AND {pages_users_link}.user_id IS NOT NULL) OR ({pages}.private_flag = "._OFF." AND ({pages}.space_type = "._SPACE_TYPE_GROUP." OR {pages}.space_type ="._SPACE_TYPE_PUBLIC."))) " .
+ "AND {monthly_number}.year=? ";
}
//ルームのみ
From b5e0fac352b3f9ae17c734ce0fdf65593c818fa8 Mon Sep 17 00:00:00 2001
From: Ryuji Masukawa
Date: Tue, 10 Nov 2015 15:06:17 +0900
Subject: [PATCH 05/14] =?UTF-8?q?=E3=82=A2=E3=82=AF=E3=82=BB=E3=82=B9?=
=?UTF-8?q?=E7=8A=B6=E6=B3=81=E3=81=A7=E3=80=81=EF=BC=91=E5=B9=B4=E4=BB=A5?=
=?UTF-8?q?=E4=B8=8A=E9=81=8B=E7=94=A8=E3=81=97=E3=81=A6=E3=81=9F=E5=A0=B4?=
=?UTF-8?q?=E5=90=88=E3=80=81=E3=83=AB=E3=83=BC=E3=83=A0=E3=81=AE=E3=82=A2?=
=?UTF-8?q?=E3=82=AF=E3=82=BB=E3=82=B9=E5=9B=9E=E6=95=B0=E3=81=8CSUM?=
=?UTF-8?q?=E3=81=95=E3=82=8C=E3=81=9F=E7=8A=B6=E6=85=8B=E3=81=A7=E8=A1=A8?=
=?UTF-8?q?=E7=A4=BA=E3=81=95=E3=82=8C=E3=81=A6=E3=81=97=E3=81=BE=E3=81=86?=
=?UTF-8?q?=E3=81=9F=E3=82=81=E4=BF=AE=E6=AD=A3(=E5=86=8D=E4=BF=AE?=
=?UTF-8?q?=E6=AD=A3)=E3=80=82?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../components/monthlynumber/View.class.php | 54 +++++++++----------
1 file changed, 24 insertions(+), 30 deletions(-)
diff --git a/html/webapp/components/monthlynumber/View.class.php b/html/webapp/components/monthlynumber/View.class.php
index 9a92917..b7e8c9c 100644
--- a/html/webapp/components/monthlynumber/View.class.php
+++ b/html/webapp/components/monthlynumber/View.class.php
@@ -143,40 +143,34 @@ function getMonthlyNumberList($year, $room_id = null, $user_id = null, $role_aut
return null;
}
- $time = timezone_date();
- $year = intval(substr($time, 0, 4));
-
//$_user_auth_id = $session->getParameter("_user_auth_id");
- if($room_id != null) {
- //ルーム管理:ルーム毎のSUM
- $params = array(
- //"user_id"=>$user_id,
- "year"=> $year,
- "room_id"=>$room_id,
- //"sub_room_id"=>$room_id
- );
- $sql = "SELECT {pages}.page_id,{pages}.root_id, {pages}.parent_id,{pages}.thread_num, {pages}.display_sequence, {pages}.page_name, {pages}.private_flag, {pages}.space_type, {monthly_number}.name, {monthly_number}.year, {monthly_number}.month, SUM({monthly_number}.number) AS number " .
- " FROM {pages} ";
+ if($room_id != null) {
+ //ルーム管理:ルーム毎のSUM
+ $params = array(
+ //"user_id"=>$user_id,
+ "room_id"=>$room_id
+ //"sub_room_id"=>$room_id
+ );
+ $sql = "SELECT {pages}.page_id,{pages}.root_id, {pages}.parent_id,{pages}.thread_num, {pages}.display_sequence, {pages}.page_name, {pages}.private_flag, {pages}.space_type, {monthly_number}.name, {monthly_number}.year, {monthly_number}.month, SUM({monthly_number}.number) AS number " .
+ " FROM {pages} ";
$sql .= " LEFT JOIN {monthly_number} ON {pages}.room_id = {monthly_number}.room_id ";
//$sql .= " LEFT JOIN {pages_users_link} ON {pages}.room_id = {pages_users_link}.room_id AND {pages_users_link}.room_id = ? ";
- $sql .= " WHERE 1=1 AND {monthly_number}.year=? ";
+ $sql .= " WHERE 1=1 ";
- } else {
- $params = array(
- "user_id"=>$user_id,
- "user_id_monthly"=>$user_id,
- "year"=> $year,
- );
+ } else {
+ $params = array(
+ "user_id"=>$user_id,
+ "user_id_monthly"=>$user_id
+ );
$sql = "SELECT {pages}.page_id, {pages}.root_id, {pages}.parent_id, {pages}.thread_num, {pages}.display_sequence, {pages}.page_name, {pages}.private_flag, {pages}.space_type, {monthly_number}.name, {monthly_number}.year, {monthly_number}.month, {monthly_number}.number " .
- " FROM {pages} ";
+ " FROM {pages} ";
$sql .= " LEFT JOIN {monthly_number} ON {pages}.room_id = {monthly_number}.room_id AND {monthly_number}.user_id = ? ";
- $sql .= " LEFT JOIN {pages_users_link} ON {pages}.room_id = {pages_users_link}.room_id AND {pages_users_link}.user_id = ? ";
+ $sql .= " LEFT JOIN {pages_users_link} ON {pages}.room_id = {pages_users_link}.room_id AND {pages_users_link}.user_id = ? ";
- $sql .= " WHERE (({pages}.private_flag = "._ON." " .
- "AND {pages_users_link}.user_id IS NOT NULL) OR ({pages}.private_flag = "._OFF." AND ({pages}.space_type = "._SPACE_TYPE_GROUP." OR {pages}.space_type ="._SPACE_TYPE_PUBLIC."))) " .
- "AND {monthly_number}.year=? ";
- }
+ $sql .= " WHERE (({pages}.private_flag = "._ON." " .
+ "AND {pages_users_link}.user_id IS NOT NULL) OR ({pages}.private_flag = "._OFF." AND ({pages}.space_type = "._SPACE_TYPE_GROUP." OR {pages}.space_type ="._SPACE_TYPE_PUBLIC."))) ";
+ }
//ルームのみ
$sql .= " AND {pages}.node_flag = ". _ON . " AND {pages}.room_id = {pages}.page_id ";
@@ -243,11 +237,11 @@ function _fetchcallbackMonthlyNumberList($result, $func_params) {
// name, thread_num, parent_id, display_sequence
$monthly_row_exists["nc".$row['name']][$row['page_id']] = true;
- if(!empty($monthly_list["nc".$row['name']][$row['page_id']][$row['month']])) {
- $monthly_list["nc".$row['name']][$row['page_id']][$row['month']] = $monthly_list["nc".$row['name']][$row['page_id']][$row['month']] + intval($row['number']);
- } else {
+ //if(!empty($monthly_list["nc".$row['name']][$row['page_id']][$row['month']])) {
+ // $monthly_list["nc".$row['name']][$row['page_id']][$row['month']] = $monthly_list["nc".$row['name']][$row['page_id']][$row['month']] + intval($row['number']);
+ //} else {
$monthly_list["nc".$row['name']][$row['page_id']][$row['month']] = intval($row['number']);
- }
+ //}
if($room_id == 0) {
//root_id,parent_idしか考慮しないため、サブグループが2つ以上作れる仕様にしてしまうと
From 3b870d85154bbe907dbb8a670390abf7645a1af8 Mon Sep 17 00:00:00 2001
From: Ryuji Masukawa
Date: Thu, 3 Dec 2015 10:21:42 +0900
Subject: [PATCH 06/14] =?UTF-8?q?=E4=BC=9A=E5=93=A1=E7=AE=A1=E7=90=86?=
=?UTF-8?q?=E3=81=A7=E5=85=A8=E9=81=B8=E6=8A=9E=E5=BE=8C=E3=80=81=E3=83=81?=
=?UTF-8?q?=E3=82=A7=E3=83=83=E3=82=AF=E3=82=92=E3=81=AF=E3=81=9A=E3=81=97?=
=?UTF-8?q?=E3=81=A6=E5=89=8A=E9=99=A4=E3=82=92=E8=A1=8C=E3=81=86=E3=81=A8?=
=?UTF-8?q?=E3=80=81=E3=83=81=E3=82=A7=E3=83=83=E3=82=AF=E3=82=92=E3=81=AF?=
=?UTF-8?q?=E3=81=9A=E3=81=97=E3=81=9F=E4=BC=9A=E5=93=A1=E3=81=AB=E3=81=A4?=
=?UTF-8?q?=E3=81=84=E3=81=A6=E3=82=82=E5=89=8A=E9=99=A4=E3=81=95=E3=82=8C?=
=?UTF-8?q?=E3=81=A6=E3=81=97=E3=81=BE=E3=81=86=EF=BC=882.4.0.1=E3=81=AB?=
=?UTF-8?q?=E3=82=88=E3=82=8B=E4=B8=8D=E5=85=B7=E5=90=88=E3=80=82=E3=81=9D?=
=?UTF-8?q?=E3=82=8C=E4=BB=A5=E5=89=8D=E3=81=AF=E5=95=8F=E9=A1=8C=E3=81=AA?=
=?UTF-8?q?=E3=81=97=EF=BC=89?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../modules/user/action/admin/seldelete/Seldelete.class.php | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/html/webapp/modules/user/action/admin/seldelete/Seldelete.class.php b/html/webapp/modules/user/action/admin/seldelete/Seldelete.class.php
index 730d879..440dd47 100644
--- a/html/webapp/modules/user/action/admin/seldelete/Seldelete.class.php
+++ b/html/webapp/modules/user/action/admin/seldelete/Seldelete.class.php
@@ -83,7 +83,9 @@ function execute()
continue;
}
}
-
+ if (!empty($this->select_user) && isset($this->delete_users[$user_id]) && $this->delete_users[$user_id] == _OFF) {
+ continue;
+ }
if (!empty($this->delete_users[$user_id])
|| !empty($this->select_user)) {
$targetUsers[] = $user_id;
From adc7dc27d075ff3937b31d3d8273283ecb10b9d2 Mon Sep 17 00:00:00 2001
From: Ryuji Masukawa
Date: Thu, 3 Dec 2015 11:36:27 +0900
Subject: [PATCH 07/14] =?UTF-8?q?mbstring=E3=81=8C=E3=81=AF=E3=81=84?=
=?UTF-8?q?=E3=81=A3=E3=81=A6=E3=81=84=E3=81=AA=E3=81=84=E5=A0=B4=E5=90=88?=
=?UTF-8?q?=E3=80=81=E8=87=AA=E5=89=8Dmbstrong=E3=82=92=E4=BD=BF=E7=94=A8?=
=?UTF-8?q?=E3=81=99=E3=82=8B=E3=81=8C=E3=80=81SJIS-win=E3=81=AB=E5=AF=BE?=
=?UTF-8?q?=E5=BF=9C=E3=81=97=E3=81=A6=E3=81=84=E3=81=AA=E3=81=84=E3=81=9F?=
=?UTF-8?q?=E3=82=81=E5=86=8D=E5=A4=89=E6=8F=9B=EF=BC=88IE=E3=81=AB?=
=?UTF-8?q?=E3=81=A6=E6=96=87=E5=AD=97=E5=8C=96=E3=81=91=E7=99=BA=E7=94=9F?=
=?UTF-8?q?=EF=BC=89=E3=80=82?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
html/webapp/config/define.inc.php | 3 +++
1 file changed, 3 insertions(+)
diff --git a/html/webapp/config/define.inc.php b/html/webapp/config/define.inc.php
index 9ee87b0..b78f962 100644
--- a/html/webapp/config/define.inc.php
+++ b/html/webapp/config/define.inc.php
@@ -9,6 +9,9 @@
} else if (stristr($_SERVER['HTTP_USER_AGENT'], 'Windows')) {
// Windowsの場合
$encode = 'SJIS-win';
+ if (!extension_loaded('mbstring') && !function_exists("mb_convert_encoding")) {
+ $encode = 'SJIS';
+ }
} else {
$encode = _CHARSET;
}
From addcdabe573972fb4df21c63db0a21ecd424a8d1 Mon Sep 17 00:00:00 2001
From: Ryuji Masukawa
Date: Fri, 20 May 2016 12:25:10 +0900
Subject: [PATCH 08/14] =?UTF-8?q?=E4=BC=9A=E5=93=A1=E7=AE=A1=E7=90=86?=
=?UTF-8?q?=EF=BC=9A=E3=83=90=E3=83=AA=E3=83=87=E3=83=BC=E3=82=B7=E3=83=A7?=
=?UTF-8?q?=E3=83=B3=E4=BF=AE=E6=AD=A3=E3=80=82?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../modules/user/validator/Validator_ItemsInputs.class.php | 3 +++
1 file changed, 3 insertions(+)
diff --git a/html/webapp/modules/user/validator/Validator_ItemsInputs.class.php b/html/webapp/modules/user/validator/Validator_ItemsInputs.class.php
index 0d31c3e..d3faeee 100644
--- a/html/webapp/modules/user/validator/Validator_ItemsInputs.class.php
+++ b/html/webapp/modules/user/validator/Validator_ItemsInputs.class.php
@@ -131,6 +131,9 @@ function validate($attributes, $errStr, $params)
//システム管理者の場合、変更不可
if($attributes['user_id'] == $_system_user_id && $content != _SYSTEM_ROLE_AUTH_ID) {
return $err_prefix._INVALID_INPUT;
+ } else if ($content == _SYSTEM_ROLE_AUTH_ID && $session->getParameter("_user_auth_id") != _AUTH_ADMIN) {
+ // システム管理者へ権限を変更できるのは、管理者だけ
+ return $err_prefix._INVALID_INPUT;
}
}
if($items['type'] == "email" || $items['type'] == "mobile_email") {
From ec7b4b7ae95c1edfee19e338c18b0006431eec1c Mon Sep 17 00:00:00 2001
From: Ryuji Masukawa
Date: Fri, 27 May 2016 11:45:49 +0900
Subject: [PATCH 09/14] =?UTF-8?q?=E4=BC=9A=E5=93=A1=E7=AE=A1=E7=90=86?=
=?UTF-8?q?=EF=BC=9A=E5=BF=B5=E3=81=AE=E7=82=BA=E3=80=81=E3=82=BB=E3=82=AD?=
=?UTF-8?q?=E3=83=A5=E3=83=AA=E3=83=86=E3=82=A3=E3=81=95=E3=82=89=E3=81=AB?=
=?UTF-8?q?=E5=BC=B7=E5=8C=96=E3=80=82?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../user/validator/Validator_ItemsInputs.class.php | 11 +++++++++++
1 file changed, 11 insertions(+)
diff --git a/html/webapp/modules/user/validator/Validator_ItemsInputs.class.php b/html/webapp/modules/user/validator/Validator_ItemsInputs.class.php
index d3faeee..dd70479 100644
--- a/html/webapp/modules/user/validator/Validator_ItemsInputs.class.php
+++ b/html/webapp/modules/user/validator/Validator_ItemsInputs.class.php
@@ -36,6 +36,7 @@ function validate($attributes, $errStr, $params)
$container =& DIContainerFactory::getContainer();
$session =& $container->getComponent("Session");
$usersView =& $container->getComponent("usersView");
+ $authoritiesView =& $container->getComponent("authoritiesView");
$_system_user_id = $session->getParameter("_system_user_id");
if(!isset($attributes['user_id'])) $attributes['user_id'] = "0";
@@ -135,6 +136,16 @@ function validate($attributes, $errStr, $params)
// システム管理者へ権限を変更できるのは、管理者だけ
return $err_prefix._INVALID_INPUT;
}
+ $_user_auth_id = $session->getParameter("_user_auth_id");
+ $_role_auth_id = $session->getParameter("_role_auth_id");
+ $authority = $authoritiesView->getAuthorityByID($content);
+ if ($_user_auth_id == _AUTH_CHIEF && $authority["user_authority_id"] >= _AUTH_CHIEF) {
+ // 事務局が、主担、事務局以上
+ return $err_prefix._INVALID_INPUT;
+ } else if ($_user_auth_id == _AUTH_ADMIN && $_role_auth_id != _ROLE_AUTH_ADMIN && $authority["role_authority_id"] == _ROLE_AUTH_ADMIN) {
+ // 管理者がシステム管理者へ
+ return $err_prefix._INVALID_INPUT;
+ }
}
if($items['type'] == "email" || $items['type'] == "mobile_email") {
$email = $content;
From 63c3ebed814475f87bc4fe4e3f0aeeb463c81c47 Mon Sep 17 00:00:00 2001
From: Ryuji Masukawa
Date: Mon, 6 Jun 2016 12:02:21 +0900
Subject: [PATCH 10/14] =?UTF-8?q?#93=20=E5=86=8D=E4=BF=AE=E6=AD=A3?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
html/maple/nccore/db/DbObjectAdodb.class.php | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/html/maple/nccore/db/DbObjectAdodb.class.php b/html/maple/nccore/db/DbObjectAdodb.class.php
index 81c7e25..8258c9e 100644
--- a/html/maple/nccore/db/DbObjectAdodb.class.php
+++ b/html/maple/nccore/db/DbObjectAdodb.class.php
@@ -916,8 +916,10 @@ function addError($error_no=null, $error_mes=null)
$session =& $container->getComponent("Session");
if(isset($session) && $session->getParameter("_php_debug") == _ON) {
$errorList->add($this->ErrorNo(), $this->ErrorMsg(). ":\n". $this->_bck_sql);
- } else {
+ } else if (defined('_INVALID_INPUT')) {
$errorList->add($this->ErrorNo(), _INVALID_INPUT);
+ } else {
+ $errorList->add($this->ErrorNo(), "Security Error! Unauthorized input.");
}
} else {
$errorList->add($error_no, $error_mes);
From 9ff513c811888ed75e300c2f99a8a1631ac75394 Mon Sep 17 00:00:00 2001
From: Ryuji Masukawa
Date: Tue, 6 Sep 2016 16:52:28 +0900
Subject: [PATCH 11/14] =?UTF-8?q?=E6=8E=B2=E7=A4=BA=E6=9D=BF=E3=81=AE?=
=?UTF-8?q?=E6=8A=95=E7=A8=BF=E7=AD=89=E3=82=92=E3=83=A1=E3=83=BC=E3=83=AB?=
=?UTF-8?q?=E3=81=A7=E5=8F=97=E3=81=91=E5=8F=96=E3=82=8A=E3=80=81=E3=81=9D?=
=?UTF-8?q?=E3=82=8C=E3=82=92=E3=82=B9=E3=83=9E=E3=83=9B=E3=81=A7=E7=A2=BA?=
=?UTF-8?q?=E8=AA=8D=E3=81=97=E3=80=81=E3=83=A1=E3=83=BC=E3=83=AB=E4=B8=8B?=
=?UTF-8?q?=E9=83=A8=E3=81=AE=E3=83=AA=E3=83=B3=E3=82=AF=E3=81=8B=E3=82=89?=
=?UTF-8?q?=20NC2=E3=81=AE=E3=82=B5=E3=82=A4=E3=83=88=E3=82=92=E9=96=B2?=
=?UTF-8?q?=E8=A6=A7=E3=81=99=E3=82=8B=E3=81=A8=E7=94=BB=E9=9D=A2=E3=81=8C?=
=?UTF-8?q?=E7=9C=9F=E3=81=A3=E7=99=BD=E3=81=AB=E3=81=AA=E3=82=8B=E3=80=82?=
=?UTF-8?q?=20=EF=BC=88URL=E3=81=AB=E3=80=8C=EF=BC=83=E3=80=8D=E3=82=92?=
=?UTF-8?q?=E3=81=A4=E3=81=91=E3=81=9F=E3=82=82=E3=81=AE=E3=81=AFjQueryMob?=
=?UTF-8?q?ile=E3=81=AF=E3=82=A2=E3=83=B3=E3=82=AB=E3=83=BC=E3=82=BF?=
=?UTF-8?q?=E3=82=B0=E3=81=A7=E3=81=AF=20=E3=81=AA=E3=81=8F=E3=80=81?=
=?UTF-8?q?=E7=8B=AC=E8=87=AA=E3=81=AB=E7=AE=A1=E7=90=86=E3=81=97=E3=81=A6?=
=?UTF-8?q?=E3=81=84=E3=82=8B=E3=83=9A=E3=83=BC=E3=82=B8=E3=83=87=E3=83=BC?=
=?UTF-8?q?=E3=82=BF=E3=81=B8=E3=81=AE=E3=82=A2=E3=82=AF=E3=82=BB=E3=82=B9?=
=?UTF-8?q?=E3=81=A8=E5=87=A6=E7=90=86=E3=81=97=E3=81=A6=E3=81=84=E3=82=8B?=
=?UTF-8?q?=E3=81=93=E3=81=A8=E3=81=8C=E5=88=A4=E6=98=8E=20=E3=81=97?=
=?UTF-8?q?=E3=81=BE=E3=81=97=E3=81=9F=E3=80=82=EF=BC=89=20=3D>=E3=80=8C$.?=
=?UTF-8?q?mobile.hashListeningEnabled=20=3D=20false;=E3=80=8D=E3=81=AB?=
=?UTF-8?q?=E3=81=99=E3=82=8B=E3=81=93=E3=81=A8=E3=81=AB=E3=82=88=E3=82=8A?=
=?UTF-8?q?=E5=AF=BE=E5=BF=9C=E3=80=82?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
html/webapp/templates/main/mobile_smart.html | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/html/webapp/templates/main/mobile_smart.html b/html/webapp/templates/main/mobile_smart.html
index 4329aed..f1ef9ec 100644
--- a/html/webapp/templates/main/mobile_smart.html
+++ b/html/webapp/templates/main/mobile_smart.html
@@ -7,6 +7,11 @@
<{$smarty.const.INDEX_FILE_NAME}>?action=common_download_css&dir_name=/comp/extension/jquery.mobile-1.0.1.min.css&header=0&vs=<{$smarty.const._CSS_VERSION}>" />
<{$smarty.const.INDEX_FILE_NAME}>?action=common_download_css&dir_name=/comp/extension/jquery.mobile_addition.css&header=0&vs=<{$smarty.const._CSS_VERSION}>" />
+
From 909fdcadc30a3d4cf209546bbb5fce1bb8f920ff Mon Sep 17 00:00:00 2001
From: Ryuji Masukawa
Date: Tue, 4 Oct 2016 13:59:28 +0900
Subject: [PATCH 12/14] =?UTF-8?q?=E6=BA=96=E5=82=99=E4=B8=AD=E3=81=AE?=
=?UTF-8?q?=E3=82=82=E3=81=AE=E3=81=8C=E4=B8=80=E9=83=A8=E8=A1=A8=E7=A4=BA?=
=?UTF-8?q?=E3=81=95=E3=82=8C=E3=82=8B=E4=B8=8D=E5=85=B7=E5=90=88=E3=81=AB?=
=?UTF-8?q?=E5=AF=BE=E5=BF=9C?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../admin/chgdisplay/Chgdisplay.class.php | 28 ++++++++++++++++---
1 file changed, 24 insertions(+), 4 deletions(-)
mode change 100755 => 100644 html/webapp/modules/room/action/admin/chgdisplay/Chgdisplay.class.php
diff --git a/html/webapp/modules/room/action/admin/chgdisplay/Chgdisplay.class.php b/html/webapp/modules/room/action/admin/chgdisplay/Chgdisplay.class.php
old mode 100755
new mode 100644
index 173d264..4e7ec24
--- a/html/webapp/modules/room/action/admin/chgdisplay/Chgdisplay.class.php
+++ b/html/webapp/modules/room/action/admin/chgdisplay/Chgdisplay.class.php
@@ -53,10 +53,15 @@ function execute()
// --- 準備中->公開中に変更した場合、そのサブグループも公開中にする
// ----------------------------------------------------------------------
if($this->page['display_flag'] != $display_flag) {
- $where_params = array(
- "parent_id" => intval($this->edit_current_page_id)
+ $rooms_where_params = array(
+ "room_id = ".intval($this->edit_current_page_id)." OR parent_id = ".intval($this->edit_current_page_id) => null
);
- $subgroup_pages_id_arr =& $this->pagesView->getPages($where_params, null, null, null, array($this, "_subpagesFetchcallback"));
+ $rooms_id_arr =& $this->pagesView->getPages($rooms_where_params, null, null, null, array($this, "_roomsFetchcallback"));
+ $pages_where_params = array(
+ " room_id IN (". implode(",", $rooms_id_arr). ") " => null
+ );
+ $subgroup_pages_id_arr =& $this->pagesView->getPages($pages_where_params, null, null, null, array($this, "_subpagesFetchcallback"));
+
if(count($subgroup_pages_id_arr) > 0) {
$params = array(
"display_flag" => $display_flag
@@ -71,7 +76,22 @@ function execute()
}
}
}
-
+
+ // add by mutaguchi@opensource-workshop.jp
+ /**
+ * fetch時コールバックメソッド
+ * @param result adodb object
+ * @return array items
+ * @access private
+ */
+ function &_roomsFetchcallback($result) {
+ $ret = array();
+ while ($row = $result->fetchRow()) {
+ $ret[$row['room_id']] = $row['room_id'];
+ }
+ return $ret;
+ }
+
/**
* fetch時コールバックメソッド
* @param result adodb object
From b4fb8b6f6fc7077bd2ccc9a4a10aacdf6fe4d6a5 Mon Sep 17 00:00:00 2001
From: kteraguchi
Date: Tue, 25 Apr 2017 18:04:04 +0900
Subject: [PATCH 13/14] Fix script tag escape
---
html/webapp/components/escape/Text.class.php | 9 +++++----
1 file changed, 5 insertions(+), 4 deletions(-)
diff --git a/html/webapp/components/escape/Text.class.php b/html/webapp/components/escape/Text.class.php
index c3e1ae6..7572899 100644
--- a/html/webapp/components/escape/Text.class.php
+++ b/html/webapp/components/escape/Text.class.php
@@ -445,6 +445,11 @@ function _escapeWysiwygAllowHtmltag($string) {
$script_flag = false;
foreach ($parts as $part) {
// script-/scriptまではそのまま連結
+ if(preg_match("/<\/script>$/u", $part)) {
+ $script_flag = false;
+ $string .= $part;
+ continue;
+ }
if(preg_match("/^/u", $part) || $script_flag == true) {
$script_flag = true;
if (preg_match("/<\!\-\-comment\-\->/u", $part)) {
@@ -453,10 +458,6 @@ function _escapeWysiwygAllowHtmltag($string) {
}
$string .= $part;
continue;
- } else if(preg_match("/<\/script>$/u", $part)) {
- $script_flag = false;
- $string .= $part;
- continue;
}
if (preg_match("/<\!\-\-comment\-\->/u", $part)) {
From c06abd188c5e04d4f52ae58b587d9915f23341bf Mon Sep 17 00:00:00 2001
From: Ryuji Masukawa
Date: Wed, 17 Jan 2018 18:52:29 +0900
Subject: [PATCH 14/14] =?UTF-8?q?=E4=BB=A5=E4=B8=8B=E3=81=AE=E4=B8=8D?=
=?UTF-8?q?=E5=85=B7=E5=90=88=E3=82=92=E4=BF=AE=E6=AD=A3=20=E2=91=A0?=
=?UTF-8?q?=E6=96=B0=E8=A6=8F=E3=81=A7ToDo=E3=82=92=E4=BD=9C=E6=88=90=20?=
=?UTF-8?q?=E2=91=A1ToDo=E3=82=92=E8=BF=BD=E5=8A=A0=EF=BC=88=E3=82=AB?=
=?UTF-8?q?=E3=83=AC=E3=83=B3=E3=83=80=E3=83=BC=E3=81=AB=E8=A1=A8=E7=A4=BA?=
=?UTF-8?q?=E3=81=95=E3=81=9B=E3=82=8B=EF=BC=89=20=E2=91=A2=E3=82=BB?=
=?UTF-8?q?=E3=83=83=E3=83=86=E3=82=A3=E3=83=B3=E3=82=B0=E3=83=A2=E3=83=BC?=
=?UTF-8?q?=E3=83=89=E3=81=A7ToDo=E3=83=AA=E3=82=B9=E3=83=88=E4=B8=80?=
=?UTF-8?q?=E8=A6=A7=E8=A1=A8=E7=A4=BA=E3=81=AE=E7=8A=B6=E6=85=8B=E3=81=A7?=
=?UTF-8?q?=E3=83=AA=E3=82=B9=E3=83=88=E9=81=B8=E6=8A=9E=E3=80=81=E3=80=8C?=
=?UTF-8?q?=E5=89=8A=E9=99=A4=E3=80=8D=E3=83=9C=E3=82=BF=E3=83=B3=E6=8A=BC?=
=?UTF-8?q?=E4=B8=8B=20=E2=91=A3=E3=82=AB=E3=83=AC=E3=83=B3=E3=83=80?=
=?UTF-8?q?=E3=83=BC=E3=81=AE=E4=BA=88=E5=AE=9A=E3=81=8C=E5=89=8A=E9=99=A4?=
=?UTF-8?q?=E3=81=95=E3=82=8C=E3=81=9A=E6=AE=8B=E3=81=A3=E3=81=A6=E3=81=84?=
=?UTF-8?q?=E3=82=8B=E7=8A=B6=E6=85=8B?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
html/webapp/modules/todo/action/dicon.ini | 3 ++-
.../todo/action/edit/delete/Delete.class.php | 14 ++++++++++++++
.../modules/todo/action/edit/delete/maple.ini | 1 +
3 files changed, 17 insertions(+), 1 deletion(-)
diff --git a/html/webapp/modules/todo/action/dicon.ini b/html/webapp/modules/todo/action/dicon.ini
index a22cc43..d94360c 100644
--- a/html/webapp/modules/todo/action/dicon.ini
+++ b/html/webapp/modules/todo/action/dicon.ini
@@ -1,3 +1,4 @@
[DIContainer]
todoAction = "modules://todo.components.action"
-todoView = "modules://todo.components.view"
\ No newline at end of file
+todoView = "modules://todo.components.view"
+calendarPlanAction = "calendar.action"
diff --git a/html/webapp/modules/todo/action/edit/delete/Delete.class.php b/html/webapp/modules/todo/action/edit/delete/Delete.class.php
index bf49ca8..d2d0144 100644
--- a/html/webapp/modules/todo/action/edit/delete/Delete.class.php
+++ b/html/webapp/modules/todo/action/edit/delete/Delete.class.php
@@ -19,6 +19,7 @@ class Todo_Action_Edit_Delete extends Action
// 使用コンポーネントを受け取るため
var $todoAction = null;
var $db = null;
+ var $calendarPlanAction = null;
/**
* Todo削除アクション
@@ -27,6 +28,19 @@ class Todo_Action_Edit_Delete extends Action
*/
function execute()
{
+ $whereParams = array(
+ "todo_id" => $this->todo_id,
+ "calendar_id!=0" => null
+ );
+ $tasks = $this->db->selectExecute('todo_task', $whereParams);
+ if(!empty($tasks)) {
+ foreach($tasks as $task) {
+ if (!$this->calendarPlanAction->deletePlan($task["calendar_id"], CALENDAR_PLAN_EDIT_THIS)) {
+ return false;
+ }
+ }
+ }
+
$whereParams = array(
"todo_id" => $this->todo_id
);
diff --git a/html/webapp/modules/todo/action/edit/delete/maple.ini b/html/webapp/modules/todo/action/edit/delete/maple.ini
index ba8de50..6bf5c35 100644
--- a/html/webapp/modules/todo/action/edit/delete/maple.ini
+++ b/html/webapp/modules/todo/action/edit/delete/maple.ini
@@ -6,6 +6,7 @@ key:room_id,block_id,todo_id.todo.todoExists = "1:lang._invalid_input"
[Action]
db = "ref:DbObject"
+calendarPlanAction = "ref:calendarPlanAction"
[View]
success = "action:todo_view_edit_list"
\ No newline at end of file