PunBB 1.4 to 1.4.1 changes

PunBB 1.4 to 1.4.1 changes Legend
Lines removed
Lines changed
Lines added

punbb-1.4/admin/db_update.php punbb-1.4.1/admin/db_update.php
10: */ 10: */
11: 11:
12: 12:
13: define('UPDATE_TO', '1.4'); 13: define('UPDATE_TO', '1.4.1');
14: define('UPDATE_TO_DB_REVISION', 5); 14: define('UPDATE_TO_DB_REVISION', 5);
15: 15:
16: // The number of items to process per pageview (lower this if the update script times out during UTF-8 conversion) 16: // The number of items to process per pageview (lower this if the update script times out during UTF-8 conversion)
101: error('Version mismatch. The database \''.$db_name.'\' doesn\'t seem to be running a PunBB database schema supported by this update script.', __FILE__, __LINE__);101: error('Version mismatch. The database \''.$db_name.'\' doesn\'t seem to be running a PunBB database schema supported by this update script.', __FILE__, __LINE__);
102: 102:
103: // If we've already done charset conversion in a previous update, we have to do SET NAMES103: // If we've already done charset conversion in a previous update, we have to do SET NAMES
104: $forum_db->set_names(strpos($cur_version, '1.3') === 0 ? 'utf8' : 'latin1');104: $forum_db->set_names(version_compare($cur_version, '1.3', '>=') ? 'utf8' : 'latin1');
105: 105:
106: // If MySQL, make sure it's at least 4.1.2106: // If MySQL, make sure it's at least 4.1.2
107: if (in_array($db_type, array('mysql', 'mysqli', 'mysql_innodb', 'mysqli_innodb')))107: if (in_array($db_type, array('mysql', 'mysqli', 'mysql_innodb', 'mysqli_innodb')))
1348: $forum_db->query_build($query) or error(__FILE__, __LINE__);1348: $forum_db->query_build($query) or error(__FILE__, __LINE__);
1349: }1349: }
1350: 1350:
1351: // Fix linkedIn possible XSS founded in 1.4.0
1352: if (version_compare($cur_version, '1.3', '>') && version_compare($cur_version, '1.4.1', '<'))
1353: {
1354: if ($forum_db->field_exists('users', 'linkedin'))
1355: {
1356: $query = array(
1357: 'SELECT' => 'id, linkedin',
1358: 'FROM' => 'users',
1359: 'WHERE' => 'linkedin IS NOT NULL'
1360: );
1361: $result = $forum_db->query_build($query) or error(__FILE__, __LINE__);
1362:
1363: while ($cur_user = $forum_db->fetch_assoc($result))
1364: {
1365: if ($cur_user['linkedin'] != '' &&
1366: strpos(strtolower($cur_user['linkedin']), 'http://') !== 0 &&
1367: strpos(strtolower($cur_user['linkedin']), 'https://') !== 0)
1368: {
1369: $query = array(
1370: 'UPDATE' => 'users',
1371: 'SET' => 'linkedin=\''.$forum_db->escape('http://'.$cur_user['linkedin']).'\'',
1372: 'WHERE' => 'id = \''.$cur_user['id'].'\''
1373: );
1374: $forum_db->query_build($query) or error(__FILE__, __LINE__);
1375: }
1376: }
1377: }
1378: }
1351: 1379:
1352: 1380:
1353: // Should we do charset conversion or not?1381: // Should we do charset conversion or not?
1354: if (strpos($cur_version, '1.3') === 0)1382: if (version_compare($cur_version, '1.3', '>='))
1355: $query_str = '?stage=finish';1383: $query_str = '?stage=finish';
1356: elseif (strpos($cur_version, '1.2') === 0 && isset($_GET['convert_charset']))1384: elseif (strpos($cur_version, '1.2') === 0 && isset($_GET['convert_charset']))
1357: $query_str = '?stage=conv_misc&req_old_charset='.$old_charset.'&req_per_page='.PER_PAGE;1385: $query_str = '?stage=conv_misc&req_old_charset='.$old_charset.'&req_per_page='.PER_PAGE;


punbb-1.4/admin/install.php punbb-1.4.1/admin/install.php
10: */ 10: */
11: 11:
12: 12:
13: define('FORUM_VERSION', '1.4'); 13: define('FORUM_VERSION', '1.4.1');
14: define('FORUM_DB_REVISION', 5); 14: define('FORUM_DB_REVISION', 5);
15: define('MIN_PHP_VERSION', '5.0.0'); 15: define('MIN_PHP_VERSION', '5.0.0');
16: define('MIN_MYSQL_VERSION', '4.1.2'); 16: define('MIN_MYSQL_VERSION', '4.1.2');


punbb-1.4/ChangeLog punbb-1.4.1/ChangeLog
1: PunBB 1.4.1
2: 2011年10月27日 20:29:00
3: ====================
4:
5: * fixed XSS vulnerability in profile.php (reported by Secunia)
6: * fixed javascript errors on Internet Explorer 6 and 7 (reported by hklown)
7:
8:
1: PunBB 1.4 9: PunBB 1.4
2: 2011年10月30日 10:25:00 10: 2011年10月30日 10:25:00
3: ==================== 11: ====================


punbb-1.4/footer.php punbb-1.4.1/footer.php
88: user_lang: "'.forum_htmlencode($forum_user['language']).'", 88: user_lang: "'.forum_htmlencode($forum_user['language']).'",
89: user_style: "'.forum_htmlencode($forum_user['style']).'", 89: user_style: "'.forum_htmlencode($forum_user['style']).'",
90: user_is_guest: "'.forum_htmlencode(($forum_user['is_guest'] == 1) ? "1" : "0").'", 90: user_is_guest: "'.forum_htmlencode(($forum_user['is_guest'] == 1) ? "1" : "0").'",
91: page: "'.forum_htmlencode((defined("FORUM_PAGE")) ? FORUM_PAGE : "unknown" ).'", 91: page: "'.forum_htmlencode((defined("FORUM_PAGE")) ? FORUM_PAGE : "unknown" ).'"
92: };'; 92: };';
93: 93:
94: 94:


punbb-1.4/include/essentials.php punbb-1.4.1/include/essentials.php
11: exit('The constant FORUM_ROOT must be defined and point to a valid PunBB installation root directory.'); 11: exit('The constant FORUM_ROOT must be defined and point to a valid PunBB installation root directory.');
12: 12:
13: // Define the version and database revision that this code was written for 13: // Define the version and database revision that this code was written for
14: define('FORUM_VERSION', '1.4'); 14: define('FORUM_VERSION', '1.4.1');
15: define('FORUM_DB_REVISION', 5); 15: define('FORUM_DB_REVISION', 5);
16: 16:
17: // Record the start time (will be used to calculate the generation time for the page) 17: // Record the start time (will be used to calculate the generation time for the page)


punbb-1.4/include/js/min/punbb.common.min.js punbb-1.4.1/include/js/min/punbb.common.min.js
3: MIT License 3: MIT License
4: */ 4: */
5: (function(c){var h="string",k="head",t="body",U="script",O="readyState",R="preloaddone",D="loadtrigger",K="srcuri",H="preload",u="complete",f="done",b="which",v="preserve",o="onreadystatechange",L="onload",I="hasOwnProperty",E="script/cache",g="[object ",M=g+"Function]",F=g+"Array]",y=null,G=true,z=false,n=c.document,N=c.location,S=c.ActiveXObject,e=c.setTimeout,C=c.clearTimeout,T=function(V){return n.getElementsByTagName(V);},r=Object.prototype.toString,s=function(){},w={},A={},a=/^[^?#]*\//.exec(N.href)[0],x=/^\w+\:\/\/\/?[^\/]+/.exec(a)[0],Q=T(U),p=c.opera&&r.call(c.opera)==g+"Opera]",q=("MozAppearance" in n.documentElement.style),d=(n.createElement(U).async===true),m={cache:!(q||p),order:q||p||d,xhr:G,dupe:G,base:"",which:k};m[v]=z;m[H]=G;w[k]=n.head||T(k);w[t]=T(t);function P(V){return r.call(V)===M;}function B(Y,X){var W=/^\w+\:\/\//,V;if(typeof Y!=h){Y="";}if(typeof X!=h){X="";}V=((/^\/\//.test(Y))?N.protocol:"")+Y;V=(W.test(V)?"":X)+V;return((W.test(V)?"":(V.charAt(0)==="/"?x:a))+V);}function J(V){return(B(V).indexOf(x)===0);}function i(X){var W,V=-1;while(W=Q[++V]){if(typeof W.src==h&&X===B(W.src)&&W.type!==E){return G;}}return z;}function l(ay,am){ay=!(!ay);if(am==y){am=m;}var al=z,af=ay&&am[H],at=af&&am.cache,av=af&&am.order,Z=af&&am.xhr,aw=am[v],Y=am.which,ap=am.base,aa=s,ao=z,ai,ac=G,ad={},au=[],ag=y;af=at||Z||av;function ax(aA,az){if((aA[O]&&aA[O]!==u&&aA[O]!=="loaded")||az[f]){return z;}aA[L]=aA[o]=y;return G;}function X(aB,aA,aC){aC=!(!aC);if(!aC&&!(ax(aB,aA))){return;}aA[f]=G;for(var az in ad){if(ad[I](az)&&!(ad[az][f])){return;}}al=G;aa();}function ah(az){if(P(az[D])){az[D]();az[D]=y;}}function ae(aA,az){if(!ax(aA,az)){return;}az[R]=G;e(function(){w[az[b]].removeChild(aA);ah(az);},0);}function V(aA,az){if(aA[O]===4){aA[o]=s;az[R]=G;e(function(){ah(az);},0);}}function ar(aB,aE,aC,aF,aD,az){var aA=aB[b];e(function(){if("item" in w[aA]){if(!w[aA][0]){e(arguments.callee,25);return;}w[aA]=w[aA][0];}var aG=n.createElement(U);if(typeof aC==h){aG.type=aC;}if(typeof aF==h){aG.charset=aF;}if(P(aD)){aG[L]=aG[o]=function(){aD(aG,aB);};aG.src=aE;if(d){aG.async=z;}}w[aA].insertBefore(aG,(aA===k?w[aA].firstChild:y));if(typeof az==h){aG.text=az;X(aG,aB,G);}},0);}function ak(az,aB,aA,aC){A[az[K]]=G;ar(az,aB,aA,aC,X);}function aq(aA,aC,aB,aD){var az=arguments;if(ac&&aA[R]==y){aA[R]=z;ar(aA,aC,E,aD,ae);}else{if(!ac&&aA[R]!=y&&!aA[R]){aA[D]=function(){aq.apply(y,az);};}else{if(!ac){ak.apply(y,az);}}}}function W(aA,aD,aB,aE){var az=arguments,aC;if(ac&&aA[R]==y){aA[R]=z;aC=aA.xhr=(S?new S("Microsoft.XMLHTTP"):new c.XMLHttpRequest());aC[o]=function(){V(aC,aA);};aC.open("GET",aD);aC.send("");}else{if(!ac&&aA[R]!=y&&!aA[R]){aA[D]=function(){W.apply(y,az);};}else{if(!ac){A[aA[K]]=G;ar(aA,aD,aB,aE,y,aA.xhr.responseText);aA.xhr=y;}}}}function aj(aF){if(typeof aF=="undefined"||!aF){return;}if(aF.allowDup==y){aF.allowDup=am.dupe;}var aE=aF.src,aC=aF.type,aG=aF.charset,aA=aF.allowDup,az=B(aE,ap),aB,aD=J(az);if(typeof aG!=h){aG=y;}aA=!(!aA);if(!aA&&((A[az]!=y)||(ac&&ad[az])||i(az))){if(ad[az]!=y&&ad[az][R]&&!ad[az][f]&&aD){X(y,ad[az],G);}return;}if(ad[az]==y){ad[az]={};}aB=ad[az];if(aB[b]==y){aB[b]=Y;}aB[f]=z;aB[K]=az;ao=G;if(!av&&Z&&aD){W(aB,az,aC,aG);}else{if(!av&&at){aq(aB,az,aC,aG);}else{ak(aB,az,aC,aG);}}}function ab(az){if(ay&&!av){au.push(az);}if(!ay||af){az();}}function an(aB){var aA=[],az;for(az=-1;++az<aB.length;){if(r.call(aB[az])===F){aA=aA.concat(an(aB[az]));}else{aA[aA.length]=aB[az];}}return aA;}ai={script:function(){C(ag);var aB=an(arguments),aA=ai,az;if(aw){for(az=-1;++az<aB.length;){if(P(aB[az])){aB[az]=aB[az]();}if(az===0){ab(function(){aj((typeof aB[0]==h)?{src:aB[0]}:aB[0]);});}else{aA=aA.script(aB[az]);}aA=aA.wait();}}else{for(az=-1;++az<aB.length;){if(P(aB[az])){aB[az]=aB[az]();}}ab(function(){for(az=-1;++az<aB.length;){aj((typeof aB[az]==h)?{src:aB[az]}:aB[az]);}});}ag=e(function(){ac=z;},5);return aA;},wait:function(aC){C(ag);ac=z;if(!P(aC)){aC=s;}var aD=l(ay||ao,am),az=aD.trigger,aB=function(){try{aC();}catch(aE){}az();};delete aD.trigger;var aA=function(){if(ao&&!al){aa=aB;}else{aB();}};if(ay&&!ao){au.push(aA);}else{ab(aA);}return aD;}};if(ay){ai.trigger=function(){var aA,az=-1;while(aA=au[++az]){aA();}au=[];};}else{ai.trigger=s;}return ai;}function j(Z){var V,X={},W={"UseCachePreload":"cache","UseLocalXHR":"xhr","UsePreloading":H,"AlwaysPreserveOrder":v,"AllowDuplicates":"dupe"},Y={"AppendTo":b,"BasePath":"base"};for(V in W){Y[V]=W[V];}X.order=!(!m.order);for(V in Y){if(Y[I](V)&&m[Y[V]]!=y){X[Y[V]]=(Z[V]!=y)?Z[V]:m[Y[V]];}}for(V in W){if(W[I](V)){X[W[V]]=!(!X[W[V]]);}}if(!X[H]){X.cache=X.order=X.xhr=z;}X.which=(X.which===k||X.which===t)?X.which:k;return X;}c.$LAB={setGlobalDefaults:function(V){m=j(V);},setOptions:function(V){return l(z,j(V));},script:function(){return l().script.apply(y,arguments);},wait:function(){return l().wait.apply(y,arguments);}};(function(X,V,W){if(n[O]==y&&n[X]){n[O]="loading"; 5: (function(c){var h="string",k="head",t="body",U="script",O="readyState",R="preloaddone",D="loadtrigger",K="srcuri",H="preload",u="complete",f="done",b="which",v="preserve",o="onreadystatechange",L="onload",I="hasOwnProperty",E="script/cache",g="[object ",M=g+"Function]",F=g+"Array]",y=null,G=true,z=false,n=c.document,N=c.location,S=c.ActiveXObject,e=c.setTimeout,C=c.clearTimeout,T=function(V){return n.getElementsByTagName(V);},r=Object.prototype.toString,s=function(){},w={},A={},a=/^[^?#]*\//.exec(N.href)[0],x=/^\w+\:\/\/\/?[^\/]+/.exec(a)[0],Q=T(U),p=c.opera&&r.call(c.opera)==g+"Opera]",q=("MozAppearance" in n.documentElement.style),d=(n.createElement(U).async===true),m={cache:!(q||p),order:q||p||d,xhr:G,dupe:G,base:"",which:k};m[v]=z;m[H]=G;w[k]=n.head||T(k);w[t]=T(t);function P(V){return r.call(V)===M;}function B(Y,X){var W=/^\w+\:\/\//,V;if(typeof Y!=h){Y="";}if(typeof X!=h){X="";}V=((/^\/\//.test(Y))?N.protocol:"")+Y;V=(W.test(V)?"":X)+V;return((W.test(V)?"":(V.charAt(0)==="/"?x:a))+V);}function J(V){return(B(V).indexOf(x)===0);}function i(X){var W,V=-1;while(W=Q[++V]){if(typeof W.src==h&&X===B(W.src)&&W.type!==E){return G;}}return z;}function l(ay,am){ay=!(!ay);if(am==y){am=m;}var al=z,af=ay&&am[H],at=af&&am.cache,av=af&&am.order,Z=af&&am.xhr,aw=am[v],Y=am.which,ap=am.base,aa=s,ao=z,ai,ac=G,ad={},au=[],ag=y;af=at||Z||av;function ax(aA,az){if((aA[O]&&aA[O]!==u&&aA[O]!=="loaded")||az[f]){return z;}aA[L]=aA[o]=y;return G;}function X(aB,aA,aC){aC=!(!aC);if(!aC&&!(ax(aB,aA))){return;}aA[f]=G;for(var az in ad){if(ad[I](az)&&!(ad[az][f])){return;}}al=G;aa();}function ah(az){if(P(az[D])){az[D]();az[D]=y;}}function ae(aA,az){if(!ax(aA,az)){return;}az[R]=G;e(function(){w[az[b]].removeChild(aA);ah(az);},0);}function V(aA,az){if(aA[O]===4){aA[o]=s;az[R]=G;e(function(){ah(az);},0);}}function ar(aB,aE,aC,aF,aD,az){var aA=aB[b];e(function(){if("item" in w[aA]){if(!w[aA][0]){e(arguments.callee,25);return;}w[aA]=w[aA][0];}var aG=n.createElement(U);if(typeof aC==h){aG.type=aC;}if(typeof aF==h){aG.charset=aF;}if(P(aD)){aG[L]=aG[o]=function(){aD(aG,aB);};aG.src=aE;if(d){aG.async=z;}}w[aA].insertBefore(aG,(aA===k?w[aA].firstChild:y));if(typeof az==h){aG.text=az;X(aG,aB,G);}},0);}function ak(az,aB,aA,aC){A[az[K]]=G;ar(az,aB,aA,aC,X);}function aq(aA,aC,aB,aD){var az=arguments;if(ac&&aA[R]==y){aA[R]=z;ar(aA,aC,E,aD,ae);}else{if(!ac&&aA[R]!=y&&!aA[R]){aA[D]=function(){aq.apply(y,az);};}else{if(!ac){ak.apply(y,az);}}}}function W(aA,aD,aB,aE){var az=arguments,aC;if(ac&&aA[R]==y){aA[R]=z;aC=aA.xhr=(S?new S("Microsoft.XMLHTTP"):new c.XMLHttpRequest());aC[o]=function(){V(aC,aA);};aC.open("GET",aD);aC.send("");}else{if(!ac&&aA[R]!=y&&!aA[R]){aA[D]=function(){W.apply(y,az);};}else{if(!ac){A[aA[K]]=G;ar(aA,aD,aB,aE,y,aA.xhr.responseText);aA.xhr=y;}}}}function aj(aF){if(typeof aF=="undefined"||!aF){return;}if(aF.allowDup==y){aF.allowDup=am.dupe;}var aE=aF.src,aC=aF.type,aG=aF.charset,aA=aF.allowDup,az=B(aE,ap),aB,aD=J(az);if(typeof aG!=h){aG=y;}aA=!(!aA);if(!aA&&((A[az]!=y)||(ac&&ad[az])||i(az))){if(ad[az]!=y&&ad[az][R]&&!ad[az][f]&&aD){X(y,ad[az],G);}return;}if(ad[az]==y){ad[az]={};}aB=ad[az];if(aB[b]==y){aB[b]=Y;}aB[f]=z;aB[K]=az;ao=G;if(!av&&Z&&aD){W(aB,az,aC,aG);}else{if(!av&&at){aq(aB,az,aC,aG);}else{ak(aB,az,aC,aG);}}}function ab(az){if(ay&&!av){au.push(az);}if(!ay||af){az();}}function an(aB){var aA=[],az;for(az=-1;++az<aB.length;){if(r.call(aB[az])===F){aA=aA.concat(an(aB[az]));}else{aA[aA.length]=aB[az];}}return aA;}ai={script:function(){C(ag);var aB=an(arguments),aA=ai,az;if(aw){for(az=-1;++az<aB.length;){if(P(aB[az])){aB[az]=aB[az]();}if(az===0){ab(function(){aj((typeof aB[0]==h)?{src:aB[0]}:aB[0]);});}else{aA=aA.script(aB[az]);}aA=aA.wait();}}else{for(az=-1;++az<aB.length;){if(P(aB[az])){aB[az]=aB[az]();}}ab(function(){for(az=-1;++az<aB.length;){aj((typeof aB[az]==h)?{src:aB[az]}:aB[az]);}});}ag=e(function(){ac=z;},5);return aA;},wait:function(aC){C(ag);ac=z;if(!P(aC)){aC=s;}var aD=l(ay||ao,am),az=aD.trigger,aB=function(){try{aC();}catch(aE){}az();};delete aD.trigger;var aA=function(){if(ao&&!al){aa=aB;}else{aB();}};if(ay&&!ao){au.push(aA);}else{ab(aA);}return aD;}};if(ay){ai.trigger=function(){var aA,az=-1;while(aA=au[++az]){aA();}au=[];};}else{ai.trigger=s;}return ai;}function j(Z){var V,X={},W={"UseCachePreload":"cache","UseLocalXHR":"xhr","UsePreloading":H,"AlwaysPreserveOrder":v,"AllowDuplicates":"dupe"},Y={"AppendTo":b,"BasePath":"base"};for(V in W){Y[V]=W[V];}X.order=!(!m.order);for(V in Y){if(Y[I](V)&&m[Y[V]]!=y){X[Y[V]]=(Z[V]!=y)?Z[V]:m[Y[V]];}}for(V in W){if(W[I](V)){X[W[V]]=!(!X[W[V]]);}}if(!X[H]){X.cache=X.order=X.xhr=z;}X.which=(X.which===k||X.which===t)?X.which:k;return X;}c.$LAB={setGlobalDefaults:function(V){m=j(V);},setOptions:function(V){return l(z,j(V));},script:function(){return l().script.apply(y,arguments);},wait:function(){return l().wait.apply(y,arguments);}};(function(X,V,W){if(n[O]==y&&n[X]){n[O]="loading";
6: n[X](V,W=function(){n.removeEventListener(V,W,z);n[O]=u;},z);}})("addEventListener","DOMContentLoaded");})(window);if(typeof PUNBB==="undefined"||!PUNBB){var PUNBB={};}PUNBB.common=(function(){var d=document.documentElement,c=false,a=false;function b(e){return document.getElementById(e);}return{on_domready_init:function(){c=true;PUNBB.common.addClass(d,"js");PUNBB.common.attachWindowOpen();PUNBB.common.autoFocus();PUNBB.common.attachCtrlEnterForm();if(!PUNBB.common.input_support_attr("required")){PUNBB.common.attachValidateForm();}var e=b("brd-messages");if(e){setTimeout(function(){e.style.visibility="hidden";},3500);}},on_load_init:function(){a=true;},addLoadEvent:function(f){if(a===true){f();}else{var e=window.onload;window.onload=(e&&typeof e==="function")?function(){e();f();}:f;}},addDOMReadyEvent:function(g){var e=false;if(c===true){g();return;}if(document.addEventListener){document.addEventListener("DOMContentLoaded",function(){g();e=true;},false);window.addEventListener("load",function(){if(!e){g();}},false);}else{if(window.attachEvent){if(window.ActiveXObject&&window===window.top){f();}else{window.attachEvent("onload",g);}}else{PUNBB.common.addLoadEvent(g);}}function f(){try{d.doScroll("left");}catch(h){setTimeout(f,0);return;}g();}},hasClass:function(f,e){return(new RegExp("\\b"+e+"\\b")).test(f.className);},addClass:function(f,e){if(PUNBB.common.hasClass(f,e)){return false;}else{f.className+=" "+e;}return true;},removeClass:function(f,e){if(!PUNBB.common.hasClass(f,e)){return false;}e=new RegExp("\\s*\\b"+e+"\\b","g");f.className=f.className.replace(e,"");return true;},blink:function(g,f){if(typeof f===undefined){f=2;}var e=g.style.visibility;if(f&&e!=="hidden"){g.style.visibility="hidden";setTimeout(function(){g.style.visibility=e;},200);setTimeout(function(){PUNBB.common.blink(g,f-1);},400);}},onScreen:function(l){function i(){var m=-1;if(window.pageYOffset){m=window.pageYOffset;}else{if(d&&d.scrollTop){m=d.scrollTop;}else{if(document.body){m=document.body.scrollTop;}}}return m;}function h(){var m=-1;if(window.innerHeight){m=window.innerHeight;}else{if(d&&d.clientHeight){m=d.clientHeight;}else{if(document.body){m=document.body.clientHeight;}}}return m;}function f(o){var m=o.offsetTop;o=o.offsetParent;return o?m+=f(o):m;}var e=i(),k=e+h(),g=f(l),j=g+l.clientHeight;return g>=e&&j<k;},map:function(h,f){var g,e;for(g=0,e=f.length;g<e;g+=1){f[g]=h(f[g]);}return f;},find:function(h,f){var g,e;for(g=0,e=f.length;g<e;g+=1){if(h(f[g])){return g;}}return -1;},arrayOfMatched:function(j,g){var h,f,e=[];for(h=0,f=g.length;h<f;h+=1){if(j(g[h])){e.push(g[h]);}}return e;},flatten:function(f){var g,e,h=[];for(g=0,e=f.length;g<e;g+=1){if(typeof f[g]==="object"&&f.length){h.concat(PUNBB.common.flatten(f[g]));}else{h.push(f[g]);}}return h;},validateForm:function(g){var f=function(l){return l.name&&l.name.indexOf("req_")===0;};var i=g.elements,e=PUNBB.common.arrayOfMatched(f,i);f=function(l){return(/^\s*$/).test(l.value);};var h=PUNBB.common.find(f,e);if(h>-1){if(PUNBB.common.find(f,e)>-1){var k=b("req-msg");PUNBB.common.removeClass(k,"req-warn");var j=PUNBB.common.addClass(k,"req-error");if(!PUNBB.common.onScreen(k)){k.scrollIntoView();setTimeout(function(){PUNBB.common.blink(k);},500);}else{if(!j){PUNBB.common.blink(k);}}if(PUNBB.common.onScreen(e[h])){e[h].focus();}return false;}}return true;},doQuickjumpRedirect:function(g,f){var e=b("qjump-select")[b("qjump-select").selectedIndex].value;g=g.replace("1ドル",e);g=g.replace("2ドル",f[e]);document.location=g;return false;},attachQuickjumpRedirect:function(e,h){var g=b("qjump-select"),f=b("qjump-submit");if(g){g.onchange=function(){return PUNBB.common.doQuickjumpRedirect(e,h);};}if(f){f.onclick=function(){return PUNBB.common.doQuickjumpRedirect(e,h);};PUNBB.common.addClass(f,"visual-hidden");}},initToggleCheckboxes:function(){var j=function(i){return function(){return PUNBB.common.toggleCheckboxes(i);};};var f,e,k=document.getElementsByTagName("span");for(f=0,e=k.length;f<e;f+=1){var g=k[f];if(PUNBB.common.hasClass(g,"select-all")&&g.getAttribute("data-check-form")){var h=b(g.getAttribute("data-check-form"));if(h){g.onclick=j(h);}}}},toggleCheckboxes:function(h){if(!h){return false;}var f,e,j=h.getElementsByTagName("input");for(f=0,e=j.length;f<e;f+=1){var g=j[f];if(g.getAttribute("data-no-select-all")){continue;}if(g.getAttribute("type")=="checkbox"&&g.disabled===false){g.checked=!g.checked;}}return false;},attachCtrlEnterForm:function(){var q=function(f){return function(i){if(((i.keyCode==13)||(i.keyCode==10))&&(i.ctrlKey===true)){return f.submit();}};};var m=function(f){return f.tagName.toUpperCase()=="TEXTAREA";};var l,p,g=document.forms;for(l=0,p=g.length;l<p;l+=1){var o=g[l];if(!PUNBB.common.hasClass(o,"frm-ctrl-submit")){continue;}var k,n,e=o.elements,h=PUNBB.common.arrayOfMatched(m,e);for(k=0,n=h.length;k<n;k+=1){h[k].onkeypress=q(o);}}},attachValidateForm:function(){var n=function(i){return i.name&&i.name.indexOf("req_")===0;};var k=function(i){return i.type&&(i.type=="submit"&&i.name!="cancel"); 6: n[X](V,W=function(){n.removeEventListener(V,W,z);n[O]=u;},z);}})("addEventListener","DOMContentLoaded");})(window);if(typeof PUNBB==="undefined"||!PUNBB){var PUNBB={};}PUNBB.common=(function(){var d=document.documentElement,c=false,a=false;function b(e){return document.getElementById(e);}return{on_domready_init:function(){c=true;PUNBB.common.addClass(d,"js");PUNBB.common.attachWindowOpen();PUNBB.common.autoFocus();PUNBB.common.attachCtrlEnterForm();if(!PUNBB.common.input_support_attr("required")){PUNBB.common.attachValidateForm();}var e=b("brd-messages");if(e){setTimeout(function(){e.style.visibility="hidden";},3500);}},on_load_init:function(){a=true;},addLoadEvent:function(f){if(a===true){f();}else{var e=window.onload;window.onload=(e&&typeof e==="function")?function(){e();f();}:f;}},addDOMReadyEvent:function(g){var e=false;if(c===true){g();return;}if(document.addEventListener){document.addEventListener("DOMContentLoaded",function(){g();e=true;},false);window.addEventListener("load",function(){if(!e){g();}},false);}else{if(window.attachEvent){if(window.ActiveXObject&&window===window.top){f();}else{window.attachEvent("onload",g);}}else{PUNBB.common.addLoadEvent(g);}}function f(){try{d.doScroll("left");}catch(h){setTimeout(f,0);return;}g();}},hasClass:function(f,e){return(new RegExp("\\b"+e+"\\b")).test(f.className);},addClass:function(f,e){if(PUNBB.common.hasClass(f,e)){return false;}else{f.className+=" "+e;}return true;},removeClass:function(f,e){if(!PUNBB.common.hasClass(f,e)){return false;}e=new RegExp("\\s*\\b"+e+"\\b","g");f.className=f.className.replace(e,"");return true;},blink:function(g,f){if(typeof f===undefined){f=2;}var e=g.style.visibility;if(f&&e!=="hidden"){g.style.visibility="hidden";setTimeout(function(){g.style.visibility=e;},200);setTimeout(function(){PUNBB.common.blink(g,f-1);},400);}},onScreen:function(l){function i(){var m=-1;if(window.pageYOffset){m=window.pageYOffset;}else{if(d&&d.scrollTop){m=d.scrollTop;}else{if(document.body){m=document.body.scrollTop;}}}return m;}function h(){var m=-1;if(window.innerHeight){m=window.innerHeight;}else{if(d&&d.clientHeight){m=d.clientHeight;}else{if(document.body){m=document.body.clientHeight;}}}return m;}function f(o){var m=o.offsetTop;o=o.offsetParent;return o?m+=f(o):m;}var e=i(),k=e+h(),g=f(l),j=g+l.clientHeight;return g>=e&&j<k;},map:function(h,f){var g,e;for(g=0,e=f.length;g<e;g+=1){f[g]=h(f[g]);}return f;},find:function(h,f){var g,e;for(g=0,e=f.length;g<e;g+=1){if(h(f[g])){return g;}}return -1;},arrayOfMatched:function(j,g){var h,f,e=[];for(h=0,f=g.length;h<f;h+=1){if(j(g[h])){e.push(g[h]);}}return e;},flatten:function(f){var g,e,h=[];for(g=0,e=f.length;g<e;g+=1){if(typeof f[g]==="object"&&f.length){h.concat(PUNBB.common.flatten(f[g]));}else{h.push(f[g]);}}return h;},validateForm:function(g){var f=function(l){return l.name&&l.name.indexOf("req_")===0;};var i=g.elements,e=PUNBB.common.arrayOfMatched(f,i);f=function(l){return(/^\s*$/).test(l.value);};var h=PUNBB.common.find(f,e);if(h>-1){if(PUNBB.common.find(f,e)>-1){var k=b("req-msg");PUNBB.common.removeClass(k,"req-warn");var j=PUNBB.common.addClass(k,"req-error");if(!PUNBB.common.onScreen(k)){k.scrollIntoView();setTimeout(function(){PUNBB.common.blink(k);},500);}else{if(!j){PUNBB.common.blink(k);}}if(PUNBB.common.onScreen(e[h])){e[h].focus();}return false;}}return true;},doQuickjumpRedirect:function(g,f){var e=b("qjump-select")[b("qjump-select").selectedIndex].value;g=g.replace("1ドル",e);g=g.replace("2ドル",f[e]);document.location=g;return false;},attachQuickjumpRedirect:function(e,h){var g=b("qjump-select"),f=b("qjump-submit");if(g){g.onchange=function(){return PUNBB.common.doQuickjumpRedirect(e,h);};}if(f){f.onclick=function(){return PUNBB.common.doQuickjumpRedirect(e,h);};PUNBB.common.addClass(f,"visual-hidden");}},initToggleCheckboxes:function(){var j=function(i){return function(){return PUNBB.common.toggleCheckboxes(i);};};var f,e,k=document.getElementsByTagName("span");for(f=0,e=k.length;f<e;f+=1){var g=k[f];if(PUNBB.common.hasClass(g,"select-all")&&g.getAttribute("data-check-form")){var h=b(g.getAttribute("data-check-form"));if(h){g.onclick=j(h);}}}},toggleCheckboxes:function(h){if(!h){return false;}var f,e,j=h.getElementsByTagName("input");for(f=0,e=j.length;f<e;f+=1){var g=j[f];if(g.getAttribute("data-no-select-all")){continue;}if(g.getAttribute("type")=="checkbox"&&g.disabled===false){g.checked=!g.checked;}}return false;},attachCtrlEnterForm:function(){var q=function(f){return function(j){j=j||window.event;var i=j.keyCode||j.which;if(((i==13)||(i==10))&&(j.ctrlKey===true)){return f.submit();}};};var m=function(f){return f.tagName.toUpperCase()=="TEXTAREA";};var l,p,g=document.forms;for(l=0,p=g.length;l<p;l+=1){var o=g[l];if(!PUNBB.common.hasClass(o,"frm-ctrl-submit")){continue;}var k,n,e=o.elements,h=PUNBB.common.arrayOfMatched(m,e);for(k=0,n=h.length;k<n;k+=1){h[k].onkeypress=q(o);}}},attachValidateForm:function(){var n=function(i){return i.name&&i.name.indexOf("req_")===0;};var k=function(i){return i.type&&(i.type=="submit"&&i.name!="cancel");
7: };var l=function(i){return function(){return PUNBB.common.validateForm(i);};};var j,m,f=document.forms;for(j=0,m=f.length;j<m;j+=1){var e=f[j].elements;if(PUNBB.common.find(n,e)>-1){var g=PUNBB.common.arrayOfMatched(k,e),h=f[j];g=PUNBB.common.map(function(i){i.onclick=l(h);},g);}}},attachWindowOpen:function(){if(!document.getElementsByTagName){return;}var g=function(){return function(){window.open(this.href);return false;};};var f,e=document.getElementsByTagName("a");for(f=0;f<e.length;f+=1){if(PUNBB.common.hasClass(e[f],"exthelp")){e[f].onclick=g();}}},autoFocus:function(){var f=function(h){return h.offsetWidth>0&&(h.tagName.toUpperCase()=="TEXTAREA"||(h.tagName.toUpperCase()=="INPUT"&&(h.type=="text")||(h.type=="password")||(h.type=="email")||(h.type=="url")||(h.type=="number")));};var e=b("afocus");if(!e||window.location.hash.replace(/#/g,"")){return;}e=e.all||e.getElementsByTagName("*");var g=PUNBB.common.find(f,e);if(g>-1){e[g].focus();}},input_support_attr:function(e){var f=document.createElement("input");if(!e){return false;}return !!(e in f);}};}());PUNBB.common.addDOMReadyEvent(PUNBB.common.on_domready_init);PUNBB.common.addLoadEvent(PUNBB.common.on_load_init); 7: };var l=function(i){return function(){return PUNBB.common.validateForm(i);};};var j,m,f=document.forms;for(j=0,m=f.length;j<m;j+=1){var e=f[j].elements;if(PUNBB.common.find(n,e)>-1){var g=PUNBB.common.arrayOfMatched(k,e),h=f[j];g=PUNBB.common.map(function(i){i.onclick=l(h);},g);}}},attachWindowOpen:function(){if(!document.getElementsByTagName){return;}var g=function(){return function(){window.open(this.href);return false;};};var f,e=document.getElementsByTagName("a");for(f=0;f<e.length;f+=1){if(PUNBB.common.hasClass(e[f],"exthelp")){e[f].onclick=g();}}},autoFocus:function(){var f=function(h){return h.offsetWidth>0&&(h.tagName.toUpperCase()=="TEXTAREA"||(h.tagName.toUpperCase()=="INPUT"&&(h.type=="text")||(h.type=="password")||(h.type=="email")||(h.type=="url")||(h.type=="number")));};var e=b("afocus");if(!e||window.location.hash.replace(/#/g,"")){return;}e=e.all||e.getElementsByTagName("*");var g=PUNBB.common.find(f,e);if(g>-1){e[g].focus();}},input_support_attr:function(e){var f=document.createElement("input");if(!e){return false;}return !!(e in f);}};}());PUNBB.common.addDOMReadyEvent(PUNBB.common.on_domready_init);PUNBB.common.addLoadEvent(PUNBB.common.on_load_init);
8: 8:


punbb-1.4/include/js/punbb.common.js punbb-1.4.1/include/js/punbb.common.js
353: attachCtrlEnterForm: function () {353: attachCtrlEnterForm: function () {
354: var fn_keypress = function (frm) {354: var fn_keypress = function (frm) {
355: return function (e) {355: return function (e) {
356: if (((e.keyCode == 13) || (e.keyCode == 10)) && (e.ctrlKey === true)) {356: e = e || window.event;
357: var key = e.keyCode || e.which;
358: if (((key == 13) || (key == 10)) && (e.ctrlKey === true)) {
357: return frm.submit();359: return frm.submit();
358: }360: }
359: };361: };


punbb-1.4/profile.php punbb-1.4.1/profile.php
967: if ($form['url'] != '' && strpos(strtolower($form['url']), 'http://') !== 0 && strpos(strtolower($form['url']), 'https://') !== 0)967: if ($form['url'] != '' && strpos(strtolower($form['url']), 'http://') !== 0 && strpos(strtolower($form['url']), 'https://') !== 0)
968: $form['url'] = 'http://'.$form['url'];968: $form['url'] = 'http://'.$form['url'];
969: 969:
970: // Add http:// if the LinkedIn doesn't contain it or https:// already
971: if ($form['linkedin'] != '' && strpos(strtolower($form['linkedin']), 'http://') !== 0 && strpos(strtolower($form['linkedin']), 'https://') !== 0)
972: $form['linkedin'] = 'http://'.$form['linkedin'];
973:
970: // If the ICQ UIN contains anything other than digits it's invalid974: // If the ICQ UIN contains anything other than digits it's invalid
971: if ($form['icq'] != '' && !ctype_digit($form['icq']))975: if ($form['icq'] != '' && !ctype_digit($form['icq']))
972: $errors[] = $lang_profile['Bad ICQ'];976: $errors[] = $lang_profile['Bad ICQ'];
1440: $forum_page['user_contact']['website'] = '<li><span>'.$lang_profile['Website'].': '.$forum_page['url'].'</span></li>';1444: $forum_page['user_contact']['website'] = '<li><span>'.$lang_profile['Website'].': '.$forum_page['url'].'</span></li>';
1441: }1445: }
1442: 1446:
1447: // Facebook
1448: if ($user['facebook'] != '')
1449: {
1450: if ($forum_config['o_censoring'] == '1')
1451: {
1452: $user['facebook'] = censor_words($user['facebook']);
1453: }
1454:
1455: $facebook_url = ((strpos($user['facebook'], 'http://') === 0) || (strpos($user['facebook'], 'https://') === 0)) ?
1456: forum_htmlencode($user['facebook']) :
1457: forum_htmlencode('https://www.facebook.com/'.$user['facebook'])
1458: ;
1459: $forum_page['facebook'] = '<a href="'.$facebook_url.'" class="external url">'.$facebook_url.'</a>';
1460: $forum_page['user_contact']['facebook'] = '<li><span>'.$lang_profile['Facebook'].': '.$forum_page['facebook'].'</span></li>';
1461: }
1462:
1463: // Twitter
1464: if ($user['twitter'] != '')
1465: {
1466: if ($forum_config['o_censoring'] == '1')
1467: {
1468: $user['twitter'] = censor_words($user['twitter']);
1469: }
1470:
1471: $twitter_url = ((strpos($user['twitter'], 'http://') === 0) || (strpos($user['twitter'], 'https://') === 0)) ?
1472: forum_htmlencode($user['twitter']) :
1473: forum_htmlencode('https://twitter.com/'.$user['twitter'])
1474: ;
1475: $forum_page['twitter'] = '<a href="'.$twitter_url.'" class="external url">'.$twitter_url.'</a>';
1476: $forum_page['user_contact']['twitter'] = '<li><span>'.$lang_profile['Twitter'].': '.$forum_page['twitter'].'</span></li>';
1477: }
1478:
1479: // LinkedIn
1480: if ($user['linkedin'] != '')
1481: {
1482: if ($forum_config['o_censoring'] == '1')
1483: {
1484: $user['linkedin'] = censor_words($user['linkedin']);
1485: }
1486:
1487: $linkedin_url = forum_htmlencode($user['linkedin']);
1488: $forum_page['linkedin'] = '<a href="'.$linkedin_url.'" class="external url" rel="me">'.$linkedin_url.'</a>';
1489: $forum_page['user_contact']['linkedin'] = '<li><span>'.$lang_profile['LinkedIn'].': '.$forum_page['linkedin'].'</span></li>';
1490: }
1491:
1443: if ($user['jabber'] !='')1492: if ($user['jabber'] !='')
1444: $forum_page['user_contact']['jabber'] = '<li><span>'.$lang_profile['Jabber'].': <strong> '.forum_htmlencode(($forum_config['o_censoring'] == '1') ? censor_words($user['jabber']) : $user['jabber']).'</strong></span></li>';1493: $forum_page['user_contact']['jabber'] = '<li><span>'.$lang_profile['Jabber'].': <strong> '.forum_htmlencode(($forum_config['o_censoring'] == '1') ? censor_words($user['jabber']) : $user['jabber']).'</strong></span></li>';
1445: if ($user['icq'] !='')1494: if ($user['icq'] !='')
1543: 1592:
1544: require FORUM_ROOT.'footer.php';1593: require FORUM_ROOT.'footer.php';
1545: }1594: }
1546:
1547:
1548: else1595: else
1549: {1596: {
1550: // Setup breadcrumbs1597: // Setup breadcrumbs
1680: $user['facebook'] = censor_words($user['facebook']);1727: $user['facebook'] = censor_words($user['facebook']);
1681: }1728: }
1682: 1729:
1683: $facebook_url = (strpos($user['facebook'], 'http') === 0) ? forum_htmlencode($user['facebook']) : forum_htmlencode('https://www.facebook.com/'.$user['facebook']);1730: $facebook_url = ((strpos($user['facebook'], 'http://') === 0) || (strpos($user['facebook'], 'https://') === 0)) ?
1731: forum_htmlencode($user['facebook']) :
1732: forum_htmlencode('https://www.facebook.com/'.$user['facebook'])
1733: ;
1684: $forum_page['facebook'] = '<a href="'.$facebook_url.'" class="external url">'.$facebook_url.'</a>';1734: $forum_page['facebook'] = '<a href="'.$facebook_url.'" class="external url">'.$facebook_url.'</a>';
1685: $forum_page['user_contact']['facebook'] = '<li><span>'.$lang_profile['Facebook'].': '.$forum_page['facebook'].'</span></li>';1735: $forum_page['user_contact']['facebook'] = '<li><span>'.$lang_profile['Facebook'].': '.$forum_page['facebook'].'</span></li>';
1686: }1736: }
1693: $user['twitter'] = censor_words($user['twitter']);1743: $user['twitter'] = censor_words($user['twitter']);
1694: }1744: }
1695: 1745:
1696: $twitter_url = (strpos($user['twitter'], 'http') === 0) ? forum_htmlencode($user['twitter']) : forum_htmlencode('https://twitter.com/'.$user['twitter']);1746: $twitter_url = ((strpos($user['twitter'], 'http://') === 0) || (strpos($user['twitter'], 'https://') === 0)) ?
1747: forum_htmlencode($user['twitter']) :
1748: forum_htmlencode('https://twitter.com/'.$user['twitter'])
1749: ;
1697: $forum_page['twitter'] = '<a href="'.$twitter_url.'" class="external url">'.$twitter_url.'</a>';1750: $forum_page['twitter'] = '<a href="'.$twitter_url.'" class="external url">'.$twitter_url.'</a>';
1698: $forum_page['user_contact']['twitter'] = '<li><span>'.$lang_profile['Twitter'].': '.$forum_page['twitter'].'</span></li>';1751: $forum_page['user_contact']['twitter'] = '<li><span>'.$lang_profile['Twitter'].': '.$forum_page['twitter'].'</span></li>';
1699: }1752: }


punbb-1.4/README punbb-1.4.1/README
21: NOTE: Make a backup of your current forum directory before proceeding. Also, don't forget to make a backup of your forum database. Use the tool mysqldump for MySQL and pg_dump if you are using PostgreSQL. If you're using SQLite, just make a backup copy of the SQLite database file. You can also make database backups via most administration tools such as MySQL Administrator, phpMyAdmin and phpPgAdmin. 21: NOTE: Make a backup of your current forum directory before proceeding. Also, don't forget to make a backup of your forum database. Use the tool mysqldump for MySQL and pg_dump if you are using PostgreSQL. If you're using SQLite, just make a backup copy of the SQLite database file. You can also make database backups via most administration tools such as MySQL Administrator, phpMyAdmin and phpPgAdmin.
22: 22:
23: 1. Download the latest revision of PunBB from http://punbb.informer.com/. Decompress the PunBB archive to a directory. 23: 1. Download the latest revision of PunBB from http://punbb.informer.com/. Decompress the PunBB archive to a directory.
24: 2. Replace your old 1.2 directory with the contents of the archive's version 1.3. 24: 2. Replace your old 1.2 directory with the contents of the archive's version 1.4.
25: 3. Run db_update.php from the forum admin directory (e.g. open http://example.com/punbb/admin/db_update.php in your browser). Follow the instructions. 25: 3. Run db_update.php from the forum admin directory (e.g. open http://example.com/punbb/admin/db_update.php in your browser). Follow the instructions.
26: 26:
27: Upgrade from 1.3 27: Upgrade from 1.3
31: 1. Turn the Maintenance mode on (via admin panel). 31: 1. Turn the Maintenance mode on (via admin panel).
32: 2. Disable all extensions (via admin panel). 32: 2. Disable all extensions (via admin panel).
33: 3. Overwrite old files with new ones. 33: 3. Overwrite old files with new ones.
34: 4. After overwriting, verify that cache, img/avatars and extensions (for pun_repository) directories have enough write permissions (usually 777. 34: 4. After overwriting, verify that cache, img/avatars and extensions (for pun_repository) directories have enough write permissions (usually 777).
35: 5. Clear cache directory. 35: 5. Clear cache directory.
36: 6. Go to the forum index and run db_update.php script (this may take a long time). 36: 6. Go to the forum index and run db_update.php script (this may take a long time).
37: 7. Update all extentsions. 37: 7. Update all extentsions.


hdiff - version: 2.1.0 (modified)

AltStyle によって変換されたページ (->オリジナル) /