http://git-wip-us.apache.org/repos/asf/oodt/blob/098cc4fa/balance/modules/cas-browser/static/js/jquery.dataTables.min.js ---------------------------------------------------------------------- diff --git a/balance/modules/cas-browser/static/js/jquery.dataTables.min.js b/balance/modules/cas-browser/static/js/jquery.dataTables.min.js deleted file mode 100644 index 3d417e4..0000000 --- a/balance/modules/cas-browser/static/js/jquery.dataTables.min.js +++ /dev/null @@ -1,388 +0,0 @@ -/* - * File: jquery.dataTables.min.js - * Version: 1.4.3 - * Author: Allan Jardine (www.sprymedia.co.uk) - * - * Copyright 2008-2009 Allan Jardine, all rights reserved. - * - * This source file is free software, under either the GPL v2 license or a - * BSD style license, as supplied with this software. - * - * This source file 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 license files for details. - */ -(function($){$.fn.dataTableSettings=[];$.fn.dataTableExt={};$.fn.dataTableExt.oApi={}; -$.fn.dataTableExt.oPagination={two_button:{fnInit:function(oSettings,fnCallbackDraw){oSettings.nPrevious=document.createElement("div"); -oSettings.nNext=document.createElement("div");if(oSettings.sTableId!==""){oSettings.nPaginate.setAttribute("id",oSettings.sTableId+"_paginate"); -oSettings.nPrevious.setAttribute("id",oSettings.sTableId+"_previous");oSettings.nNext.setAttribute("id",oSettings.sTableId+"_next") -}oSettings.nPrevious.className="paginate_disabled_previous";oSettings.nNext.className="paginate_disabled_next"; -oSettings.nPaginate.appendChild(oSettings.nPrevious);oSettings.nPaginate.appendChild(oSettings.nNext); -$(oSettings.nPaginate).insertAfter(oSettings.nTable);$(oSettings.nPrevious).click(function(){oSettings.iDisplayStart-=oSettings.iDisplayLength; -if(oSettings.iDisplayStart<0){oSettings.iDisplayStart=0}fnCallbackDraw(oSettings) -});$(oSettings.nNext).click(function(){if(oSettings.iDisplayStart+oSettings.iDisplayLength<oSettings.aiDisplay.length){oSettings.iDisplayStart+=oSettings.iDisplayLength -}fnCallbackDraw(oSettings)})},fnUpdate:function(oSettings,fnCallbackDraw){oSettings.nPrevious.className=(oSettings.iDisplayStart===0)?"paginate_disabled_previous":"paginate_enabled_previous"; -oSettings.nNext.className=(oSettings.iDisplayEnd==oSettings.aiDisplay.length)?"paginate_disabled_next":"paginate_enabled_next" -}},iFullNumbersShowPages:5,full_numbers:{fnInit:function(oSettings,fnCallbackDraw){var nFirst=document.createElement("span"); -var nPrevious=document.createElement("span");var nList=document.createElement("span"); -var nNext=document.createElement("span");var nLast=document.createElement("span"); -nFirst.innerHTML=oSettings.oLanguage.oPaginate.sFirst;nPrevious.innerHTML=oSettings.oLanguage.oPaginate.sPrevious; -nNext.innerHTML=oSettings.oLanguage.oPaginate.sNext;nLast.innerHTML=oSettings.oLanguage.oPaginate.sLast; -nFirst.className="paginate_button first";nPrevious.className="paginate_button previous"; -nNext.className="paginate_button next";nLast.className="paginate_button last";oSettings.nPaginate.appendChild(nFirst); -oSettings.nPaginate.appendChild(nPrevious);oSettings.nPaginate.appendChild(nList); -oSettings.nPaginate.appendChild(nNext);oSettings.nPaginate.appendChild(nLast);$(nFirst).click(function(){oSettings.iDisplayStart=0; -fnCallbackDraw(oSettings)});$(nPrevious).click(function(){oSettings.iDisplayStart-=oSettings.iDisplayLength; -if(oSettings.iDisplayStart<0){oSettings.iDisplayStart=0}fnCallbackDraw(oSettings) -});$(nNext).click(function(){if(oSettings.iDisplayStart+oSettings.iDisplayLength<oSettings.aiDisplay.length){oSettings.iDisplayStart+=oSettings.iDisplayLength -}fnCallbackDraw(oSettings)});$(nLast).click(function(){var iPages=parseInt((oSettings.aiDisplay.length-1)/oSettings.iDisplayLength,10)+1; -oSettings.iDisplayStart=(iPages-1)*oSettings.iDisplayLength;fnCallbackDraw(oSettings) -});$("span",oSettings.nPaginate).bind("mousedown",function(){return false});$("span",oSettings.nPaginate).bind("selectstart",function(){return false -});oSettings.nPaginateList=nList},fnUpdate:function(oSettings,fnCallbackDraw){var iPageCount=jQuery.fn.dataTableExt.oPagination.iFullNumbersShowPages; -var iPageCountHalf=Math.floor(iPageCount/2);var iPages=parseInt((oSettings.aiDisplay.length-1)/oSettings.iDisplayLength,10)+1; -var iCurrentPage=parseInt(oSettings.iDisplayStart/oSettings.iDisplayLength,10)+1; -var sList="";var iStartButton;var iEndButton;if(iPages<iPageCount){iStartButton=1; -iEndButton=iPages}else{if(iCurrentPage<=iPageCountHalf){iStartButton=1;iEndButton=iPageCount -}else{if(iCurrentPage>=(iPages-iPageCountHalf)){iStartButton=iPages-iPageCount+1; -iEndButton=iPages}else{iStartButton=iCurrentPage-Math.ceil(iPageCount/2)+1;iEndButton=iStartButton+iPageCount-1 -}}}for(var i=iStartButton;i<=iEndButton;i++){if(iCurrentPage!=i){sList+='<span class="paginate_button">'+i+"</span>" -}else{sList+='<span class="paginate_active">'+i+"</span>"}}oSettings.nPaginateList.innerHTML=sList; -$("span",oSettings.nPaginateList).bind("mousedown",function(){return false});$("span",oSettings.nPaginateList).bind("selectstart",function(){return false -});$("span",oSettings.nPaginateList).click(function(){var iTarget=(this.innerHTML*1)-1; -oSettings.iDisplayStart=iTarget*oSettings.iDisplayLength;fnCallbackDraw(oSettings); -return false})}}};$.fn.dataTableExt.oSort={"string-asc":function(a,b){var x=a.toLowerCase(); -var y=b.toLowerCase();return((x<y)?-1:((x>y)?1:0))},"string-desc":function(a,b){var x=a.toLowerCase(); -var y=b.toLowerCase();return((x<y)?1:((x>y)?-1:0))},"html-asc":function(a,b){var x=a.replace(/<.*?>/g,"").toLowerCase(); -var y=b.replace(/<.*?>/g,"").toLowerCase();return((x<y)?-1:((x>y)?1:0))},"html-desc":function(a,b){var x=a.replace(/<.*?>/g,"").toLowerCase(); -var y=b.replace(/<.*?>/g,"").toLowerCase();return((x<y)?1:((x>y)?-1:0))},"date-asc":function(a,b){var x=Date.parse(a); -var y=Date.parse(b);if(isNaN(x)){x=Date.parse("01/01/1970 00:00:00")}if(isNaN(y)){y=Date.parse("01/01/1970 00:00:00") -}return x-y},"date-desc":function(a,b){var x=Date.parse(a);var y=Date.parse(b);if(isNaN(x)){x=Date.parse("01/01/1970 00:00:00") -}if(isNaN(y)){y=Date.parse("01/01/1970 00:00:00")}return y-x},"numeric-asc":function(a,b){var x=a=="-"?0:a; -var y=b=="-"?0:b;return x-y},"numeric-desc":function(a,b){var x=a=="-"?0:a;var y=b=="-"?0:b; -return y-x}};$.fn.dataTableExt.aTypes=[function(sData){var sValidChars="0123456789.-"; -var Char;for(i=0;i<sData.length;i++){Char=sData.charAt(i);if(sValidChars.indexOf(Char)==-1){return null -}}return"numeric"},function(sData){if(!isNaN(Date.parse(sData))){return"date"}return null -}];$.fn.dataTableExt._oExternConfig={iNextUnique:0};$.fn.dataTable=function(oInit){var _aoSettings=$.fn.dataTableSettings; -function classSettings(){this.sInstance=null;this.oFeatures={bPaginate:true,bLengthChange:true,bFilter:true,bSort:true,bInfo:true,bAutoWidth:true,bProcessing:false,bSortClasses:true,bStateSave:false}; -this.oLanguage={sProcessing:"Processing...",sLengthMenu:"Show _MENU_ entries per page",sZeroRecords:"No matching records found",sInfo:"Showing _START_ to _END_ of _TOTAL_ entries",sInfoEmpty:"Showing 0 to 0 of 0 entries",sInfoFiltered:"(filtered from _MAX_ total entries)",sInfoPostFix:"",sSearch:"Search:",sUrl:"",oPaginate:{sFirst:"First",sPrevious:"Previous",sNext:"Next",sLast:"Last"}}; -this.aoData=[];this.aiDisplay=[];this.aiDisplayMaster=[];this.aoColumns=[];this.iNextId=0; -this.asDataSearch=[];this.oPreviousSearch={sSearch:"",bEscapeRegex:true};this.aoPreSearchCols=[]; -this.nInfo=null;this.nProcessing=null;this.iDisplayLength=100;this.iDisplayStart=0; -this.iDisplayEnd=10;this.aaSorting=[[0,"asc"]];this.asStripClasses=["odd","even"]; -this.fnRowCallback=null;this.fnHeaderCallback=null;this.fnFooterCallback=null;this.fnDrawCallback=null; -this.fnInitComplete=null;this.nFooter=null;this.sTableId="";this.nTable=null;this.iDefaultSortIndex=0; -this.bInitialised=false;this.nOpenRow=null;this.nPaginate=null;this.nPrevious=null; -this.nNext=null;this.sDomPositioning="lfrtip";this.sPaginationType="two_button";this.sAjaxSource=null; -this.iCookieDuration=60*60*2}this.oApi={};this.fnDraw=function(){_fnReDraw(_fnSettingsFromNode(this[0])) -};this.fnFilter=function(sInput,iColumn,bEscapeRegex){var oSettings=_fnSettingsFromNode(this[0]); -if(typeof bEscapeRegex=="undefined"){bEscapeRegex=true}if(typeof iColumn=="undefined"||iColumn===null){_fnFilterComplete(oSettings,{sSearch:sInput,bEscapeRegex:bEscapeRegex},1) -}else{oSettings.aoPreSearchCols[iColumn].sSearch=sInput;oSettings.aoPreSearchCols[iColumn].bEscapeRegex=bEscapeRegex; -_fnFilterComplete(oSettings,oSettings.oPreviousSearch,1)}};this.fnSettings=function(nNode){return _fnSettingsFromNode(this[0]) -};this.fnSort=function(aaSort){var oSettings=_fnSettingsFromNode(this[0]);oSettings.aaSorting=aaSort; -_fnSort(oSettings)};this.fnAddData=function(mData,bRedraw){var aiReturn=[];var iTest; -if(typeof bRedraw=="undefined"){bRedraw=true}var oSettings=_fnSettingsFromNode(this[0]); -if(typeof mData[0]=="object"){for(var i=0;i<mData.length;i++){iTest=_fnAddData(oSettings,mData[i]); -if(iTest==-1){return aiReturn}aiReturn.push(iTest)}}else{iTest=_fnAddData(oSettings,mData); -if(iTest==-1){return aiReturn}aiReturn.push(iTest)}oSettings.aiDisplay=oSettings.aiDisplayMaster.slice(); -_fnBuildSearchArray(oSettings,1);if(bRedraw){_fnReDraw(oSettings)}return aiReturn -};this.fnDeleteRow=function(iAODataIndex,fnCallBack){var oSettings=_fnSettingsFromNode(this[0]); -var i;for(i=0;i<oSettings.aiDisplayMaster.length;i++){if(oSettings.aiDisplayMaster[i]==iAODataIndex){oSettings.aiDisplayMaster.splice(i,1); -break}}for(i=0;i<oSettings.aiDisplay.length;i++){if(oSettings.aiDisplay[i]==iAODataIndex){oSettings.aiDisplay.splice(i,1) -}}_fnBuildSearchArray(oSettings,1);if(typeof fnCallBack=="function"){fnCallBack.call(this) -}if(oSettings.iDisplayStart>oSettings.aiDisplay.length){oSettings.iDisplayStart-=oSettings.iDisplayLength -}_fnCalculateEnd(oSettings);_fnDraw(oSettings);return oSettings.aoData[iAODataIndex]._aData.slice() -};this.fnClearTable=function(){var oSettings=_fnSettingsFromNode(this[0]);oSettings.aoData.length=0; -oSettings.aiDisplayMaster.length=0;oSettings.aiDisplay.length=0;_fnCalculateEnd(oSettings); -_fnDraw(oSettings)};this.fnOpen=function(nTr,sHtml,sClass){var oSettings=_fnSettingsFromNode(this[0]); -if(oSettings.nOpenRow!==null){this.fnClose()}var nNewRow=document.createElement("tr"); -var nNewCell=document.createElement("td");nNewRow.appendChild(nNewCell);nNewRow.className=sClass; -nNewCell.colSpan=oSettings.aoColumns.length;nNewCell.innerHTML=sHtml;$(nNewRow).insertAfter(nTr); -oSettings.nOpenRow=nNewRow};this.fnClose=function(){var oSettings=_fnSettingsFromNode(this[0]); -$(oSettings.nOpenRow).remove();oSettings.nOpenRow=null};this.fnGetData=function(iRow){var oSettings=_fnSettingsFromNode(this[0]); -if(typeof iRow!="undefined"){return oSettings.aoData[iRow]._aData}return _fnGetDataMaster(oSettings) -};this.fnGetNodes=function(iRow){var oSettings=_fnSettingsFromNode(this[0]);if(typeof iRow!="undefined"){return oSettings.aoData[iRow].nTr -}return _fnGetTrNodes(oSettings)};this.fnGetPosition=function(nNode){var oSettings=_fnSettingsFromNode(this[0]); -var i;if(nNode.nodeName=="TR"){for(i=0;i<oSettings.aoData.length;i++){if(oSettings.aoData[i].nTr==nNode){return i -}}}else{if(nNode.nodeName=="TD"){for(i=0;i<oSettings.aoData.length;i++){var iCorrector=0; -for(var j=0;j<oSettings.aoColumns.length;j++){if(oSettings.aoColumns[j].bVisible){if(oSettings.aoData[i].nTr.getElementsByTagName("td")[j-iCorrector]==nNode){return[i,j-iCorrector,j] -}}else{iCorrector++}}}}}return null};this.fnUpdate=function(mData,iRow,iColumn,bRedraw){var oSettings=_fnSettingsFromNode(this[0]); -var iVisibleColumn;var sRendered;if(typeof bRedraw=="undefined"){bRedraw=true}if(typeof mData!="object"){oSettings.aoData[iRow]._aData[iColumn]=mData; -if(oSettings.aoColumns[iColumn].fnRender!==null&&oSettings.aoColumns[iColumn].bUseRendered){sRendered=oSettings.aoColumns[iColumn].fnRender({iDataRow:iRow,iDataColumn:iColumn,aData:oSettings.aoData[iRow]._aData}); -oSettings.aoData[iRow]._aData[iColumn]=sRendered}iVisibleColumn=_fnColumnIndexToVisible(oSettings,iColumn); -if(iVisibleColumn!==null){oSettings.aoData[iRow].nTr.getElementsByTagName("td")[iVisibleColumn].innerHTML=oSettings.aoData[iRow]._aData[iColumn] -}}else{if(mData.length!=oSettings.aoColumns.length){alert("Warning: An array passed to fnUpdate must have the same number of columns as the table in question - in this case "+oSettings.aoColumns.length); -return 1}for(var i=0;i<mData.length;i++){oSettings.aoData[iRow]._aData[i]=mData[i]; -if(oSettings.aoColumns[i].fnRender!==null&&oSettings.aoColumns[i].bUseRendered){sRendered=oSettings.aoColumns[i].fnRender({iDataRow:iRow,iDataColumn:i,aData:oSettings.aoData[iRow]._aData}); -oSettings.aoData[iRow]._aData[i]=sRendered}iVisibleColumn=_fnColumnIndexToVisible(oSettings,i); -if(iVisibleColumn!==null){oSettings.aoData[iRow].nTr.getElementsByTagName("td")[iVisibleColumn].innerHTML=oSettings.aoData[iRow]._aData[i] -}}}_fnBuildSearchArray(oSettings,1);if(bRedraw){_fnReDraw(oSettings)}return 0};function _fnExternApiFunc(sFunc){return function(){var aArgs=[_fnSettingsFromNode(this[0])].concat(Array.prototype.slice.call(arguments)); -return $.fn.dataTableExt.oApi[sFunc].apply(this,aArgs)}}var bApi=false;for(var sFunc in $.fn.dataTableExt.oApi){if(sFunc){this[sFunc]=_fnExternApiFunc(sFunc); -bApi=true}}function _fnInitalise(oSettings){if(oSettings.bInitialised===false){setTimeout(function(){_fnInitalise(oSettings) -},200);return}_fnAddOptionsHtml(oSettings);_fnDrawHead(oSettings);if(oSettings.oFeatures.bSort){_fnSort(oSettings,false); -_fnSortingClasses(oSettings)}else{oSettings.aiDisplay=oSettings.aiDisplayMaster.slice(); -_fnCalculateEnd(oSettings);_fnDraw(oSettings)}if(oSettings.sAjaxSource!==null){_fnProcessingDisplay(oSettings,true); -$.getJSON(oSettings.sAjaxSource,null,function(json){for(var i=0;i<json.aaData.length; -i++){_fnAddData(oSettings,json.aaData[i])}if(oSettings.oFeatures.bSort){_fnSort(oSettings) -}else{oSettings.aiDisplay=oSettings.aiDisplayMaster.slice();_fnCalculateEnd(oSettings); -_fnDraw(oSettings)}_fnProcessingDisplay(oSettings,false);if(typeof oSettings.fnInitComplete=="function"){oSettings.fnInitComplete(oSettings) -}});return}if(oSettings.oFeatures.bSort){_fnSortingClasses(oSettings)}if(typeof oSettings.fnInitComplete=="function"){oSettings.fnInitComplete(oSettings) -}}function _fnLanguageProcess(oSettings,oLanguage,bInit){if(typeof oLanguage.sProcessing!="undefined"){oSettings.oLanguage.sProcessing=oLanguage.sProcessing -}if(typeof oLanguage.sLengthMenu!="undefined"){oSettings.oLanguage.sLengthMenu=oLanguage.sLengthMenu -}if(typeof oLanguage.sZeroRecords!="undefined"){oSettings.oLanguage.sZeroRecords=oLanguage.sZeroRecords -}if(typeof oLanguage.sInfo!="undefined"){oSettings.oLanguage.sInfo=oLanguage.sInfo -}if(typeof oLanguage.sInfoEmpty!="undefined"){oSettings.oLanguage.sInfoEmpty=oLanguage.sInfoEmpty -}if(typeof oLanguage.sInfoFiltered!="undefined"){oSettings.oLanguage.sInfoFiltered=oLanguage.sInfoFiltered -}if(typeof oLanguage.sInfoPostFix!="undefined"){oSettings.oLanguage.sInfoPostFix=oLanguage.sInfoPostFix -}if(typeof oLanguage.sSearch!="undefined"){oSettings.oLanguage.sSearch=oLanguage.sSearch -}if(typeof oLanguage.oPaginate!="undefined"){if(typeof oLanguage.oPaginate!="undefined"){oSettings.oLanguage.oPaginate.sFirst=oLanguage.oPaginate.sFirst -}if(typeof oLanguage.oPaginate!="undefined"){oSettings.oLanguage.oPaginate.sPrevious=oLanguage.oPaginate.sPrevious -}if(typeof oLanguage.oPaginate!="undefined"){oSettings.oLanguage.oPaginate.sNext=oLanguage.oPaginate.sNext -}if(typeof oLanguage.oPaginate!="undefined"){oSettings.oLanguage.oPaginate.sLast=oLanguage.oPaginate.sLast -}}if(bInit){_fnInitalise(oSettings)}}function _fnAddColumn(oSettings,oOptions){oSettings.aoColumns[oSettings.aoColumns.length++]={sType:null,_bAutoType:true,bVisible:true,bSearchable:true,bSortable:true,sTitle:null,sWidth:null,sClass:null,fnRender:null,bUseRendered:true,iDataSort:oSettings.aoColumns.length-1}; -if(typeof oOptions!="undefined"&&oOptions!==null){var iLength=oSettings.aoColumns.length-1; -if(typeof oOptions.sType!="undefined"){oSettings.aoColumns[iLength].sType=oOptions.sType; -oSettings.aoColumns[iLength]._bAutoType=false}if(typeof oOptions.bVisible!="undefined"){oSettings.aoColumns[iLength].bVisible=oOptions.bVisible -}if(typeof oOptions.bSearchable!="undefined"){oSettings.aoColumns[iLength].bSearchable=oOptions.bSearchable -}if(typeof oOptions.bSortable!="undefined"){oSettings.aoColumns[iLength].bSortable=oOptions.bSortable -}if(typeof oOptions.sTitle!="undefined"){oSettings.aoColumns[iLength].sTitle=oOptions.sTitle -}if(typeof oOptions.sWidth!="undefined"){oSettings.aoColumns[iLength].sWidth=oOptions.sWidth -}if(typeof oOptions.sClass!="undefined"){oSettings.aoColumns[iLength].sClass=oOptions.sClass -}if(typeof oOptions.fnRender!="undefined"){oSettings.aoColumns[iLength].fnRender=oOptions.fnRender -}if(typeof oOptions.bUseRendered!="undefined"){oSettings.aoColumns[iLength].bUseRendered=oOptions.bUseRendered -}if(typeof oOptions.iDataSort!="undefined"){oSettings.aoColumns[iLength].iDataSort=oOptions.iDataSort -}}oSettings.aoPreSearchCols[oSettings.aoPreSearchCols.length++]={sSearch:"",bEscapeRegex:true} -}function _fnAddData(oSettings,aData){if(aData.length!=oSettings.aoColumns.length){return -1 -}var iThisIndex=oSettings.aoData.length;oSettings.aoData.push({_iId:oSettings.iNextId++,_aData:aData.slice(),nTr:document.createElement("tr")}); -var nTd;for(var i=0;i<aData.length;i++){if(oSettings.aoColumns[i].bVisible){nTd=document.createElement("td"); -if(typeof oSettings.aoColumns[i].fnRender=="function"){var sRendered=oSettings.aoColumns[i].fnRender({iDataRow:iThisIndex,iDataColumn:i,aData:aData}); -nTd.innerHTML=sRendered;if(oSettings.aoColumns[i].bUseRendered){oSettings.aoData[iThisIndex]._aData[i]=sRendered -}}else{nTd.innerHTML=aData[i]}if(oSettings.aoColumns[i].sClass!==null){nTd.className=oSettings.aoColumns[i].sClass -}if(oSettings.aoColumns[i]._bAutoType&&oSettings.aoColumns[i].sType!="string"){if(oSettings.aoColumns[i].sType===null){oSettings.aoColumns[i].sType=_fnDetectType(aData[i]) -}else{if(oSettings.aoColumns[i].sType=="date"||oSettings.aoColumns[i].sType=="numeric"){oSettings.aoColumns[i].sType=_fnDetectType(aData[i]) -}}}oSettings.aoData[iThisIndex].nTr.appendChild(nTd)}}oSettings.aiDisplayMaster.push(iThisIndex); -return iThisIndex}function _fnGatherData(oSettings){var nDataNodes;var iDataLength=$("tbody tr").length; -var iLoop;var i,j;if($("thead th",oSettings.nTable).length!=oSettings.aoColumns.length){alert("Warning - columns do not match") -}oSettings.nHeader=$("thead",oSettings.nTable)[0];if(typeof $("tfoot",oSettings.nTable)[0]!="undefined"){oSettings.nFooter=$("tfoot",oSettings.nTable)[0] -}$("tbody tr",oSettings.nTable).each(function(){var iThisIndex=oSettings.aoData.length; -oSettings.aoData.push({_iId:oSettings.iNextId++,_aData:[],nTr:this});oSettings.aiDisplayMaster.push(iThisIndex); -var aLocalData=oSettings.aoData[iThisIndex]._aData;$("td",this).each(function(i){aLocalData[i]=this.innerHTML -})});var iCorrector=0;for(i=0;i<oSettings.aoColumns.length;i++){if(oSettings.aoColumns[i].sTitle===null){oSettings.aoColumns[i].sTitle=$("thead th:nth-child("+(i+1)+")",oSettings.nTable).html() -}if(oSettings.aoColumns[i]._bAutoType){iLoop=oSettings.aoData.length;for(j=0;j<iLoop; -j++){if(oSettings.aoColumns[i].sType===null){oSettings.aoColumns[i].sType=_fnDetectType(oSettings.aoData[j]._aData[i]) -}else{if(oSettings.aoColumns[i].sType=="date"||oSettings.aoColumns[i].sType=="numeric"){oSettings.aoColumns[i].sType=_fnDetectType(oSettings.aoData[j]._aData[i]) -}}}}if(oSettings.aoColumns[i].sClass!==null){iLoop=oSettings.aoData.length;for(j=0; -j<iLoop;j++){oSettings.aoData[j].nTr.getElementsByTagName("td")[i-iCorrector].className+=" "+oSettings.aoColumns[i].sClass -}}if(typeof oSettings.aoColumns[i].fnRender=="function"){iLoop=oSettings.aoData.length; -for(j=0;j<iLoop;j++){var sRendered=oSettings.aoColumns[i].fnRender({iDataRow:j,iDataColumn:i,aData:oSettings.aoData[j]._aData}); -oSettings.aoData[j].nTr.getElementsByTagName("td")[i-iCorrector].innerHTML=sRendered; -if(oSettings.aoColumns[i].bUseRendered){oSettings.aoData[j]._aData[i]=sRendered}}}if(!oSettings.aoColumns[i].bVisible){iLoop=oSettings.aoData.length; -for(j=0;j<iLoop;j++){var nRemove=oSettings.aoData[j].nTr.getElementsByTagName("td")[i-iCorrector]; -nRemove.parentNode.removeChild(nRemove)}iCorrector++}}}function _fnDrawHead(oSettings){var i; -var nThOriginals=$("thead th",oSettings.nTable);if(nThOriginals.length==oSettings.aoColumns.length){for(i=0; -i<oSettings.aoColumns.length;i++){if(oSettings.aoColumns[i].bVisible){if(oSettings.aoColumns[i].sWidth!==null){nThOriginals[i].style.width=oSettings.aoColumns[i].sWidth -}if(oSettings.aoColumns[i].sTitle!=nThOriginals[i].innerHTML){nThOriginals[i].innerHTML=oSettings.aoColumns[i].sTitle -}}else{nThOriginals[i].parentNode.removeChild(nThOriginals[i])}}}else{var nTh;var nTr=document.createElement("tr"); -for(i=0;i<oSettings.aoColumns.length;i++){if(oSettings.aoColumns[i].bVisible){nTh=document.createElement("th"); -if(typeof nThOriginals[i]!="undefined"&&nThOriginals[i].className!==""){nTh.className=nThOriginals[i].className -}if(oSettings.aoColumns[i].sWidth!==null){nTh.style.width=oSettings.aoColumns[i].sWidth -}nTh.innerHTML=oSettings.aoColumns[i].sTitle;nTr.appendChild(nTh)}}$("thead",oSettings.nTable).html("")[0].appendChild(nTr) -}if(oSettings.oFeatures.bSort){$("thead th",oSettings.nTable).click(function(e){var iDataIndex=$("thead th",oSettings.nTable).index(this); -iDataIndex=_fnVisibleToColumnIndex(oSettings,iDataIndex);if(oSettings.aoColumns[iDataIndex].bSortable===false){return -}_fnProcessingDisplay(oSettings,true);setTimeout(function(){if(e.shiftKey){var bFound=false; -for(var i=0;i<oSettings.aaSorting.length;i++){if(oSettings.aaSorting[i][0]==iDataIndex){if(oSettings.aaSorting[i][1]=="asc"){oSettings.aaSorting[i][1]="desc" -}else{oSettings.aaSorting.splice(i,1)}bFound=true;break}}if(bFound===false){oSettings.aaSorting.push([iDataIndex,"asc"]) -}}else{if(oSettings.aaSorting.length==1&&oSettings.aaSorting[0][0]==iDataIndex){oSettings.aaSorting[0][1]=oSettings.aaSorting[0][1]=="asc"?"desc":"asc" -}else{oSettings.aaSorting.splice(0,oSettings.aaSorting.length);oSettings.aaSorting.push([iDataIndex,"asc"]) -}}_fnSortingClasses(oSettings);_fnSort(oSettings);_fnProcessingDisplay(oSettings,false) -},0)});$("thead th",oSettings.nTable).mousedown(function(){this.onselectstart=function(){return false -};return false})}if(oSettings.oFeatures.bAutoWidth){oSettings.nTable.style.width=oSettings.nTable.offsetWidth+"px" -}}function _fnDraw(oSettings){var i;var anRows=[];var iRowCount=0;var iStrips=oSettings.asStripClasses.length; -if(oSettings.aiDisplay.length!==0){for(var j=oSettings.iDisplayStart;j<oSettings.iDisplayEnd; -j++){var nRow=oSettings.aoData[oSettings.aiDisplay[j]].nTr;$(nRow).removeClass(oSettings.asStripClasses.join(" ")); -$(nRow).addClass(oSettings.asStripClasses[iRowCount%iStrips]);if(typeof oSettings.fnRowCallback=="function"){anRows[iRowCount]=oSettings.fnRowCallback(nRow,oSettings.aoData[oSettings.aiDisplay[j]]._aData,iRowCount,j) -}anRows.push(nRow);iRowCount++}}else{anRows[0]=document.createElement("tr");if(typeof oSettings.asStripClasses[0]!="undefined"){anRows[0].className=oSettings.asStripClasses[0] -}var nTd=document.createElement("td");nTd.setAttribute("valign","top");nTd.colSpan=oSettings.aoColumns.length; -nTd.style.textAlign="center";nTd.className="dataTables_empty";nTd.innerHTML=oSettings.oLanguage.sZeroRecords; -anRows[iRowCount].appendChild(nTd)}if(typeof oSettings.fnHeaderCallback=="function"){oSettings.fnHeaderCallback($("thead tr",oSettings.nTable)[0],_fnGetDataMaster(oSettings),oSettings.iDisplayStart,oSettings.iDisplayEnd,oSettings.aiDisplay) -}if(typeof oSettings.fnFooterCallback=="function"){oSettings.fnFooterCallback(oSettings.nFooter,_fnGetDataMaster(oSettings),oSettings.iDisplayStart,oSettings.iDisplayEnd,oSettings.aiDisplay) -}var nTrs=$("tbody:eq(0)>tr",oSettings.nTable);for(i=0;i<nTrs.length;i++){nTrs[i].parentNode.removeChild(nTrs[i]) -}var nBody=$("tbody:eq(0)",oSettings.nTable);for(i=0;i<anRows.length;i++){nBody[0].appendChild(anRows[i]) -}if(oSettings.oFeatures.bPaginate){$.fn.dataTableExt.oPagination[oSettings.sPaginationType].fnUpdate(oSettings,function(oSettings){_fnCalculateEnd(oSettings); -_fnDraw(oSettings)})}if(oSettings.oFeatures.bInfo){if(oSettings.aiDisplay.length===0&&oSettings.aiDisplay.length==oSettings.aiDisplayMaster.length){oSettings.nInfo.innerHTML=oSettings.oLanguage.sInfoEmpty+" "+oSettings.oLanguage.sInfoPostFix -}else{if(oSettings.aiDisplay.length===0){oSettings.nInfo.innerHTML=oSettings.oLanguage.sInfoEmpty+" "+oSettings.oLanguage.sInfoFiltered.replace("_MAX_",oSettings.aiDisplayMaster.length)+" "+oSettings.oLanguage.sInfoPostFix -}else{if(oSettings.aiDisplay.length==oSettings.aiDisplayMaster.length){oSettings.nInfo.innerHTML=oSettings.oLanguage.sInfo.replace("_START_",oSettings.iDisplayStart+1).replace("_END_",oSettings.iDisplayEnd).replace("_TOTAL_",oSettings.aiDisplay.length)+" "+oSettings.oLanguage.sInfoPostFix -}else{oSettings.nInfo.innerHTML=oSettings.oLanguage.sInfo.replace("_START_",oSettings.iDisplayStart+1).replace("_END_",oSettings.iDisplayEnd).replace("_TOTAL_",oSettings.aiDisplay.length)+" "+oSettings.oLanguage.sInfoFiltered.replace("_MAX_",oSettings.aiDisplayMaster.length)+" "+oSettings.oLanguage.sInfoPostFix -}}}}_fnSaveState(oSettings);if(typeof oSettings.fnDrawCallback=="function"){oSettings.fnDrawCallback() -}}function _fnReDraw(oSettings){if(oSettings.oFeatures.bSort){_fnSort(oSettings,oSettings.oPreviousSearch) -}else{if(oSettings.oFeatures.bFilter){_fnFilterComplete(oSettings,oSettings.oPreviousSearch) -}else{_fnCalculateEnd(oSettings);_fnDraw(oSettings)}}}function _fnAddOptionsHtml(oSettings){var nHolding=document.createElement("div"); -oSettings.nTable.parentNode.insertBefore(nHolding,oSettings.nTable);var nWrapper=document.createElement("div"); -nWrapper.className="dataTables_wrapper";if(oSettings.sTableId!==""){nWrapper.setAttribute("id",oSettings.sTableId+"_wrapper") -}var nInsertNode=nWrapper;var sDom=oSettings.sDomPositioning.split("");for(var i=0; -i<sDom.length;i++){var cOption=sDom[i];if(cOption=="<"){var nNewNode=document.createElement("div"); -var cNext=sDom[i+1];if(cNext=="'"||cNext=='"'){var sClass="";var j=2;while(sDom[i+j]!=cNext){sClass+=sDom[i+j]; -j++}nNewNode.className=sClass;i+=j}nInsertNode.appendChild(nNewNode);nInsertNode=nNewNode -}else{if(cOption==">"){nInsertNode=nInsertNode.parentNode}else{if(cOption=="l"&&oSettings.oFeatures.bPaginate&&oSettings.oFeatures.bLengthChange){nInsertNode.appendChild(_fnFeatureHtmlLength(oSettings)) -}else{if(cOption=="f"&&oSettings.oFeatures.bFilter){nInsertNode.appendChild(_fnFeatureHtmlFilter(oSettings)) -}else{if(cOption=="r"&&oSettings.oFeatures.bProcessing){nInsertNode.appendChild(_fnFeatureHtmlProcessing(oSettings)) -}else{if(cOption=="t"){nInsertNode.appendChild(oSettings.nTable)}else{if(cOption=="i"&&oSettings.oFeatures.bInfo){nInsertNode.appendChild(_fnFeatureHtmlInfo(oSettings)) -}else{if(cOption=="p"&&oSettings.oFeatures.bPaginate){nInsertNode.appendChild(_fnFeatureHtmlPaginate(oSettings)) -}}}}}}}}}nHolding.parentNode.replaceChild(nWrapper,nHolding)}function _fnFeatureHtmlFilter(oSettings){var nFilter=document.createElement("div"); -if(oSettings.sTableId!==""){nFilter.setAttribute("id",oSettings.sTableId+"_filter") -}nFilter.className="dataTables_filter";nFilter.innerHTML=oSettings.oLanguage.sSearch+' <input type="text" value="'+oSettings.oPreviousSearch.sSearch.replace('"',""")+'" />'; -$("input",nFilter).keyup(function(e){_fnFilterComplete(oSettings,{sSearch:this.value,bEscapeRegex:oSettings.oPreviousSearch.bEscapeRegex}) -});return nFilter}function _fnFeatureHtmlInfo(oSettings){var nInfo=document.createElement("div"); -oSettings.nInfo=nInfo;if(oSettings.sTableId!==""){oSettings.nInfo.setAttribute("id",oSettings.sTableId+"_info") -}oSettings.nInfo.className="dataTables_info";return nInfo}function _fnFeatureHtmlPaginate(oSettings){var nPaginate=document.createElement("div"); -nPaginate.className="dataTables_paginate";oSettings.nPaginate=nPaginate;$.fn.dataTableExt.oPagination[oSettings.sPaginationType].fnInit(oSettings,function(oSettings){_fnCalculateEnd(oSettings); -_fnDraw(oSettings)});return nPaginate}function _fnFeatureHtmlLength(oSettings){var sName=(oSettings.sTableId==="")?"":'name="'+oSettings.sTableId+'_length"'; -var sStdMenu='<select size="1" '+sName+'><option value="10">10</option><option value="25">25</option><option value="50">50</option><option value="100">100</option></select>'; -var nLength=document.createElement("div");if(oSettings.sTableId!==""){nLength.setAttribute("id",oSettings.sTableId+"_length") -}nLength.className="dataTables_length";nLength.innerHTML=oSettings.oLanguage.sLengthMenu.replace("_MENU_",sStdMenu); -$('select option[value="'+oSettings.iDisplayLength+'"]',nLength).attr("selected",true); -$("select",nLength).change(function(){oSettings.iDisplayLength=parseInt($(this).val(),10); -_fnCalculateEnd(oSettings);if(oSettings.iDisplayEnd==oSettings.aiDisplay.length){oSettings.iDisplayStart=oSettings.iDisplayEnd-oSettings.iDisplayLength; -if(oSettings.iDisplayStart<0){oSettings.iDisplayStart=0}}_fnDraw(oSettings)});return nLength -}function _fnFeatureHtmlProcessing(oSettings){var nProcessing=document.createElement("div"); -oSettings.nProcessing=nProcessing;if(oSettings.sTableId!==""){oSettings.nProcessing.setAttribute("id",oSettings.sTableId+"_processing") -}oSettings.nProcessing.appendChild(document.createTextNode(oSettings.oLanguage.sProcessing)); -oSettings.nProcessing.className="dataTables_processing";oSettings.nProcessing.style.visibility="hidden"; -oSettings.nTable.parentNode.insertBefore(oSettings.nProcessing,oSettings.nTable); -return nProcessing}function _fnProcessingDisplay(oSettings,bShow){if(oSettings.oFeatures.bProcessing){if(bShow){oSettings.nProcessing.style.visibility="visible" -}else{oSettings.nProcessing.style.visibility="hidden"}}}function _fnFilterComplete(oSettings,oInput,iForce){_fnFilter(oSettings,oInput.sSearch,iForce,oInput.bEscapeRegex); -for(var i=0;i<oSettings.aoPreSearchCols.length;i++){_fnFilterColumn(oSettings,oSettings.aoPreSearchCols[i].sSearch,i,oSettings.aoPreSearchCols[i].bEscapeRegex) -}if(typeof oSettings.iInitDisplayStart!="undefined"&&oSettings.iInitDisplayStart!=-1){oSettings.iDisplayStart=oSettings.iInitDisplayStart; -oSettings.iInitDisplayStart=-1}else{oSettings.iDisplayStart=0}_fnCalculateEnd(oSettings); -_fnDraw(oSettings);_fnBuildSearchArray(oSettings,0)}function _fnFilterColumn(oSettings,sInput,iColumn,bEscapeRegex){if(sInput===""){return -}var iIndexCorrector=0;var sRegexMatch=bEscapeRegex?_fnEscapeRegex(sInput):sInput; -var rpSearch=new RegExp(sRegexMatch,"i");for(i=oSettings.aiDisplay.length-1;i>=0; -i--){if(!rpSearch.test(oSettings.aoData[oSettings.aiDisplay[i]]._aData[iColumn])){oSettings.aiDisplay.splice(i,1); -iIndexCorrector++}}}function _fnFilter(oSettings,sInput,iForce,bEscapeRegex){var flag,i,j; -if(typeof iForce=="undefined"||iForce===null){iForce=0}if(typeof bRedraw=="undefined"||bRedraw===null){bRedraw=true -}var asSearch=bEscapeRegex?_fnEscapeRegex(sInput).split(" "):sInput.split(" ");var sRegExpString="^(?=.*?"+asSearch.join(")(?=.*?")+").*$"; -var rpSearch=new RegExp(sRegExpString,"i");if(sInput.length<=0){oSettings.aiDisplay.splice(0,oSettings.aiDisplay.length); -oSettings.aiDisplay=oSettings.aiDisplayMaster.slice()}else{if(oSettings.aiDisplay.length==oSettings.aiDisplayMaster.length||oSettings.oPreviousSearch.sSearch.length>sInput.length||iForce==1||sInput.indexOf(oSettings.oPreviousSearch.sSearch)!==0){oSettings.aiDisplay.splice(0,oSettings.aiDisplay.length); -_fnBuildSearchArray(oSettings,1);for(i=0;i<oSettings.aiDisplayMaster.length;i++){if(rpSearch.test(oSettings.asDataSearch[i])){oSettings.aiDisplay.push(oSettings.aiDisplayMaster[i]) -}}}else{var iIndexCorrector=0;for(i=0;i<oSettings.asDataSearch.length;i++){if(!rpSearch.test(oSettings.asDataSearch[i])){oSettings.aiDisplay.splice(i-iIndexCorrector,1); -iIndexCorrector++}}}}oSettings.oPreviousSearch.sSearch=sInput;oSettings.oPreviousSearch.bEscapeRegex=bEscapeRegex -}function _fnSort(oSettings,bApplyClasses){var sDynamicSort="var fnLocalSorting = function(a,b){var iTest;var oSort = $.fn.dataTableExt.oSort;var aoData = oSettings.aoData;"; -var aaSort=oSettings.aaSorting;var iDataSort;var iDataType;if(aaSort.length!==0){for(var i=0; -i<aaSort.length-1;i++){iDataSort=oSettings.aoColumns[aaSort[i][0]].iDataSort;iDataType=oSettings.aoColumns[iDataSort].sType; -sDynamicSort+="iTest = oSort['"+iDataType+"-"+aaSort[i][1]+"']( aoData[a]._aData["+iDataSort+"], aoData[b]._aData["+iDataSort+"] ); if ( iTest === 0 )" -}iDataSort=oSettings.aoColumns[aaSort[aaSort.length-1][0]].iDataSort;iDataType=oSettings.aoColumns[iDataSort].sType; -sDynamicSort+="iTest = oSort['"+iDataType+"-"+aaSort[aaSort.length-1][1]+"']( aoData[a]._aData["+iDataSort+"], aoData[b]._aData["+iDataSort+"] ); return iTest;}"; -eval(sDynamicSort);oSettings.aiDisplayMaster.sort(fnLocalSorting)}if(typeof bApplyClasses=="undefined"||bApplyClasses){_fnSortingClasses(oSettings) -}if(oSettings.oFeatures.bFilter){_fnFilterComplete(oSettings,oSettings.oPreviousSearch,1) -}else{oSettings.aiDisplay=oSettings.aiDisplayMaster.slice();_fnCalculateEnd(oSettings); -_fnDraw(oSettings)}}function _fnSortingClasses(oSettings){$("thead th",oSettings.nTable).removeClass("sorting_asc sorting_desc sorting"); -var iCorrector=0;var i;for(i=0;i<oSettings.aoColumns.length;i++){if(oSettings.aoColumns[i].bSortable&&oSettings.aoColumns[i].bVisible){var sClass="sorting"; -for(var j=0;j<oSettings.aaSorting.length;j++){if(oSettings.aaSorting[j][0]==i){sClass=(oSettings.aaSorting[j][1]=="asc")?"sorting_asc":"sorting_desc"; -break}}$("thead th:eq("+_fnColumnIndexToVisible(oSettings,i)+")",oSettings.nTable).addClass(sClass) -}}if(oSettings.oFeatures.bSortClasses){var nTrs=_fnGetTrNodes(oSettings);$("td",nTrs).removeClass("sorting_1 sorting_2 sorting_3"); -for(i=0;i<oSettings.aaSorting.length;i++){if(i<=1){$("td:eq("+_fnColumnIndexToVisible(oSettings,oSettings.aaSorting[i][0])+")",nTrs).addClass("sorting_"+(i+1)) -}else{$("td:eq("+_fnColumnIndexToVisible(oSettings,oSettings.aaSorting[i][0])+")",nTrs).addClass("sorting_3") -}}}}function _fnVisibleToColumnIndex(oSettings,iMatch){var iColumn=-1;for(var i=0; -i<oSettings.aoColumns.length;i++){if(oSettings.aoColumns[i].bVisible===true){iColumn++ -}if(iColumn==iMatch){return i}}return null}function _fnColumnIndexToVisible(oSettings,iMatch){var iVisible=-1; -for(var i=0;i<oSettings.aoColumns.length;i++){if(oSettings.aoColumns[i].bVisible===true){iVisible++ -}if(i==iMatch){return oSettings.aoColumns[i].bVisible===true?iVisible:null}}return null -}function _fnBuildSearchArray(oSettings,iMaster){oSettings.asDataSearch.splice(0,oSettings.asDataSearch.length); -var aArray=(typeof iMaster!="undefined"&&iMaster==1)?oSettings.aiDisplayMaster:oSettings.aiDisplay; -for(i=0;i<aArray.length;i++){oSettings.asDataSearch[i]="";for(j=0;j<oSettings.aoColumns.length; -j++){if(oSettings.aoColumns[j].bSearchable){var sData=oSettings.aoData[aArray[i]]._aData[j]; -if(oSettings.aoColumns[j].sType=="html"){oSettings.asDataSearch[i]+=sData.replace(/\n/g," ").replace(/<.*?>/g,"")+" " -}else{if(typeof sData=="string"){oSettings.asDataSearch[i]+=sData.replace(/\n/g," ")+" " -}else{oSettings.asDataSearch[i]+=sData+" "}}}}}}function _fnCalculateEnd(oSettings){if(oSettings.oFeatures.bPaginate===false){oSettings.iDisplayEnd=oSettings.aiDisplay.length -}else{if(oSettings.iDisplayStart+oSettings.iDisplayLength>oSettings.aiDisplay.length){oSettings.iDisplayEnd=oSettings.aiDisplay.length -}else{oSettings.iDisplayEnd=oSettings.iDisplayStart+oSettings.iDisplayLength}}}function _fnConvertToWidth(sWidth,nParent){if(!sWidth||sWidth===null||sWidth===""){return 0 -}if(typeof nParent=="undefined"){nParent=document.getElementsByTagName("body")[0] -}var iWidth;var nTmp=document.createElement("div");nTmp.style.width=sWidth;nParent.appendChild(nTmp); -iWidth=nTmp.offsetWidth;nParent.removeChild(nTmp);return(iWidth)}function _fnCalculateColumnWidths(oSettings){var iTableWidth=oSettings.nTable.offsetWidth; -var iTotalUserIpSize=0;var iTmpWidth;var iVisibleColumns=0;var i;var oHeaders=$("thead th",oSettings.nTable); -for(i=0;i<oSettings.aoColumns.length;i++){if(oSettings.aoColumns[i].bVisible){iVisibleColumns++; -if(oSettings.aoColumns[i].sWidth!==null){iTmpWidth=_fnConvertToWidth(oSettings.aoColumns[i].sWidth,oSettings.nTable.parentNode); -iTotalUserIpSize+=iTmpWidth;oSettings.aoColumns[i].sWidth=iTmpWidth+"px"}}}if(oSettings.aoColumns.length==oHeaders.length&&iTotalUserIpSize===0){for(i=0; -i<oSettings.aoColumns.length;i++){oSettings.aoColumns[i].sWidth=oHeaders[i].offsetWidth+"px" -}}else{var nCalcTmp=oSettings.nTable.cloneNode(false);nCalcTmp.setAttribute("id",""); -var sTableTmp='<table class="'+nCalcTmp.className+'">';var sCalcHead="<tr>";var sCalcHtml="<tr>"; -for(i=0;i<oSettings.aoColumns.length;i++){if(oSettings.aoColumns[i].bVisible){sCalcHead+="<th>"+oSettings.aoColumns[i].sTitle+"</th>"; -if(oSettings.aoColumns[i].sWidth!==null){var sWidth="";if(oSettings.aoColumns[i].sWidth!==null){sWidth=' style="width:'+oSettings.aoColumns[i].sWidth+';"' -}sCalcHtml+="<td"+sWidth+' tag_index="'+i+'">'+fnGetMaxLenString(oSettings,i)+"</td>" -}else{sCalcHtml+='<td tag_index="'+i+'">'+fnGetMaxLenString(oSettings,i)+"</td>"}}}sCalcHead+="</tr>"; -sCalcHtml+="</tr>";nCalcTmp=$(sTableTmp+sCalcHead+sCalcHtml+"</table>")[0];nCalcTmp.style.width=iTableWidth+"px"; -nCalcTmp.style.visibility="hidden";nCalcTmp.style.position="absolute";oSettings.nTable.parentNode.appendChild(nCalcTmp); -var oNodes=$("td",nCalcTmp);var iIndex;for(i=0;i<oNodes.length;i++){iIndex=oNodes[i].getAttribute("tag_index"); -oSettings.aoColumns[iIndex].sWidth=$("td",nCalcTmp)[i].offsetWidth+"px"}oSettings.nTable.parentNode.removeChild(nCalcTmp) -}}function fnGetMaxLenString(oSettings,iCol){var iMax=0;var iMaxIndex=-1;for(var i=0; -i<oSettings.aoData.length;i++){if(oSettings.aoData[i]._aData[iCol].length>iMax){iMax=oSettings.aoData[i]._aData[iCol].length; -iMaxIndex=i}}if(iMaxIndex>=0){return oSettings.aoData[iMaxIndex]._aData[iCol]}return"" -}function _fnArrayCmp(aArray1,aArray2){if(aArray1.length!=aArray2.length){return 1 -}for(var i=0;i<aArray1.length;i++){if(aArray1[i]!=aArray2[i]){return 2}}return 0}function _fnDetectType(sData){var aTypes=$.fn.dataTableExt.aTypes; -var iLen=aTypes.length;for(var i=0;i<iLen;i++){var sType=aTypes[i](sData);if(sType!==null){return sType -}}return"string"}function _fnSettingsFromNode(nTable){for(var i=0;i<_aoSettings.length; -i++){if(_aoSettings[i].nTable==nTable){return _aoSettings[i]}}return null}function _fnGetDataMaster(oSettings){var aData=[]; -var iLen=oSettings.aoData.length;for(var i=0;i<iLen;i++){aData.push(oSettings.aoData[i]._aData) -}return aData}function _fnGetTrNodes(oSettings){var aNodes=[];var iLen=oSettings.aoData.length; -for(var i=0;i<iLen;i++){aNodes.push(oSettings.aoData[i].nTr)}return aNodes}function _fnEscapeRegex(sVal){var acEscape=["/",".","*","+","?","|","(",")","[","]","{","}","\\","$","^"]; -var reReplace=new RegExp("(\\"+acEscape.join("|\\")+")","g");return sVal.replace(reReplace,"\\$1") -}function _fnSaveState(oSettings){if(!oSettings.oFeatures.bStateSave){return}var sValue="{"; -sValue+='"iStart": '+oSettings.iDisplayStart+",";sValue+='"iEnd": '+oSettings.iDisplayEnd+","; -sValue+='"iLength": '+oSettings.iDisplayLength+",";sValue+='"sFilter": "'+oSettings.oPreviousSearch.sSearch.replace('"','\\"')+'",'; -sValue+='"sFilterEsc": '+oSettings.oPreviousSearch.bEscapeRegex+",";sValue+='"aaSorting": [ '; -for(var i=0;i<oSettings.aaSorting.length;i++){sValue+="["+oSettings.aaSorting[i][0]+",'"+oSettings.aaSorting[i][1]+"']," -}sValue=sValue.substring(0,sValue.length-1);sValue+="]}";_fnCreateCookie("SpryMedia_DataTables_"+oSettings.sInstance,sValue,oSettings.iCookieDuration) -}function _fnLoadState(oSettings){if(!oSettings.oFeatures.bStateSave){return}var sData=_fnReadCookie("SpryMedia_DataTables_"+oSettings.sInstance); -if(sData!==null&&sData!==""){if(typeof JSON=="object"&&typeof JSON.parse=="function"){oData=JSON.parse(sData.replace(/'/g,'"')) -}else{oData=eval("("+sData+")")}oSettings.iDisplayStart=oData.iStart;oSettings.iInitDisplayStart=oData.iStart; -oSettings.iDisplayEnd=oData.iEnd;oSettings.iDisplayLength=oData.iLength;oSettings.oPreviousSearch.sSearch=oData.sFilter; -oSettings.aaSorting=oData.aaSorting.slice();if(typeof oData.sFilterEsc!="undefined"){oSettings.oPreviousSearch.bEscapeRegex=oData.sFilterEsc -}}}function _fnCreateCookie(sName,sValue,iSecs){var date=new Date();date.setTime(date.getTime()+(iSecs*1000)); -sName+="_"+window.location.pathname.replace(/[\/:]/g,"");document.cookie=sName+"="+sValue+"; expires="+date.toGMTString()+"; path=/" -}function _fnReadCookie(sName){var sNameEQ=sName+"_"+window.location.pathname.replace(/[\/:]/g,"")+"="; -var sCookieContents=document.cookie.split(";");for(var i=0;i<sCookieContents.length; -i++){var c=sCookieContents[i];while(c.charAt(0)==" "){c=c.substring(1,c.length)}if(c.indexOf(sNameEQ)===0){return c.substring(sNameEQ.length,c.length) -}}return null}if(bApi){this.oApi._fnInitalise=_fnInitalise;this.oApi._fnLanguageProcess=_fnLanguageProcess; -this.oApi._fnAddColumn=_fnAddColumn;this.oApi._fnAddData=_fnAddData;this.oApi._fnGatherData=_fnGatherData; -this.oApi._fnDrawHead=_fnDrawHead;this.oApi._fnDraw=_fnDraw;this.oApi._fnAddOptionsHtml=_fnAddOptionsHtml; -this.oApi._fnFeatureHtmlFilter=_fnFeatureHtmlFilter;this.oApi._fnFeatureHtmlInfo=_fnFeatureHtmlInfo; -this.oApi._fnFeatureHtmlPaginate=_fnFeatureHtmlPaginate;this.oApi._fnFeatureHtmlLength=_fnFeatureHtmlLength; -this.oApi._fnFeatureHtmlProcessing=_fnFeatureHtmlProcessing;this.oApi._fnProcessingDisplay=_fnProcessingDisplay; -this.oApi._fnFilterComplete=_fnFilterComplete;this.oApi._fnFilterColumn=_fnFilterColumn; -this.oApi._fnFilter=_fnFilter;this.oApi._fnSortingClasses=_fnSortingClasses;this.oApi._fnVisibleToColumnIndex=_fnVisibleToColumnIndex; -this.oApi._fnColumnIndexToVisible=_fnColumnIndexToVisible;this.oApi._fnBuildSearchArray=_fnBuildSearchArray; -this.oApi._fnCalculateEnd=_fnCalculateEnd;this.oApi._fnConvertToWidth=_fnConvertToWidth; -this.oApi._fnCalculateColumnWidths=_fnCalculateColumnWidths;this.oApi._fnArrayCmp=_fnArrayCmp; -this.oApi._fnDetectType=_fnDetectType;this.oApi._fnGetDataMaster=_fnGetDataMaster; -this.oApi._fnGetTrNodes=_fnGetTrNodes;this.oApi._fnEscapeRegex=_fnEscapeRegex;this.oApi._fnSaveState=_fnSaveState; -this.oApi._fnLoadState=_fnLoadState;this.oApi._fnCreateCookie=_fnCreateCookie;this.oApi._fnReadCookie=_fnReadCookie -}return this.each(function(){var oSettings=new classSettings();_aoSettings.push(oSettings); -var bInitHandedOff=false;var bUsePassedData=false;var sId=this.getAttribute("id"); -if(sId!==null){oSettings.sTableId=sId;oSettings.sInstance=sId}else{oSettings.sInstance=$.fn.dataTableExt._oExternConfig.iNextUnique++ -}oSettings.nTable=this;if(typeof oInit!="undefined"&&oInit!==null){if(typeof oInit.bPaginate!="undefined"){oSettings.oFeatures.bPaginate=oInit.bPaginate -}if(typeof oInit.bLengthChange!="undefined"){oSettings.oFeatures.bLengthChange=oInit.bLengthChange -}if(typeof oInit.bFilter!="undefined"){oSettings.oFeatures.bFilter=oInit.bFilter}if(typeof oInit.bSort!="undefined"){oSettings.oFeatures.bSort=oInit.bSort -}if(typeof oInit.bInfo!="undefined"){oSettings.oFeatures.bInfo=oInit.bInfo}if(typeof oInit.bProcessing!="undefined"){oSettings.oFeatures.bProcessing=oInit.bProcessing -}if(typeof oInit.bAutoWidth!="undefined"){oSettings.oFeatures.bAutoWidth=oInit.bAutoWidth -}if(typeof oInit.bSortClasses!="undefined"){oSettings.oFeatures.bSortClasses=oInit.bSortClasses -}if(typeof oInit.aaData!="undefined"){bUsePassedData=true}if(typeof oInit.iDisplayLength!="undefined"){oSettings.iDisplayLength=oInit.iDisplayLength -}if(typeof oInit.asStripClasses!="undefined"){oSettings.asStripClasses=oInit.asStripClasses -}if(typeof oInit.fnRowCallback!="undefined"){oSettings.fnRowCallback=oInit.fnRowCallback -}if(typeof oInit.fnHeaderCallback!="undefined"){oSettings.fnHeaderCallback=oInit.fnHeaderCallback -}if(typeof oInit.fnFooterCallback!="undefined"){oSettings.fnFooterCallback=oInit.fnFooterCallback -}if(typeof oInit.fnDrawCallback!="undefined"){oSettings.fnDrawCallback=oInit.fnDrawCallback -}if(typeof oInit.fnInitComplete!="undefined"){oSettings.fnInitComplete=oInit.fnInitComplete -}if(typeof oInit.aaSorting!="undefined"){oSettings.aaSorting=oInit.aaSorting}if(typeof oInit.sPaginationType!="undefined"){oSettings.sPaginationType=oInit.sPaginationType -}if(typeof oInit.sDom!="undefined"){oSettings.sDomPositioning=oInit.sDom}if(typeof oInit.sAjaxSource!="undefined"){oSettings.sAjaxSource=oInit.sAjaxSource -}if(typeof oInit.iCookieDuration!="undefined"){oSettings.iCookieDuration=oInit.iCookieDuration -}if(typeof oInit.bStateSave!="undefined"){oSettings.oFeatures.bStateSave=oInit.bStateSave; -_fnLoadState(oSettings)}if(typeof oInit!="undefined"&&typeof oInit.aoData!="undefined"){oInit.aoColumns=oInit.aoData -}if(typeof oInit.oLanguage!="undefined"){if(typeof oInit.oLanguage.sUrl!="undefined"){oSettings.oLanguage.sUrl=oInit.oLanguage.sUrl; -$.getJSON(oSettings.oLanguage.sUrl,null,function(json){_fnLanguageProcess(oSettings,json,true) -});bInitHandedOff=true}else{_fnLanguageProcess(oSettings,oInit.oLanguage,false)}}}if(typeof oInit!="undefined"&&typeof oInit.aoColumns!="undefined"){for(var i=0; -i<oInit.aoColumns.length;i++){_fnAddColumn(oSettings,oInit.aoColumns[i])}}else{$("thead th",this).each(function(){_fnAddColumn(oSettings,null) -})}if(bUsePassedData){for(var j=0;j<oInit.aaData.length;j++){_fnAddData(oSettings,oInit.aaData[j]) -}if($("thead",this).length===0){this.appendChild(document.createElement("thead")) -}if($("tbody",this).length===0){this.appendChild(document.createElement("tbody")) -}}else{_fnGatherData(oSettings)}oSettings.aiDisplay=oSettings.aiDisplayMaster.slice(); -if(oSettings.oFeatures.bAutoWidth){_fnCalculateColumnWidths(oSettings)}oSettings.bInitialised=true; -if(bInitHandedOff===false){_fnInitalise(oSettings)}})}})(jQuery); \ No newline at end of file
http://git-wip-us.apache.org/repos/asf/oodt/blob/098cc4fa/balance/modules/cas-browser/static/js/querywidget.js ---------------------------------------------------------------------- diff --git a/balance/modules/cas-browser/static/js/querywidget.js b/balance/modules/cas-browser/static/js/querywidget.js deleted file mode 100644 index cdd2bcd..0000000 --- a/balance/modules/cas-browser/static/js/querywidget.js +++ /dev/null @@ -1,314 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -var criteriaNum = 0; -var allCriteria = new Array(); -var criteriaRoot = 0; -var pCurrPage = 1; -var pTotalPages = 0; -var pPageSize = 0; -var pNumPageProducts = 0; -var pTotalProducts = 0; - -function encodeRequestData(key, value){ - return escape(key) + "=" + value; -} - -function displayPageInfo(){ - pageInfo = '<div class="pp_pageLinks">'; - if(pNumPageProducts > 0){ - prodRangeStart = (pCurrPage - 1) * pPageSize + 1; - prodRangeEnd = (pCurrPage - 1) * pPageSize + pNumPageProducts; - pageInfo += 'Page ' + pCurrPage + ' of ' + pTotalPages + ' '; - pageInfo += '(Products ' + prodRangeStart + ' to ' + prodRangeEnd; - if(pTotalProducts > 0){ - pageInfo += ', out of ' + pTotalProducts; - } - pageInfo += ') '; - if(pCurrPage > 1){ - pageInfo += '<a href="#" onclick="getPrevPage()"><< Previous Page</a> '; - } - if(pCurrPage < pTotalPages){ - pageInfo += '<a href="#" onclick="getNextPage()">Next Page >></a>'; - } - }else{ - pageInfo += 'No products meet given criteria.'; - } - pageInfo += '</div>'; - $("#" + htmlID).prepend(pageInfo); -} - -function formatCriteria(index){ - if(allCriteria[index].type == 'term'){ - requestData = encodeRequestData("Criteria[" + index + "][CriteriaType]", "Term"); - requestData += '&' + encodeRequestData("Criteria[" + index + "][ElementName]", allCriteria[index].element); - requestData += '&' + encodeRequestData("Criteria[" + index + "][Value]", allCriteria[index].value); - }else if(allCriteria[index].type == 'range'){ - requestData = encodeRequestData("Criteria[" + index + "][CriteriaType]", "Range"); - requestData += '&' + encodeRequestData("Criteria[" + index + "][ElementName]", allCriteria[index].element); - requestData += '&' + encodeRequestData("Criteria[" + index + "][Min]", allCriteria[index].min); - requestData += '&' + encodeRequestData("Criteria[" + index + "][Max]", allCriteria[index].max); - }else if(allCriteria[index].type == 'boolean'){ - requestData = encodeRequestData("Criteria[" + index + "][CriteriaType]", "Boolean"); - requestData += '&' + encodeRequestData("Criteria[" + index + "][Operator]", allCriteria[index].operator); - for(i = 0; i < allCriteria[index].criteria.length; i++){ - requestData += '&' + encodeRequestData("Criteria[" + index + "][CriteriaTerms][" + i + "]", allCriteria[index].criteria[i]); - } - for(i = 0; i < allCriteria[index].criteria.length; i++){ - requestData += '&' + formatCriteria(allCriteria[index].criteria[i]); - } - } - return requestData; -} - -function formatQueryRequest(expectedType){ - showLoadingIcon(); - requestData = encodeRequestData("Types[0]", ptName); - requestData += '&' + encodeRequestData("PagedResults", "1"); - requestData += '&' + encodeRequestData("PageNum", pCurrPage); - requestData += '&' + encodeRequestData("RootIndex", criteriaRoot); - requestData += '&' + encodeRequestData("OutputFormat", expectedType); - requestData += '&' + formatCriteria(criteriaRoot); - displayPermalink(); - $.post(siteUrl + "/queryScript.do", - requestData, - function(data){ - hideLoadingIcon(); - if(expectedType == "html"){ - $("#" + htmlID).html(data); - currPage = parseInt($("#page_num").val()); - totalPages = parseInt($("#total_pages").val()); - pageSize = parseInt($("#page_size").val()); - numPageProducts = $("#product_list > li").length; - totalTypeProducts = $("#total_type_products").val(); - }else if(expectedType == "json"){ - if(parseInt(data['Error']) == 1){ - $("#" + htmlID).html('<div class="error">' + data['ErrorMsg'] + '</div>'); - pCurrPage = 0; - pTotalPages = 0; - pPageSize = 0; - pNumPageProducts = 0; - pTotalProducts = 0; - }else{ - renderJsonOutput(data); - pTotalPages = data['totalPages']; - pPageSize = data['pageSize']; - pNumPageProducts = data['results'].length; - pTotalProducts = data['totalProducts']; - } - } - displayPageInfo(); - }, - expectedType); -} - -function formatCrossTypeQueryRequest(){ - showLoadingIcon(); - requestData = encodeRequestData("Types[0]", "*"); - requestData += '&' + encodeRequestData("RootIndex", criteriaRoot); - requestData += '&' + formatCriteria(criteriaRoot); - requestData += '&' + encodeRequestData("PageNum", pCurrPage); - requestData += '&' + encodeRequestData("PageSize", pPageSize); - displayPermalink(); - $.post(siteUrl + "/crossTypeQueryScript.do", - requestData, - function(data){ - hideLoadingIcon(); - if(parseInt(data['Error']) == 1){ - $("#" + htmlID).html('<div class="error">' + data['ErrorMsg'] + '</div>'); - }else{ - renderJsonOutput(data); - pTotalPages = data['totalPages']; - pTotalProducts = data['totalProducts']; - pNumPageProducts = data['results'].length; - displayPageInfo(); - } - }, - "json"); -} - -function formatAllTypeRequest(){ - showLoadingIcon(); - requestData = encodeRequestData("PageNum", pCurrPage); - requestData += '&' + encodeRequestData("PageSize", pPageSize); - $.post(siteUrl + "/allTypeScript.do", - requestData, - function(data){ - hideLoadingIcon(); - if(parseInt(data['Error']) == 1){ - $("#" + htmlID).html('<div class="error">' + data['ErrorMsg'] + '</div>'); - }else{ - renderJsonOutput(data); - pTotalPages = data['totalPages']; - pTotalProducts = data['totalProducts']; - pNumPageProducts = data['results'].length; - displayPageInfo(); - } - }, - "json"); -} - -function formatProductPageRequest(expectedType){ - showLoadingIcon(); - requestData = encodeRequestData("Type", ptName); - requestData += '&' + encodeRequestData("PageNum", pCurrPage); - requestData += '&' + encodeRequestData("OutputFormat", expectedType); - $.post(siteUrl + "/pageScript.do", - requestData, - function(data){ - hideLoadingIcon(); - if(expectedType == "html"){ - $("#" + htmlID).html(data); - currPage = parseInt($("#page_num").val()); - totalPages = parseInt($("#total_pages").val()); - pageSize = parseInt($("#page_size").val()); - numPageProducts = $("#product_list > li").length; - totalTypeProducts = 0; - }else if(expectedType == "json"){ - if(parseInt(data['Error']) == 1){ - $("#" + htmlID).html('<div class="error">' + data['ErrorMsg'] + '</div>'); - pCurrPage = 0; - pTotalPages = 0; - pPageSize = 0; - pNumPageProducts = 0; - pTotalProducts = 0; - }else{ - renderJsonOutput(data); - pTotalPages = data['totalPages']; - pPageSize = data['pageSize']; - pNumPageProducts = data['results'].length; - pTotalProducts = data['totalProducts']; - } - } - displayPageInfo(); - }, - expectedType); -} - -// Determine whether to request a page or query, depending upon the presence -// of any non-boolean criteria. Returns 0 for a page and 1 for a query. -function determineRequest(index){ - if(allCriteria[index] == null){ - return 0; - } - if(allCriteria[index].type != 'boolean'){ - return 1; - } - for(i = 0; i < allCriteria[index].criteria.length; i++){ - if(determineRequest(allCriteria[index].criteria[i])){ - return 1; - } - } - return 0; -} - -function sendRequest(expectedType){ - if(determineRequest(criteriaRoot)){ - formatQueryRequest(expectedType); - }else{ - formatProductPageRequest(expectedType); - } -} - -function sendCrossTypeRequest(){ - if(determineRequest(criteriaRoot)){ - formatCrossTypeQueryRequest(); - }else{ - if(parseInt(defaultShowEverything) == 1){ - formatAllTypeRequest(); - }else{ - clearResults(); - } - } -} - -function addCriteria(){ - index = criteriaNum; - criteriaNum++; - allCriteria[index] = new Object(); - return index; -} - -function addTermCriteria(elementName, value, parentIndex){ - index = addCriteria(); - allCriteria[index].type = 'term'; - allCriteria[index].parentIndex = parentIndex; - allCriteria[index].element = elementName; - allCriteria[index].value = value; - if(parentIndex != null){ - allCriteria[parentIndex].criteria.push(index); - } - return index; -} - -function addRangeCriteria(elementName, min, max, parentIndex){ - index = addCriteria(); - allCriteria[index].type = 'range'; - allCriteria[index].parentIndex = parentIndex; - allCriteria[index].element = elementName; - allCriteria[index].min = min; - allCriteria[index].max = max; - if(parentIndex != null){ - allCriteria[parentIndex].criteria.push(index); - } - return index; -} - -function addBooleanCriteria(operator, parentIndex){ - index = addCriteria(); - allCriteria[index].type = 'boolean'; - allCriteria[index].parentIndex = parentIndex; - allCriteria[index].operator = operator; - allCriteria[index].criteria = new Array(); - if(parentIndex != null){ - allCriteria[parentIndex].criteria.push(allCriteria[index]); - } - return index; -} - -function removeCriteria(index){ - if(allCriteria[index].parentIndex != null){ - parentCriteria = allCriteria[allCriteria[index].parentIndex]; - for(i = 0; i < parentCriteria.criteria.length; i++){ - if(parentCriteria.criteria[i] == index){ - parentCriteria.criteria.splice(i, 1); - i = parentCriteria.criteria.length; - } - } - } - allCriteria[index] = null; -} - -function showLoadingIcon(){ - $("#" + htmlID).css("display", "none"); - $("#" + loadingID).css("display", "block"); -} - -function hideLoadingIcon(){ - $("#" + htmlID).css("display", "block"); - $("#" + loadingID).css("display", "none"); -} - -function setExclusiveQuery(exclusive){ - if(allCriteria[criteriaRoot]){ - if(exclusive == true){ - allCriteria[criteriaRoot].operator = 'and'; - }else{ - allCriteria[criteriaRoot].operator = 'or'; - } - } -} http://git-wip-us.apache.org/repos/asf/oodt/blob/098cc4fa/balance/modules/cas-browser/views/dataset.php ---------------------------------------------------------------------- diff --git a/balance/modules/cas-browser/views/dataset.php b/balance/modules/cas-browser/views/dataset.php deleted file mode 100644 index d92966f..0000000 --- a/balance/modules/cas-browser/views/dataset.php +++ /dev/null @@ -1,100 +0,0 @@ -<?php -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -// Load the module context for this module -$module = App::Get()->loadModule(); - -require_once($module->modulePath . "/classes/CasBrowser.class.php"); -require_once($module->modulePath . "/scripts/widgets/MetadataDisplayWidget.php"); - -// Get a CAS-Browser XML/RPC client -$browser = new CasBrowser(); -$client = $browser->getClient(); - -// Get a Product Type object -$productType = $client->getProductTypeById(App::Get()->request->segments[0]); -$ptID = $productType->getId(); -$ptName = $productType->getName(); - -// Determine the visibility level based on the current user -$ptVisibilityLevel = $browser->getProductTypeVisibilityLevel($ptID); - -// Redirect the user if they are not authorized -if ($ptVisibilityLevel == CasBrowser::VIS_NONE) { - App::Get()->redirect(SITE_ROOT . '/errors/403'); -} - -// Load a MetadataDisplayWidget with the visible metadata for this product type -$typeMetadataWidget = new MetadataDisplayWidget(array()); -$typeMetadataWidget->loadMetadata($browser->getVisibleMetadataForProductType($ptID)); - -// Create a MetadataDisplayWidget to display system metadata (all except typeMetadata) -$typeMetadata = $productType->toAssocArray(); -unset($typeMetadata['typeMetadata']); -$systemMetadataWidget = new MetadataDisplayWidget(array()); -$systemMetadataWidget->loadMetadata($typeMetadata); - - -// Prepare BreadcrumbWigdet -$bcw = new BreadcrumbsWidget(); -$bcw->add('Home',SITE_ROOT . '/'); -$bcw->add("Browse By Type", $module->moduleRoot . '/'); -$bcw->add($ptName); -?> - - -<div class="container"> - <hr class="space" /> - - <div id="cas_browser_container"> - <h2><?php echo $sortedMetadata['DataSetName'][0]?> <?php echo $ptName?></h2> - <hr /> - - <div id="section_type_metadata"> - <h3>Description:</h3> - <p><?php echo $productType->getDescription()?></p> - <hr class="space" /> - - <ul class="tabmenu"> - <li class="selected"><a href="<?php echo $module->moduleRoot?>/dataset/<?php echo $ptID?>">Additional Information</a></li> - <li class=""><a href="<?php echo $module->moduleRoot?>/products/<?php echo $ptID?>">Downloadable Files</a></li> - </ul> - - <div id="additional-information"> - <p>The following additional metadata information has been defined for this - dataset.</p> - - <?php if ($ptVisibilityLevel == CasBrowser::VIS_LIMIT):?> - <div class="notice">Additional information may exist that is not visible - due to your current access permissions.</div> - <?php endif;?> - - <?php echo $typeMetadataWidget->render()?> - </div> - - <div id="data"></div> - </div> - - <?php if (!App::Get()->settings['browser_suppress_system_metadata']):?> - <div id="section_system_metadata"> - <h3>System Metadata:</h3> - <?php echo $systemMetadataWidget->render()?> - </div> - <?php endif;?> - </div> -</div> \ No newline at end of file http://git-wip-us.apache.org/repos/asf/oodt/blob/098cc4fa/balance/modules/cas-browser/views/index.php ---------------------------------------------------------------------- diff --git a/balance/modules/cas-browser/views/index.php b/balance/modules/cas-browser/views/index.php deleted file mode 100644 index 24cdf31..0000000 --- a/balance/modules/cas-browser/views/index.php +++ /dev/null @@ -1,87 +0,0 @@ -<?php -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -$module = App::Get()->loadModule(); -require_once( $module->modulePath . "/classes/CasBrowser.class.php"); -require_once( $module->modulePath . "/scripts/widgets/ProductTypeListWidget.php"); - -// Get a CAS-Browser XML/RPC client -$browser = new CasBrowser(); -$client = $browser->getClient(); -$isAlive = $client->isAlive(); -if ( !$isAlive ) { - App::Get()->SetMessage("Filemgr at ". $client->serverURL. " is down. Please start it.<br>",CAS_MSG_ERROR); -} else{ - -// Get a list of the product types managed by this server -$response = $client->getProductTypes(); -$productTypes = array(); - -foreach ($response as $pt) { - $ptArray = $pt->toAssocArray(); - - $ptVisibility = $browser->getProductTypeVisibilityLevel($pt->getId()); - - if ($ptVisibility == CasBrowser::VIS_NONE) { continue; } - - $merged = array( - "name" => array( - $ptArray[App::Get()->settings['browser_pt_name_key']], - $client->getNumProducts($pt)), - "description" => array($ptArray[App::Get()->settings['browser_pt_desc_key']]), - "id" => array($ptArray[App::Get()->settings['browser_pt_id_key']])); - $merged += $ptArray['typeMetadata']; - - $productTypes[$ptArray[App::Get()->settings['browser_pt_id_key']]] = $merged; -} -$productTypeListWidget = new ProductTypeListWidget(array("productTypes" => $productTypes)); -$productTypeListWidget->setUrlBase($module->moduleRoot); -} - -// Prepare BreadcrumbWigdet -$bcw = new BreadcrumbsWidget(); -$bcw->add('Home',SITE_ROOT . '/'); -$bcw->add("Browse By Type"); -?> - -<script type="text/javascript" src="<?php echo $module->moduleStatic?>/js/jquery.dataTables.min.js"></script> -<script type="text/javascript"> -$(document).ready(function() { - // Turn the table into a sortable, searchable table - $("#productTypeSearch").dataTable(); - // Give the search box the initial focus - $("#productTypeSearch_filter > input").focus(); -}); -</script> - -<div class="container"> - -<?php if ( $isAlive ) :?> -<hr class="space"/> -<div id="cas_browser_container" class="span-22 last prepend-1 append-1"> - <h2 id="cas_browser_title"><?php echo App::Get()->settings['browser_index_title_text']?></h2> - <ul class="tabmenu"> - <li class="selected"><a href="<?php echo $module->moduleRoot?>/">Browse By Type</a></li> - <li class=""><a href="<?php echo $module->moduleRoot?>/typesearch/">Browse Across Types</a></li> - </ul> - <br class="fiftyPx"/> -<?php $productTypeListWidget->render();?> -</div> -<hr class="space"/> -</div> -<?php endif; ?> \ No newline at end of file http://git-wip-us.apache.org/repos/asf/oodt/blob/098cc4fa/balance/modules/cas-browser/views/product.php ---------------------------------------------------------------------- diff --git a/balance/modules/cas-browser/views/product.php b/balance/modules/cas-browser/views/product.php deleted file mode 100644 index 34f6174..0000000 --- a/balance/modules/cas-browser/views/product.php +++ /dev/null @@ -1,84 +0,0 @@ -<?php -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -$module = App::Get()->loadModule(); -require_once($module->modulePath . "/classes/CasBrowser.class.php"); -require_once($module->modulePath . "/scripts/widgets/MetadataDisplayWidget.php"); -require_once($module->modulePath . "/scripts/widgets/ProductDownloadWidget.php"); - -// Get a CAS-Browser XML/RPC client -$browser = new CasBrowser(); -$client = $browser->getClient(); - -// Get the specified product -$productId = App::Get()->request->segments[0]; -$product = $client->getProductById($productId); -$productName = $product->getName(); -$productTypeName = $product->getType()->getName(); -$productTypeId = $product->getType()->getId(); -$productMetadata = $client->getMetadata($product); - -// Get metadata for product and productType as associative arrays -$productTypeInfo = $product->getType()->toAssocArray(); -$productInfo = $productMetadata->toAssocArray(); - -$productVisibilityLevel = $browser->getProductVisibilityLevel($productId); - -// Redirect the user if they are not authorized -if ($productVisibilityLevel == CasBrowser::VIS_NONE) { - App::Get()->redirect(SITE_ROOT . '/errors/403'); -} - - -// Create and load a MetadataDisplay widget wit the visible metadata -$metadataWidget = new MetadataDisplayWidget(array()); -$metadataWidget->loadMetadata($browser->getVisibleMetadataForProduct($productId)); - -// Record the product page to send the user back to, if provided -$returnPage = isset(App::Get()->request->segments[1]) ? App::Get()->request->segments[1] : 1; - -// Create a ProductDownloadWidget -$productDownloadWidget = new ProductDownloadWidget(array( - "dataDeliveryUrl" => App::Get()->settings['browser_datadeliv_url'])); -$productDownloadWidget->setClient($client); -$productDownloadWidget->load($product); - -// Add the cas-browser styles -App::Get()->response->addStylesheet($module->moduleStatic . '/css/cas-browser.css'); - -// Prepare BreadcrumbWigdet -$bcw = new BreadcrumbsWidget(); -$bcw->add('Home',SITE_ROOT . '/'); -$bcw->add('Browse By Type', $module->moduleRoot . '/'); -$bcw->add($productTypeName, $module->moduleRoot."/dataset/{$productTypeId}"); -$bcw->add('Products', $module->moduleRoot."/products/{$productTypeId}/page/{$returnPage}"); -$bcw->add(App::Get()->request->segments[0]); -?> - - -<hr class="space"/> -<div class="span-22 last prepend-1 append-1"> - <div id="cas_browser_product_metadata"> - <h2 class="larger loud">Product Metadata: <?php echo wordwrap($productName, 62, "<br />",true);?></h2> - <?php $metadataWidget->render()?> - </div> - <div id="cas_browser_product_download"> - <h2 class="larger loud">Download this Product:</h2> - <?php $productDownloadWidget->render()?> - </div> -</div> http://git-wip-us.apache.org/repos/asf/oodt/blob/098cc4fa/balance/modules/cas-browser/views/products.php ---------------------------------------------------------------------- diff --git a/balance/modules/cas-browser/views/products.php b/balance/modules/cas-browser/views/products.php deleted file mode 100644 index 0792c10..0000000 --- a/balance/modules/cas-browser/views/products.php +++ /dev/null @@ -1,156 +0,0 @@ -<?php -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -$module = App::Get()->loadModule(); -require_once($module->modulePath . "/classes/CasBrowser.class.php"); -require_once($module->modulePath . "/scripts/widgets/FilterWidget.php"); -require_once($module->modulePath . "/scripts/widgets/ProductPageWidget.php"); - -// Get a CAS-Browser XML/RPC client -$browser = new CasBrowser(); -$client = $browser->getClient(); - -// Get a Product Type object -$productType = $client->getProductTypeById(App::Get()->request->segments[0]); -$ptID = $productType->getId(); -$ptName = $productType->getName(); -$typeInfo = $productType->toAssocArray(); - -// Determine the visibility level based on the current user -$ptVisibilityLevel = $browser->getProductTypeVisibilityLevel($ptID); - -// Redirect the user if they are not authorized -if ($ptVisibilityLevel == CasBrowser::VIS_NONE) { - App::Get()->redirect(SITE_ROOT . '/errors/403'); -} - -// Store any filter parameters passed in via URL -$filterParams = array(); -$segments = App::Get()->request->segments; -for($index = 1; isset($segments[$index]) && $segments[$index] != ""; $index = $index + 2){ - array_push($filterParams, array($segments[$index], $segments[$index + 1])); -} -if(count($filterParams) > 0){ - $filterButtonValue = "Hide Filters"; -}else{ - $filterButtonValue = "Show Filters"; -} - -// Initialize the FilterWidget -$querySiteRoot = (isset(App::Get()->settings['query_service_url'])) - ? App::Get()->settings['query_service_url'] - : 'http://' . $_SERVER['HTTP_HOST'] . $module->moduleRoot; -$resultFormat = "json"; -$filterWidget = new FilterWidget(array( - 'productType' => $productType, - 'htmlID' => 'cas_browser_product_list', - 'loadingID' => 'loading_icon_container', - 'siteUrl' => $querySiteRoot, - 'pagedResults' => true, - 'resultFormat' => $resultFormat)); -$filterWidget->renderScript(); - -// Determine whether to show the download widget -$showDownloadWidget = (isset(App::Get()->settings['browser_show_download_widget']) - && App::Get()->settings['browser_show_download_widget'] == 0) - ? false - : true; - -// Prepare BreadcrumbWigdet -$bcw = new BreadcrumbsWidget(); -$bcw->add('Home',SITE_ROOT . '/'); -$bcw->add("Browse By Type", $module->moduleRoot . '/'); -$bcw->add($ptName, $module->moduleRoot."/dataset/{$ptID}"); -$bcw->add("Products"); -?> - -<script type="text/javascript"> -$(document).ready(function() { - - $('#showFilters').click(function() { - if ($(this).val() == "Show Filters") { - $('#filter_widget').fadeIn('slow'); - $(this).val('Hide Filters'); - } else { - $('#filter_widget').fadeOut('slow'); - $(this).val('Show Filters'); - } - }); - - <?php - if(count($filterParams) > 0){ - foreach($filterParams as $filter){ - echo "createFilter('" . $filter[0] . "','" . $filter[1] . "');\n"; - } - echo 'displayPermalink();'; - echo '$("#filter_widget").css("display", "block");'; - } - ?> - - sendRequest(<?php echo '"' . $resultFormat . '"'; ?>); - -}); -</script> -<div class="container"> -<hr class="space"/> -<div id="cas_browser_container" class="span-24 last"> - - <div id="section_products"> - <h2 ><?php echo $ptName?></h2> - <hr/> - - <div id="section_type_metadata"> - <h3>Description:</h3> - <p><?php echo $typeInfo['description']?></p> - <hr class="space"/> - - <ul class="tabmenu"> - <li class=""> <a href="<?php echo $module->moduleRoot?>/dataset/<?php echo $ptID?>">Additional Information</a></li> - <li class="selected"><a href="<?php echo $module->moduleRoot?>/products/<?php echo $ptID?>">Downloadable Files</a></li> - </ul> - </div> - <?php if ( $ptVisibilityLevel == CasBrowser::VIS_LIMIT ):?> - <div class="notice"> - Additional information may exist that is not visible due to your current access permissions. - </div> - <?php endif;?> - - <div id="section_filter_tools_container"> - <div id="section_filter_tools_buttons"> - <input type="button" id="showFilters" value=<?php echo '"' . $filterButtonValue . '"';?>/> - </div> - <div id="section_filter_tools"> - <div id="filter_widget"> - Filter: <?php $filterWidget->render(); ?> - <input type="hidden" id="page_num" value="1"> - </div> - </div> - </div> - <?php if ( !App::Get()->settings['browser_private_products_visibility'] && $ptVisibilityLevel == CasBrowser::VIS_LIMIT ):?> - <h3>Public Downloadable Files for this Dataset</h3> - <?php else :?> - <h3>Downloadable Files for this Dataset</h3> - <?php endif;?> - <div id="loading_icon_container"> - <img src="<?php echo App::Get()->request->moduleStatic . '/img/loading.gif'; ?>"/> - </div> - <div id="cas_browser_product_list"></div> - - </div> -</div> -</div> http://git-wip-us.apache.org/repos/asf/oodt/blob/098cc4fa/balance/modules/cas-browser/views/search.php ---------------------------------------------------------------------- diff --git a/balance/modules/cas-browser/views/search.php b/balance/modules/cas-browser/views/search.php deleted file mode 100644 index 9db6b1e..0000000 --- a/balance/modules/cas-browser/views/search.php +++ /dev/null @@ -1,89 +0,0 @@ -<?php -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -$module = App::Get()->loadModule(); - -require_once($module->modulePath . "/classes/CasBrowser.class.php"); - -// Get a CAS-Browser XML/RPC client -$browser = new CasBrowser(); -$client = $browser->getClient(); - -// Get a Product Type object -$productType = $client->getProductTypeById(App::Get()->request->segments[0]); -$productCount = $client->getNumProducts($productType); -$ptID = $productType->getId(); -$ptName = $productType->getName(); - -// Determine which search widget to show -$widgetClassName = isset(App::Get()->settings['browser_product_search_widget']) - ? App::Get()->settings['browser_product_search_widget'] - : 'FilterWidget'; - -$querySiteRoot = (isset(App::Get()->settings['query_service_url'])) - ? App::Get()->settings['query_service_url'] - : 'http://' . $_SERVER['HTTP_HOST'] . MODULE_ROOT; - -// Create the search widget -require_once($module->modulePath . "/scripts/widgets/{$widgetClassName}.php"); -$searchWidget = new $widgetClassName(array( - 'productType'=>$productType, - 'htmlID'=>'cas_browser_product_list', - 'siteUrl'=>$querySiteRoot, - 'pagedResults'=>true, - 'resultFormat'=>'json')); - -// Render search widget javascript -$searchWidget->renderScript(); - -// Prepare BreadcrumbWigdet -$bcw = new BreadcrumbsWidget(); -$bcw->add('Home',SITE_ROOT . '/'); -$bcw->add("Browser", $module->moduleRoot . '/'); -$bcw->add($ptName, $module->moduleRoot."/dataset/{$ptID}"); -$bcw->add("Product Search"); -?> - -<div class="container"> -<hr class="space"/> -<div id="cas_browser_container" class="span-24 last"> - <ul class="tabs"> - <li><a id="tab_metadata" href="<?php echo MODULE_ROOT?>/dataset/<?php echo $ptID?>">Metadata</a></li> - <li><a id="tab_browse" href="<?php echo MODULE_ROOT?>/products/<?php echo $ptID?>">Browse</a></li> - <li><a id="tab_search" href="<?php echo MODULE_ROOT?>/search/<?php echo $ptID?>" class="selected">Search</a></li> - </ul> - <div id="section_products"> - <h2 class="larger loud">Product Search: <?php echo $ptName?></h2> - <br/> - <div id="cas_browser_search_widget" class="span-24 last"> - <?php $searchWidget->render(); ?> - <input type="hidden" id="page_num" value="1"> - </div> - <div id="cas_browser_product_list" class="span-16 colborder"> - <h3>Product Search Results</h3> - </div> - <div id="cas_browser_dataset_download" class="span-6 last"> - <a href="<?php echo App::Get()->settings['browser_datadeliv_url']?>/dataset?typeID=<?php echo App::Get()->request->segments[0]?>&format=application/x-zip"> - <img src="<?php echo MODULE_STATIC?>/img/zip-icon-smaller.gif" id="zip_icon" alt="zip-icon"/> - </a> - Click on the icon to download all <?php echo $productCount ?> data products associated with - this search as a single Zip archive.<br/> - </div> - </div> -</div> -</div> http://git-wip-us.apache.org/repos/asf/oodt/blob/098cc4fa/balance/modules/cas-browser/views/typesearch.php ---------------------------------------------------------------------- diff --git a/balance/modules/cas-browser/views/typesearch.php b/balance/modules/cas-browser/views/typesearch.php deleted file mode 100644 index 35fe3ab..0000000 --- a/balance/modules/cas-browser/views/typesearch.php +++ /dev/null @@ -1,121 +0,0 @@ -<?php -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -$module = App::Get()->loadModule(); -require_once($module->modulePath . "/classes/CasBrowser.class.php"); -require_once($module->modulePath . "/scripts/widgets/CrossTypeSearchWidget.php"); - -// Get a CAS-Browser XML/RPC client -$browser = new CasBrowser(); -$client = $browser->getClient(); - -// Initialize the CrossTypeSearchWidget -$querySiteRoot = (isset(App::Get()->settings['query_service_url'])) - ? App::Get()->settings['query_service_url'] - : 'http://' . $_SERVER['HTTP_HOST'] . $module->moduleRoot; -$crossTypeWidget = new CrossTypeSearchWidget(array( - 'htmlID' => 'cas_browser_product_list', - 'loadingID' => 'loading_icon_container', - 'siteUrl' => $querySiteRoot)); -$crossTypeWidget->renderScript(); - -// Store any filter and exclusive/inclusive parameters passed in via URL -$urlParams = CrossTypeSearchWidget::parseSegments(); -$queryBoolValue = 'and'; -$exclusiveChecked = true; -if(isset($urlParams['filterParams'])){ - $filterButtonValue = "Hide Filters"; -}else{ - $filterButtonValue = "Show Filters"; -} -if(isset($urlParams['exclusive'])){ - $queryBoolValue = $urlParams['exclusive']['bool']; - $exclusiveChecked = $urlParams['exclusive']['checked']; -} - -// Prepare BreadcrumbWigdet -$bcw = new BreadcrumbsWidget(); -$bcw->add('Home',SITE_ROOT . '/'); -$bcw->add("Browse Across Types"); -?> - -<script type="text/javascript" src="<?php echo $module->moduleStatic?>/js/jquery.dataTables.min.js"></script> -<script type="text/javascript"> -$(document).ready(function() { - - $('#showFilters').click(function() { - if ($(this).val() == "Show Filters") { - $('#filter_widget').fadeIn('slow'); - $(this).val('Hide Filters'); - } else { - $('#filter_widget').fadeOut('slow'); - $(this).val('Show Filters'); - } - }); - - pPageSize = 20; - - addBooleanCriteria(<?php echo "'" . $queryBoolValue . "'"; ?>, null); - - <?php - if(isset($urlParams['filterParams'])){ - foreach($urlParams['filterParams'] as $filter){ - echo "createFilter('" . $filter[0] . "','" . $filter[1] . "');\n"; - } - if($exclusiveChecked == false){ - echo '$("#exclusive").attr("checked", false);'; - } - echo 'displayPermalink();'; - echo '$("#filter_widget").css("display", "block");'; - } - ?> - - sendCrossTypeRequest(); - -}); -</script> -<div class="container"> -<hr class="space"/> -<div id="cas_browser_container" class="span-24 last"> - <div id="section_products"> - <h2 ><?php echo "Cross Product Type Search"?></h2> - <ul class="tabmenu"> - <li class=""><a href="<?php echo $module->moduleRoot?>/">Browse By Type</a></li> - <li class="selected"><a href="<?php echo $module->moduleRoot?>/typesearch/">Browse Across Types</a></li> - </ul> - <hr class="space"/> - - <div id="section_filter_tools_container"> - <div id="section_filter_tools_buttons"> - <input type="button" id="showFilters" value=<?php echo '"' . $filterButtonValue . '"';?> /> - </div> - <div id="section_filter_tools"> - <div id="filter_widget"> - Filter: <?php $crossTypeWidget->render(); ?> - </div> - </div> - </div> - - <br/> - <div id="loading_icon_container"> - <img src="<?php echo App::Get()->request->moduleStatic . '/img/loading.gif'; ?>"/> - </div> - <div id="cas_browser_product_list"></div> - </div> -</div> -</div> \ No newline at end of file http://git-wip-us.apache.org/repos/asf/oodt/blob/098cc4fa/balance/modules/profile/README.txt ---------------------------------------------------------------------- diff --git a/balance/modules/profile/README.txt b/balance/modules/profile/README.txt deleted file mode 100644 index f07be3d..0000000 --- a/balance/modules/profile/README.txt +++ /dev/null @@ -1,88 +0,0 @@ -Profile Manager - Lightweight profile manager for Balance applications -====================================================================== - -Overview --------- - -The Profile Manager provides an interface to simplify the process of accessing and -managing the information within the underlying directory services. The module provides -views that make it easy to login, browse, and manage profile information for a specified -user. It also provides a simplified way to create new profiles. However, an administrative -user must grant the new user privileges from within the underlying directory service. The -primary use case for this module involves authentication and authorization using LDAP, -although it should be possible to support additional back-ends with moderate customization. - - -How it Works ------------- - -The Profile Manager has been designed so that it is easy to plug in custom back end -directory services (LDAP, MySql, etc). The profile manager comes with a ready-to-use -LDAP provider but customizing it is very simple. Once all the attributes in the -config.ini file are set, the profile manager will display all attributes defined. -These attributes will be displayed on the view.php page and can be modified through -the manage.php page. The profile manager also provides the ability to change user -passwords. Moreover, user groups can be viewed on the groups.php page if authorization -configurations are setup. - - -Installation ------------- - -Copy the Profile module (this directory) to the /modules directory of -your Balance application. - - -Dependencies ------------- - - CAS-Single Sign On ( For LDAP users ) -: If LDAP is used for authentication and/or authorization, the [CAS-SSO](https://svn.apache.org/repos/asf/oodt/tags/0.3/sso/src/main/php/pear/) - library must be available on the host environment to allow the module to communicate - with LDAP through this library. - - -Configuration -------------- - -All configuration for the Profile Manager takes place in the module's 'config.ini' file. -See the inline documentation in 'config.ini' for detailed information about each -configuration option. - - -Developer Guide ---------------- - -### Including the Profile Manager in your application - -In general, the Profile Manager needs to be available on each application view. To avoid -having to load the module at the top of each view, it is possible to include the module once, -in the Balance index.php at the root of your application. Simply add the following -lines to the 'index.php' file where it says 'Initialize any globally required modules here': - -// Profile Manager initialization -$module = App::Get()->loadModule('NAME_OF_PROFILE_DIRECTORY'); - - -### Including the Profile Manager in your application views ### - -Before displaying the manager first you must initialize the UserStatusWidget by adding the -following: - - // Load profile module for path access - $module = App::Get()->loadModule('profile'); - // Prepare User login details - $authentication = App::Get()->getAuthProvider(); - $username = $authentication->getCurrentUsername(); - require_once( $module->modulePath . '/scripts/widgets/UserStatusWidget.php' ); - $userStatus = new UserStatusWidget( - array( $authentication->isLoggedIn(), - $username, - // Set profile management on. 'false' will disable the link to profile management. - true), true ); - -To display the user status in your application views simply add the following: - - <?php $userStatus->render();?> - -
