comprofiler.html.php
上传用户:stephen_wu
上传日期:2008-07-05
资源大小:1757k
文件大小:95k
源码类别:

网络

开发平台:

Unix_Linux

  1. <?php
  2. /**
  3. * Joomla/Mambo Community Builder
  4. * @version $Id: comprofiler.html.php 609 2006-12-13 17:30:15Z beat $
  5. * @package Community Builder
  6. * @subpackage comprofiler.html.php
  7. * @author JoomlaJoe and Beat
  8. * @copyright (C) JoomlaJoe and Beat, www.joomlapolis.com
  9. * @license http://www.gnu.org/licenses/old-licenses/gpl-2.0.html GNU/GPL version 2
  10. */
  11. if ( ! ( defined( '_VALID_CB' ) || defined( '_JEXEC' ) || defined( '_VALID_MOS' ) ) ) { die( 'Direct Access to this location is not allowed.' ); }
  12. class HTML_comprofiler {
  13. function outputMosFormVal() {
  14. ?>
  15. <script type="text/javascript"><!--//--><![CDATA[//><!--
  16. var cbDefaultFieldBackground;
  17. function submitbutton(mfrm) {
  18. var me = mfrm.elements;
  19. var errorMSG = '';
  20. var iserror=0;
  21. // loop through all input elements in form
  22. for (var i=0; i < me.length; i++) {
  23. // check if element is mandatory; here mosReq="1"
  24. if ( (typeof(me[i].getAttribute('mosReq')) != "undefined") && ( me[i].getAttribute('mosReq') == 1) ) {
  25. if (me[i].type == 'radio' || me[i].type == 'checkbox') {
  26. var rOptions = me[me[i].getAttribute('name')];
  27. var rChecked = 0;
  28. if(rOptions.length > 1) {
  29. for (var r=0; r < rOptions.length; r++) {
  30. if (rOptions[r].checked) {
  31. rChecked=1;
  32. }
  33. }
  34. } else {
  35. if (me[i].checked) {
  36. rChecked=1;
  37. }
  38. }
  39. if(rChecked==0) {
  40. for (var k=0; k < me.length; k++) {
  41. if (me[i].getAttribute('name') == me[k].getAttribute('name')) {
  42. if (me[k].checked) {
  43. rChecked=1;
  44. break;
  45. }
  46. }
  47. }
  48. }
  49. if(rChecked==0) {
  50. // add up all error messages
  51. errorMSG += me[i].getAttribute('mosLabel') + ' : <?php echo unhtmlentities(_UE_REQUIRED_ERROR); ?>n';
  52. // notify user by changing background color, in this case to red
  53. if (cbDefaultFieldBackground === undefined) cbDefaultFieldBackground = ((me[i].style.getPropertyValue) ? me[i].style.getPropertyValue("backgroundColor") : me[i].style.backgroundColor);
  54. me[i].style.backgroundColor = "red";
  55. iserror=1;
  56. } else if (me[i].style.backgroundColor.slice(0,3)=="red") me[i].style.backgroundColor = cbDefaultFieldBackground;
  57. }
  58. if (me[i].value == '') {
  59. // add up all error messages
  60. errorMSG += me[i].getAttribute('mosLabel') + ' : <?php echo unhtmlentities(_UE_REQUIRED_ERROR); ?>n';
  61. // notify user by changing background color, in this case to red
  62. if (cbDefaultFieldBackground === undefined) cbDefaultFieldBackground = ((me[i].style.getPropertyValue) ? me[i].style.getPropertyValue("backgroundColor") : me[i].style.backgroundColor);
  63. me[i].style.backgroundColor = "red";
  64. iserror=1;
  65. } else if ((me[i].getAttribute('mosLength')) && (me[i].value.length > me[i].getAttribute('mosLength'))) {
  66. errorMSG += me[i].getAttribute('mosLabel') + " <?php echo unhtmlentities(_UE_LENGTH_ERROR); ?> " + (me[i].value.length - me[i].getAttribute('mosLength')) + " <?php echo unhtmlentities(_UE_CHARACTERS); ?>n";
  67. // notify user by changing background color, in this case to red
  68. if (cbDefaultFieldBackground === undefined) cbDefaultFieldBackground = ((me[i].style.getPropertyValue) ? me[i].style.getPropertyValue("backgroundColor") : me[i].style.backgroundColor);
  69. me[i].style.backgroundColor = "red";
  70. iserror=1;
  71. } else if (me[i].style.backgroundColor.slice(0,3)=="red") me[i].style.backgroundColor = cbDefaultFieldBackground;
  72. }
  73. }
  74. if(iserror==1) {
  75. alert(errorMSG);
  76. return false;
  77. } else {
  78. return true;
  79. }
  80. }
  81. //--><!]]></script>
  82. <?php
  83. } // end of php method HTML_comprofiler::outputMosFormVal()
  84. function emailUser( $option, $rowFrom, $rowTo, $subject = '', $message = '' ) {
  85. global $_CB_framework, $ueConfig, $_PLUGINS;
  86. if($rowFrom->id == $rowTo->id) {
  87. echo "<div class="contentheading" >"._UE_NOSELFEMAIL."</div>";
  88. return;
  89. }
  90. HTML_comprofiler::outputMosFormVal();
  91. $_PLUGINS->loadPluginGroup('user');
  92. $results = $_PLUGINS->trigger( 'onBeforeEmailUserForm', array( &$rowFrom, &$rowTo, 1 )); //$ui=1
  93. if ($_PLUGINS->is_errors()) {
  94. echo "<script type="text/javascript">alert("".$_PLUGINS->getErrorMSG().""); window.history.go(-1); </script>n";
  95. exit();
  96. }
  97. ?>
  98. <div style="text-align:left;">
  99. <div class="componentheading" ><?php
  100. echo sprintf(_UE_EMAILFORMTITLE,"<a href="".cbSef( "index.php?option=com_comprofiler&amp;task=UserDetails&amp;user=".$rowTo->id )."">".getNameFormat($rowTo->name,$rowTo->username,$ueConfig['name_format'])."</a>");
  101. ?></div>
  102. <form action="<?php echo cbSef("index.php?option=$option".getCBprofileItemid(true)); ?>" method="post" id="adminForm" name="adminForm" onsubmit="return submitbutton(this)">
  103. <br /><?php echo _UE_EMAILFORMSUBJECT; ?><br />
  104. <?php
  105. if (is_array($results)) {
  106. echo implode( "<br />", $results );
  107. }
  108. ?>
  109. <input mosReq="1" mosLabel="<?php echo htmlspecialchars( _UE_EMAILFORMSUBJECT ); ?>" type="text" class="inputbox" name="emailSubject" size="50" value="<?php echo htmlspecialchars( $subject ); ?>" /><?php
  110. echo getFieldIcons( 1, 1, null );
  111. ?><br />
  112. <br /><?php echo _UE_EMAILFORMMESSAGE; ?><br />
  113. <textarea mosReq="1" mosLabel='<?php echo htmlspecialchars( _UE_EMAILFORMMESSAGE ); ?>' class="inputbox" name="emailBody" cols="50" rows="15" ><?php echo htmlspecialchars( $message ); ?></textarea><?php
  114. echo getFieldIcons( 1, 1, null );
  115. echo '<br />';
  116. $warning = _UE_EMAILFORMWARNING;
  117. $results = $_PLUGINS->trigger( 'onAfterEmailUserForm', array( &$rowFrom, &$rowTo, &$warning, 1 )); //$ui=1
  118. if (is_array($results)) {
  119. echo implode( "<br />", $results );
  120. }
  121. ?>
  122. <div><?php echo sprintf( $warning, $rowFrom->email ); ?></div>
  123. <input type="hidden" name="fromID" value="<?php echo $rowFrom->id; ?>" />
  124. <input type="hidden" name="toID" value="<?php echo $rowTo->id; ?>" />
  125. <input type="hidden" name="protect" value="<?php
  126. $salt = cbMakeRandomString( 16 );
  127. echo 'cbmv1_' . md5($salt.$rowTo->id.$rowTo->password.$rowTo->lastvisitDate.$rowFrom->password.$rowFrom->lastvisitDate) . '_' . $salt; ?>" />
  128. <?php
  129. echo cbGetSpoofInputTag( 'emailUser' );
  130. echo "tt" . cbGetAntiSpamInputTag();
  131. ?>
  132. <input type="hidden" name="option" value="<?php echo $option; ?>" />
  133. <input type="hidden" name="task" value="sendUserEmail" />
  134. <input type="submit" class="button" value="<?php echo _UE_SENDEMAIL; ?>" />
  135. </form>
  136. </div>
  137. <div style="align:center;">
  138. <?php
  139. echo getFieldIcons( 1, 1, null, '', '', 2 );
  140. ?>
  141. </div>
  142. <?php
  143. }
  144. /******************************
  145. Profile Functions
  146. ******************************/
  147. function userEdit( $user, $option, $submitvalue, $regErrorMSG=null )
  148. {
  149. global $_CB_framework, $ueConfig, $_REQUEST;
  150. outputCbTemplate( 1 );
  151. addCbHeadTag( 1, initToolTip(1) );
  152. $title = cbSetTitlePath( $user, _UE_EDIT_TITLE, _UE_EDIT_OTHER_USER_TITLE );
  153. $tabs = new cbTabs( 0, 1 );
  154. $tabcontent = $tabs->getEditTabs( $user );
  155. ob_start();
  156. ?>
  157. var cbDefaultFieldBackground;
  158. function cbFrmSubmitButton() {
  159. var me = this.elements;
  160. <?php
  161. $version = checkJversion();
  162. if ($version == 1) {
  163. // var r = new RegExp("^[a-zA-Z](([.-a-zA-Z0-9@])?[a-zA-Z0-9]*)*$", "i");
  164. ?>
  165. var r = new RegExp("^[<|>|"|'|%|;|(|)|&|+|-]*$", "i");
  166. <?php
  167. } elseif ( $version == -1 ) {
  168. ?>
  169. var r = new RegExp("[^A-Za-z0-9]", "i");
  170. <?php
  171. } else {
  172. ?>
  173. var r = new RegExp("[<|>|"|'|%|;|(|)|&|+|-]", "i");
  174. <?php
  175. }
  176. ?>
  177. var errorMSG = '';
  178. var iserror=0;
  179. if (cbDefaultFieldBackground === undefined) cbDefaultFieldBackground = ((me['username'].style.getPropertyValue) ? me['username'].style.getPropertyValue("backgroundColor") : me['username'].style.backgroundColor);
  180. <?php echo $tabs->fieldJS; ?>
  181. if (me['username'].value == "") {
  182. errorMSG += "<?php echo unhtmlentities(_REGWARN_UNAME);?>n";
  183. me['username'].style.backgroundColor = "red";
  184. iserror=1;
  185. } else if (r.exec(me['username'].value) || (me['username'].value.length < 3)) {
  186. errorMSG += "<?php printf( unhtmlentities(_VALID_AZ09), unhtmlentities(_PROMPT_UNAME), 2 );?>n";
  187. me['username'].style.backgroundColor = "red";
  188. iserror=1;
  189. } else if (me['username'].style.backgroundColor.slice(0,3)=="red") {
  190. me['username'].style.backgroundColor = cbDefaultFieldBackground;
  191. }
  192. if ((me['password'].value) && (me['password'].value.length < 6)) {
  193. errorMSG += "<?php printf( unhtmlentities(_VALID_AZ09), unhtmlentities(_REGISTER_PASS), 6 );?>n";
  194. me['password'].style.backgroundColor = "red";
  195. iserror=1;
  196. } else if ((me['password'].value != "") && (me['password'].value != me['password__verify'].value)){
  197. errorMSG += "<?php echo unhtmlentities(_REGWARN_VPASS2);?>n";
  198. me['password'].style.backgroundColor = "red"; me['password__verify'].style.backgroundColor = "red";
  199. iserror=1;
  200. } else {
  201. if (me['password'].style.backgroundColor.slice(0,3)=="red") me['password'].style.backgroundColor = cbDefaultFieldBackground;
  202. if (me['password__verify'].style.backgroundColor.slice(0,3)=="red") me['password__verify'].style.backgroundColor = cbDefaultFieldBackground;
  203. }
  204. // loop through all input elements in form
  205. var fieldErrorMessages = new Array;
  206. for (var i=0; i < me.length; i++) {
  207. // check if element is mandatory; here mosReq="1"
  208. if ( (typeof(me[i].getAttribute('mosReq')) != "undefined") && ( me[i].getAttribute('mosReq') == 1) ) {
  209. if (me[i].type == 'radio' || me[i].type == 'checkbox') {
  210. var rOptions = me[me[i].getAttribute('name')];
  211. var rChecked = 0;
  212. if(rOptions.length > 1) {
  213. for (var r=0; r < rOptions.length; r++) {
  214. if ( (typeof(rOptions[r].getAttribute('mosReq')) != "undefined") && ( rOptions[r].getAttribute('mosReq') == 1) ) {
  215. if (rOptions[r].checked) {
  216. rChecked=1;
  217. }
  218. }
  219. }
  220. } else {
  221. if (me[i].checked) {
  222. rChecked=1;
  223. }
  224. }
  225. if(rChecked==0) {
  226. for (var k=0; k < me.length; k++) {
  227. if (me[i].getAttribute('name') == me[k].getAttribute('name')) {
  228. if (me[k].checked) {
  229. rChecked=1;
  230. break;
  231. }
  232. }
  233. }
  234. }
  235. if(rChecked==0) {
  236. var alreadyFlagged = false;
  237. for (var j = 0, n = fieldErrorMessages.length; j < n; j++) {
  238. if (fieldErrorMessages[j] == me[i].getAttribute('name')) {
  239. alreadyFlagged = true;
  240. break
  241. }
  242. }
  243. if ( ! alreadyFlagged ) {
  244. fieldErrorMessages.push(me[i].getAttribute('name'));
  245. // add up all error messages
  246. errorMSG += me[i].getAttribute('mosLabel') + ' : <?php echo unhtmlentities(_UE_REQUIRED_ERROR); ?>n';
  247. // notify user by changing background color, in this case to red
  248. me[i].style.backgroundColor = "red";
  249. iserror=1;
  250. }
  251. } else if (me[i].style.backgroundColor.slice(0,3)=="red") me[i].style.backgroundColor = cbDefaultFieldBackground;
  252. }
  253. if (me[i].value == '') {
  254. // add up all error messages
  255. errorMSG += me[i].getAttribute('mosLabel') + ' : <?php echo unhtmlentities(_UE_REQUIRED_ERROR); ?>n';
  256. // notify user by changing background color, in this case to red
  257. me[i].style.backgroundColor = "red";
  258. iserror=1;
  259. } else if (me[i].style.backgroundColor.slice(0,3)=="red") me[i].style.backgroundColor = cbDefaultFieldBackground;
  260. }
  261. }
  262. if(iserror==1) {
  263. alert(errorMSG);
  264. return false;
  265. } else {
  266. return true;
  267. }
  268. }
  269. $('#cbcheckedadminForm').submit( cbFrmSubmitButton );
  270. <?php
  271. $cbjavascript = ob_get_contents();
  272. ob_end_clean();
  273. $_CB_framework->outputCbJQuery( $cbjavascript );
  274. ?>
  275. <div class="componentheading"><?php echo htmlspecialchars( $title ); ?></div>
  276. <div class="cbEditProfile"><div id="cbEditProfileInner">
  277. <form action="<?php echo cbSef("index.php?option=$option".getCBprofileItemid(true)); ?>" method="post" id="cbcheckedadminForm" name="adminForm" enctype="multipart/form-data">
  278. <?php
  279. if ( $regErrorMSG ) {
  280. echo "<div class='error'>".$regErrorMSG."</div>n";
  281. }
  282. if ( $user->id != $_CB_framework->myId() ) {
  283. echo "<div class='message' style='font-weight:bold;color:red;margin-bottom:20px;'>" . sprintf( _UE_WARNING_EDIT_OTHER_USER_PROFILE, getNameFormat( $user->name, $user->username, $ueConfig['name_format'] ) ) . "</div>n";
  284. }
  285. echo $tabcontent;
  286. ?>
  287. <input class="button" type="submit" value="<?php echo $submitvalue; ?>" />
  288. <input type="button" class="button" name="btncancel" value="<?php echo _UE_CANCEL; ?>" onclick="window.location='<?php
  289.  echo cbSef("index.php?option=" . htmlspecialchars( cbGetParam( $_REQUEST, 'option' ) ) . ( ( $user->id == $_CB_framework->myId() ) ? '' : ( '&amp;user=' . $user->id ) ) . getCBprofileItemid( true )); ?>';" />
  290. <input type="hidden" name="id" value="<?php echo $user->id;?>" />
  291. <input type="hidden" name="task" value="saveUserEdit" />
  292. <?php
  293. echo cbGetSpoofInputTag( 'userEdit' );
  294. ?>
  295. <div style="align:center;">
  296. <?php
  297. echo getFieldIcons(1,true,true,"","",true);
  298. if ( isset( $_REQUEST['tab'] ) ) {
  299. echo "<script type="text/javascript">showCBTab( '" . urldecode( cbGetParam( $_REQUEST, 'tab' ) ) . "' );</script>";
  300. }
  301. ?>
  302. </div>
  303. </form>
  304. </div></div>
  305. <div class="cbClr"></div>
  306. <?php
  307. }
  308. function userProfile($user, $option, $submitvalue) {
  309. global $_CB_framework, $ueConfig,$_POST,$_PLUGINS;
  310. $_PLUGINS->loadPluginGroup('user');
  311. $results = $_PLUGINS->trigger( 'onBeforeUserProfileRequest', array(&$user,1));
  312. if ($_PLUGINS->is_errors()) {
  313. echo "<script type="text/javascript">alert("".$_PLUGINS->getErrorMSG().""); window.history.go(-1); </script>n";
  314. exit();
  315. }
  316. $cbMyIsModerator = isModerator( $_CB_framework->myId() );
  317. $cbUserIsModerator = isModerator($user->id);
  318. $showProfile=1;
  319. if ( ( $user->banned != 0 ) || ( ( $user->block == 1 ) && $user->confirmed && $user->approved ) ) {
  320. echo "<font color='red'>";
  321. if ($user->banned != 0 ) {
  322. if ( $_CB_framework->myId() != $user->id ) {
  323. echo _UE_USERPROFILEBANNED;
  324. } else {
  325. echo _UE_BANNED_CHANGE_PROFILE;
  326. }
  327. }
  328. if ( ( $user->block == 1 ) && $user->confirmed && $user->approved ) {
  329. echo _UE_USERPROFILEBLOCKED;
  330. }
  331. if ( ( $_CB_framework->myId() != $user->id ) && ( $cbMyIsModerator != 1 ) ) {
  332. $showProfile=0;
  333. } else {
  334. if ($user->block == 1) {
  335. echo ": "._UE_LOGIN_BLOCKED;
  336. }
  337. if ($user->banned != 0) {
  338. echo "<br />".nl2br($user->bannedreason);
  339. }
  340. }
  341. echo "<br /></font>";
  342. }
  343. if ( ! $user->confirmed ) {
  344. echo "<font color='red'>"._UE_USER_NOT_CONFIRMED."</font><br />";
  345. }
  346. if ( ! $user->approved ) {
  347. echo "<font color='red'>"._UE_USER_NOT_APPROVED."</font><br />";
  348. }
  349. if ( ( ! $user->confirmed || ! $user->approved) && $cbMyIsModerator != 1 ) {
  350. $showProfile = 0;
  351. }
  352. if ( $showProfile == 1 ) {
  353. $results = $_PLUGINS->trigger( 'onBeforeUserProfileDisplay', array(&$user,1,&$cbUserIsModerator,&$cbMyIsModerator)); //$ui=1 //BBB: params?
  354. if ($_PLUGINS->is_errors()) {
  355. echo "<script type="text/javascript">alert("".$_PLUGINS->getErrorMSG().""); window.history.go(-1); </script>n";
  356. exit();
  357. }
  358. if (is_array($results)) {
  359. for ($i=0, $n=count($results); $i<$n; $i++) {
  360. echo $results[$i];
  361. }
  362. }
  363. $tabs = new cbTabs( 0, 1 );
  364. $userViewTabs = $tabs->getViewTabs($user); // this loads, registers menu and user status and renders the tabs
  365. $_CB_framework->setPageTitle( unHtmlspecialchars(getNameFormat($user->name,$user->username,$ueConfig['name_format'])));
  366. $_CB_framework->appendPathWay( getNameFormat($user->name,$user->username,$ueConfig['name_format']));
  367. $i=1;
  368. outputCbTemplate(1);
  369. addCbHeadTag( 1, initToolTip(1) );
  370. addCbHeadTag( 1, '
  371. <script type="text/javascript">
  372. function cbConnSubmReq() {
  373. cClick();
  374. document.connOverForm.submit();
  375. }
  376. function confirmSubmit() {
  377. if (confirm("' . _UE_CONFIRMREMOVECONNECTION . '"))
  378. return true ;
  379. else
  380. return false ;
  381. }
  382. </script>
  383. ' );
  384. //positions: head left middle right tabmain underall
  385. $wLeft  = isset($userViewTabs["cb_left"])  ? 100 : 0;
  386. $wMiddle = isset($userViewTabs["cb_middle"]) ? 100 : 0;
  387. $wRight  = isset($userViewTabs["cb_right"])  ? 100 : 0;
  388. $nCols  = intval(($wLeft + $wMiddle + $wRight)/100);
  389. switch ($nCols) {
  390. case 0:
  391. case 1:
  392. break;
  393. case 2:
  394. $wLeft  = $wLeft ? intval($ueConfig['left2colsWidth'])-1 : 0;
  395. $wMiddle = $wMiddle ? ($wLeft ? 100-intval($ueConfig['left2colsWidth'])-1 : intval($ueConfig['left2colsWidth'])-1) : 0;
  396. $wRight  = $wRight ? 100-intval($ueConfig['left2colsWidth'])-1 : 0;
  397. break;
  398. case 3:
  399. $wLeft  = intval($ueConfig['left3colsWidth'])-1;
  400. $wMiddle = 100-intval($ueConfig['left3colsWidth'])-intval($ueConfig['right3colsWidth'])-1;
  401. $wRight  = intval($ueConfig['right3colsWidth'])-1;
  402. break;
  403. }
  404. echo "nt<div class="cbProfile"><div id="cbProfileInner">";
  405. // Display "head" tabs: (Menu + shortest connection path / Degree of relationship + Uname Profile Page)
  406. if (isset($userViewTabs["cb_head"])) {
  407. echo "<div class="cbPosHead">";
  408.      echo $userViewTabs["cb_head"];
  409.      echo "</div><div class="cbClr"></div>";
  410. }
  411. if ($nCols != 0) {
  412. echo "ntt<div class="cbPosTop">";
  413. // Display "Left" tabs
  414. if (isset($userViewTabs["cb_left"])) {
  415. echo "nttt<div class="cbPosLeft" style="width:".$wLeft."%;">";
  416.      echo $userViewTabs["cb_left"];
  417.      echo "</div>";
  418. }
  419. // Display "Middle" tabs (User Avatar/Image):
  420. if (isset($userViewTabs["cb_middle"])) {
  421. echo "nttt<div class="cbPosMiddle" style="width:".$wMiddle."%;">";
  422.      echo $userViewTabs["cb_middle"];
  423.      echo "</div>";
  424. }
  425. // Display "Right" tabs (User Status):
  426. if (isset($userViewTabs["cb_right"])) {
  427. echo "nttt<div class="cbPosRight" style="width:".$wRight."%;">";
  428.      echo $userViewTabs["cb_right"];
  429.      echo "</div>";
  430. }
  431. echo "</div><div class="cbClr"></div>";
  432. }
  433. if (isset($userViewTabs["cb_tabmain"])) {
  434. echo "ntt<div class="cbPosTabMain">";
  435. echo $userViewTabs["cb_tabmain"];
  436. echo "</div><div class="cbClr"></div>";
  437. }
  438. if (isset($userViewTabs["cb_underall"])) {
  439. echo "ntt<div class="cbPosUnderAll">";
  440. echo $userViewTabs["cb_underall"];
  441. echo "</div><div class="cbClr"></div>";
  442. }
  443. // New CB 1.2 grid layout:
  444. $line = null;
  445. $tabsIdxes = array_keys( $userViewTabs );
  446. foreach ( $tabsIdxes as $k => $v ) {
  447. if ( $v[0] == 'L' ) {
  448. $L = $v[1];
  449. if ( $line === null ) {
  450. // new line: mark begin:
  451. $line = $k;
  452. }
  453. if ( ! ( isset( $tabsIdxes[$k + 1] ) && ( $tabsIdxes[$k + 1][1] == $L ) ) ) {
  454. // line is now complete, next entry, if exists, is another line: generate line:
  455. $cols = $k - $line + 1;
  456. $width = 100;
  457. $step = floor( $width / $cols );
  458. echo "ntt" . '<div class="cbPosGridLine" id="cbPosLine' . substr( $v, 0, 2 ) . '">';
  459. for ( $i = $line ; $i <= $k ; $i++ ) {
  460. if ( $i == $k ) {
  461. $step = $width - ( ( $cols - 1 ) * $step );
  462. }
  463. echo "ntt" . '<div class="cbPosGrid" id="cbPos' . $v . '" style="width:' . $step . '%;"><div class="cbPosGridE">';
  464. echo $userViewTabs[$tabsIdxes[$i]];
  465. echo '</div></div>';
  466. }
  467. echo '</div><div class="cbClr" id="cbPosSep' . substr( $v, 0, 2 ) . '"> </div>';
  468. $line = null;
  469. }
  470. }
  471. }
  472. echo "</div><div class="cbClr"></div></div>n" . "<div class="cbClr"></div>"; // end of cbProfile floating div
  473. $tab = null;
  474. if ( isset( $_GET['tab'] ) ) {
  475. $tab = urldecode( cbGetParam( $_GET, 'tab', '' ) );
  476. } elseif ( isset( $_POST['tab'] ) ) {
  477. $tab = cbGetParam( $_POST, 'tab', '' );
  478. }
  479. if ($tab) {
  480. echo "<script type="text/javascript">showCBTab('".addslashes(htmlspecialchars($tab))."');</script>n";
  481. }
  482. if ( $_CB_framework->myId() != $user->id ) {
  483. recordViewHit( $_CB_framework->myId(), $user->id, getenv( 'REMOTE_ADDR' ) );
  484. }
  485. $_PLUGINS->trigger( 'onAfterUserProfileDisplay', array($user,true));
  486. }
  487. }
  488. function userAvatar( &$row, $option, $submitvalue ) {
  489. global $_CB_framework, $_CB_database, $_REQUEST, $ueConfig, $_PLUGINS, $_FILES;
  490. outputCbTemplate(1);
  491. $title = cbSetTitlePath( $row, _UE_UPDATEAVATAR, _UE_EDIT_OTHER_USER_TITLE );
  492. ?>
  493. <!-- TAB -->
  494. <div class="componentheading"><?php echo $title; ?></div><br />
  495. <?php                       
  496. if($ueConfig['allowAvatarUpload']){
  497. echo "<div class='contentheading'>"._UE_UPLOAD_SUBMIT."</div>";
  498. echo sprintf( _UE_UPLOAD_DIMENSIONS_AVATAR, $ueConfig['avatarWidth'], $ueConfig['avatarHeight'], $ueConfig['avatarSize'] );
  499. echo "n<form action='".cbSef("index.php?option=com_comprofiler&amp;task=userAvatar".getCBprofileItemid(true))."' method='post' name='adminForm' enctype='multipart/form-data'>";
  500. echo "nt<input type='hidden' name='do' value='validate' />";
  501. if ( $_CB_framework->myId() != $row->id ) {
  502. echo "nt<input type='hidden' name='uid' value='" . $row->id . "' />";
  503. }
  504. echo "nt<table width='100%' border='0' cellpadding='4' cellspacing='2'>";
  505. echo "ntt<tr align='center' valign='middle'>nttt<td align='center' valign='top'>";
  506. //echo " <input type='hidden' name='MAX_FILE_SIZE' value='".$maxAllowed."' />";
  507. echo _UE_UPLOAD_SELECT_FILE." <input type='file' name='avatar' value='' />";
  508. echo " <input type='submit' class='button' value='"._UE_UPLOAD_UPLOAD."' />";
  509. echo "</td>ntt</tr>";
  510. echo "ntt<tr align='center' valign='middle'>nttt<td align='center' valign='top'>";
  511. echo ( $ueConfig['reg_enable_toc'] ? sprintf( _UE_AVATAR_UPLOAD_DISCLAIMER_TERMS, "<a href='".cbSef(htmlspecialchars($ueConfig['reg_toc_url']))."' target='_BLANK'> " . _UE_AVATAR_TOC_LINK . "</a>" ) : _UE_AVATAR_UPLOAD_DISCLAIMER );
  512. echo "</td>ntt</tr>";
  513. echo "</table><br/><br/>";
  514. echo "n";
  515. echo cbGetSpoofInputTag( 'userAvatar' );
  516. echo "</form>";
  517. }
  518. if($ueConfig['allowAvatarGallery']){
  519. echo "n<div class='contentheading'>"._UE_UPLOAD_GALLERY."</div>";
  520. echo "n<form action='".cbSef("index.php?option=com_comprofiler&amp;task=userAvatar".getCBprofileItemid(true))."' method='post' name='adminForm'>";
  521. echo "nt<input type='hidden' name='do' value='fromgallery' />";
  522. if ( $_CB_framework->myId() != $row->id ) {
  523. echo "nt<input type='hidden' name='uid' value='" . $row->id . "' />";
  524. }
  525. echo "nt<table width='100%' border='0' cellpadding='4' cellspacing='2'>";
  526. echo "ntt<tr align='center' valign='middle'>";
  527. echo '<td colspan="5">&nbsp;</td></tr>';
  528. echo "ntt<tr align='center' valign='middle'>";
  529. $live_site = $_CB_framework->getCfg( 'live_site' );
  530. $avatar_gallery_path = $_CB_framework->getCfg( 'absolute_path' ) . '/images/comprofiler/gallery';
  531. $avatar_images = display_avatar_gallery($avatar_gallery_path);
  532. for($i = 0; $i < count($avatar_images); $i++) {
  533. $j=$i+1;
  534. echo "nttt<td>";
  535. $avatar_name = ucfirst(str_replace("_", " ", preg_replace('/^(.*)..*$/', '1', $avatar_images[$i])));
  536. echo '<img src="' . $live_site . '/images/comprofiler/gallery/'. $avatar_images[$i].'" alt="'.$avatar_name.'" title="'.$avatar_name.'" />';
  537. echo '<input type="radio" name="newavatar" value="'.$avatar_images[$i].'" />';
  538. echo '</td>';
  539. if (function_exists('fmod')) {
  540. if (!fmod(($j),5)) { echo "</tr>ntt<tr align="center" valign="middle">"; }
  541. } else {
  542. if (!fmodReplace(($j),5)) { echo "</tr>ntt<tr align="center" valign="middle">"; }
  543. }
  544. }
  545. echo "ntt</tr>ntt";
  546. echo '<tr><td colspan="5" align="center"><input class="button"  type="submit" value="'._UE_UPLOAD_CHOOSE.'" /> ';
  547. echo '<input type="button" class="button" name="btncancel" value="' . _UE_CANCEL . '" onclick="window.location=''
  548. . cbSef("index.php?option=" . htmlspecialchars( cbGetParam( $_REQUEST, 'option' ) ) . ( ( $row->id == $_CB_framework->myId() ) ? '' : ( '&amp;user=' . $row->id ) ) . getCBprofileItemid( true ))
  549. . '';" />';
  550. echo '</td></tr>';
  551. echo "nt</table>";
  552. echo "n";
  553. echo cbGetSpoofInputTag( 'userAvatar' );
  554. echo "</form>n";
  555. }
  556. }
  557. /******************************
  558. List Functions
  559. ******************************/
  560. function usersList( &$row, &$users, &$columns, &$allFields, &$lists, $listid, $search, $searchmode, $option_itemid, $limitstart, $limit, $total, &$myUser, &$searchableFields, &$searchVals, &$tabs, $searchType, $showPaging ) {
  561. global $_CB_framework, $ueConfig, $_PLUGINS, $_POST, $_GET, $_REQUEST;
  562. $results = $_PLUGINS->trigger( 'onBeforeDisplayUsersList', array( &$row, &$users, &$columns, &$allFields, &$lists, $listid, &$search, &$option_itemid, 1 ) ); // $uid = 1
  563. // regroup parts of the different plugins:
  564. $pluginAdditions = array( 'search', 'header', 'footer' );
  565. $pluginAdditions['search'] = array();
  566. $pluginAdditions['header'] = array();
  567. $pluginAdditions['footer'] = array();
  568. if ( is_array( $results ) && ( count( $results ) > 0 ) ) {
  569. foreach ($results as $res ) {
  570. if ( is_array( $res ) ) {
  571. foreach ( $res as $k => $v ) {
  572. $pluginAdditions[$k][] = $v;
  573. }
  574. }
  575. }
  576. }
  577. $listTitle = cbReplaceVars( getLangDefinition( $row->title ), $myUser );
  578. $listDescription = cbReplaceVars( getLangDefinition( $row->description ), $myUser );
  579. $_CB_framework->setPageTitle( $listTitle );
  580. $_CB_framework->appendPathWay( htmlspecialchars( $listTitle ) );
  581. $cbSpoofField = cbSpoofField();
  582. $cbSpoofString = cbSpoofString( null, 'usersList' );
  583. $spoofAmp = "&amp;" . $cbSpoofField . '=' . urlencode( $cbSpoofString );
  584. $ue_base_url = "index.php?option=com_comprofiler&amp;task=usersList&amp;listid=" . $listid . "&amp;Itemid=" . $option_itemid; // . $spoofAmp; // Base URL string
  585. $adminimagesdir = "components/com_comprofiler/images/";
  586. $searchTabContent = $tabs->getSearchablesContents( $searchableFields, $myUser, $searchVals /* , $searchType */ );
  587. outputCbTemplate( 1 );
  588. //no need for now: addCbHeadTag( 1, initToolTip(1) );
  589. // paginator addition:
  590. $pagingSearch = '';
  591. foreach ( get_object_vars( $searchVals ) as $k => $v ) {
  592. if ( is_array( $v ) ) {
  593. $pArr = '&amp;' . urlencode( $k );
  594. foreach ( $v as $kk => $vv ) {
  595. $pagingSearch .= $pArr . '[' . urlencode( $kk ) . ']=' . urlencode( $vv );
  596. }
  597. } else {
  598. $pagingSearch .= '&amp;' . urlencode( $k ) . '=' . urlencode( $v );
  599. }
  600. }
  601. // Add Javascript to click tr:
  602. $jsClickTr = " {"
  603. . "n var cbUserURLs = new Array(";
  604. if ( is_array( $users ) ) {
  605. foreach( $users as $user ) {
  606. $jsClickTr .= "'" . cbSef( 'index.php?option=com_comprofiler&amp;task=userProfile&amp;user=' . $user->id . getCBprofileItemid( true ), false ) . "',";
  607. }
  608. }
  609. $jsClickTr .= "'');"
  610. . "n $('#cbUserTable > tbody > tr').click( function() {"
  611. // Get the href of the user profile link:
  612. . "n window.location = cbUserURLs[this.id.substr(3)];"
  613. // And avoid the <a> link being followed:
  614. . "n return false;"
  615. . "n } );"
  616. . "n }"
  617. ;
  618. $_CB_framework->outputCbJQuery( $jsClickTr );
  619. /*
  620. // Add Javascript to pagination of list
  621. $jsPagination = " $('#cbUserList a.pagenav').click( function() {"
  622. // Get the href of the pagination link:
  623. . "n var href = $(this).attr('href');"
  624. // Get the page limitstart value:
  625. . "n var matches = /limitstart=(\d*)/.exec(href);"
  626. . "n if ( matches && matches.length == 2 ) {"
  627. // Set limitstart input:
  628. . "n $('input#cbListlimitstart').val( matches[1] );"
  629. // Submit the form, so the values are taken:
  630. . "n $('form#adminForm').submit();"
  631. // And avoid the <a> link being followed:
  632. . "n return false;"
  633. . "n }"
  634. // Link doesn't match, simply follow link:
  635. . "n return true;"
  636. . "n } );"
  637. ;
  638. $_CB_framework->outputCbJQuery( $jsPagination );
  639. */
  640. // list title:
  641. ?>
  642. <div class="cbUsersList"><div id="cbUsersListInner">
  643.   <form class="cb_form" name="adminForm" id="adminForm" method="get" action="<?php echo /* cbSef */ ($ue_base_url."&amp;action=search"); // on purpose without SEF, as joomla 1.0/mambo 4.5.5 core sef doesn't work with this.
  644.   ?>" >
  645.     <input type="hidden" name="option" value="com_comprofiler" />
  646.     <input type="hidden" name="task" value="usersList" />
  647.     <input type="hidden" name="Itemid" value="<?php echo $option_itemid; ?>" />
  648.     <input type="hidden" name="limitstart" id="cbListlimitstart" value="0" />
  649. <div class="cbUserListHeadTitle">
  650. <?php
  651. if ( ( $lists['plists'] !== null ) || ( count( $lists ) > 1 ) || TRUE ) { //TBD IF ALLOW SEARCH:
  652. ?>
  653. <div class="cbUserListChanger">
  654. <?php
  655. // selector for user-list:
  656. if ( ( $lists['plists'] !== null ) || ( count( $lists ) > 1 ) ) {
  657. foreach ( $lists as $kname => $ncontent ) {
  658. ?>
  659. <div class="cbUserListChangeItem cbUserList<?php echo $kname; ?>"><?php
  660. echo $ncontent;
  661. ?></div>
  662. <?php
  663. }
  664. }
  665. if ( count( $searchableFields ) > 0 ) {
  666. if ( $search === null ) {
  667. ?>
  668. <div class="cbUserListSearchButtons" id="cbUserListsSearchTrigger"><a class="pagenav" href="#"><?php echo _UE_SEARCH_USERS; ?></a></div>
  669. <?php
  670. } else {
  671. ?>
  672. <div id="cbUserListListAll"><a class="pagenav" href="<?php echo cbSef($ue_base_url); ?>" onclick="javascript:adminForm.search.value=''"><?php echo _UE_LIST_ALL; ?></a></div>
  673. <?php
  674. }
  675. }
  676. ?>
  677. </div>
  678. <?php
  679. }
  680. // List title:
  681. ?>
  682. <div class="contentheading cbUserListTitle"><?php echo htmlspecialchars( $listTitle ); ?></div>
  683. <?php
  684. if ( TRUE && trim( $listDescription ) ) { // to remove description from front-end display as was before CB 1.2: change TRUE to FALSE.
  685. // List description:
  686. ?>
  687.     <div class="contentdescription cbUserListDescription"><?php echo $listDescription; ?></div>
  688. <?php
  689. }
  690. // users-count:
  691. ?>
  692. <div class="contentdescription cbUserListResultCount"><?php
  693. if ( ( $search !== null) || ( $row->filterfields != '' ) ) {
  694. echo "<strong>" . $total . "</strong> " . _UE_USERPENDAPPRACTION . ":";
  695. } else {
  696. echo $_CB_framework->getCfg( 'sitename' ) . " " . _UE_HAS . " <strong>" . $total . "</strong> " . _UE_USERS;
  697. }
  698.   ?></div>
  699. <div class="cbClr"></div>
  700. <?php
  701. if ( count( $searchableFields ) > 0 ) {
  702. // Searchable fields appearing in the users list:
  703. // Search box:
  704. //TBD: display if there is a search criteria:
  705. if ( $search === null ) {
  706. // Show the "Search" button:
  707. $jsSearch = " $('#cbUserListsSearchTrigger').show();"
  708. // Hide  the Search Criteria part and Results title:
  709. . "n $('#cbUserListsSearcher').hide();"
  710. // When button <a> link is clicked:
  711. . "n $('#cbUserListsSearchTrigger').click( function() {"
  712. // Hide the button:
  713. . "n $('#cbUserListsSearchTrigger').hide('medium', function() {"
  714. // Show the Search Criteria part:
  715. . "n $('#cbUserListsSearcher').slideDown('slow');"
  716. . "n } );"
  717. // And avoid the <a> link being followed:
  718. . "n return false;"
  719. . "n } );"
  720. ;
  721. $_CB_framework->outputCbJQuery( $jsSearch );
  722. } else {
  723. /*
  724. $ajaxCode = "$('#cbUserListsSearchTrigger').hide();"
  725. . "$('#cbUserListsSearcher').show();"
  726. . "} );"
  727. ;
  728. $_CB_framework->outputCbJQuery( $ajaxCode );
  729. */
  730. }
  731. // When a search kind ('is', 'is not', 'contains', etc) is clicked (change does not work correctly in some safari 2 and IE 6 versions):
  732. $searchTabJs = "n $('div.cbSearchKind select').click( function() {"
  733. // Get value of the selected option:
  734. . "n var kindval = $(this).val();"
  735. . "n if ( kindval == '' ) {"
  736. // Hide the search criteria if there is 'no preference' selected:
  737. . "n $(this).parent( 'div' ).next( 'div.cbSearchCriteria').slideUp('slow');"
  738. . "n } else {"
  739. // Otherwise show the search criteria:
  740. . "n $(this).parent( 'div' ).next( 'div.cbSearchCriteria').slideDown('slow');"
  741. // Check for search kind being precise search:
  742. . "n if ( ( kindval == 'is' ) || ( kindval == 'isnot' ) ) {"
  743. // For radio buttons, insure they are (again) radios: unfortunately, DOM doesn't allow to change type of input on the fly, so do it by regex replacing html:
  744. . "n $(this).parent('div').next('div.cbSearchCriteria.cb__js_radio').find('*:has(input:checkbox)').each( function() {"
  745. . "n     return $(this).html( $(this).html().replace(/(name="[^"\[]+)(\[\])"/g, '$1"').replace(/type="checkbox"/g,'type="radio"') );"
  746. . "n } );"
  747. // For single-selects, insure they are not multiple anymore:
  748. . "n $(this).parent('div').next('div.cbSearchCriteria.cb__js_select').each( function() {"
  749. . "n     return $(this).html( $(this).html().replace(/(name="[^"\[]+)(\[\])"/g, '$1"').replace(/multiple="multiple"/g,'') );"
  750. . "n } );"
  751. . "n } else {"
  752. // If search criteria is multiple, then make also radios into checkboxes (and below single-selects into multi-selects):
  753. . "n $(this).parent('div').next('div.cbSearchCriteria.cb__js_radio').find('*:has(input:radio)').each( function() {"
  754. . "n     return $(this).html( $(this).html().replace(/(name="[^"\[]+)(\[\])?"/g, '$1[]"').replace(/type="radio"/g,'type="checkbox"') );"
  755. . "n } );"
  756. . "n $(this).parent('div').next('div.cbSearchCriteria.cb__js_select').each( function() {"
  757. . "n     return $(this).html( $(this).html().replace(/(name="[^"\[]+)(\[\])?"/g, '$1[]"').replace(/(<select )/g,'$1multiple="multiple" ').replace(/size="[^"]*"/g,'size="0"') );"
  758. . "n } );"
  759. . "n }"
  760. . "n }"
  761. // At page startup fires the click event, which executes the callback just defined above:
  762. . "n } ).click();"
  763. /*
  764. = " $('.cbSearchCriteria').each( function() {"
  765. . "n if ( $(this).prev().children('select')[0].val() == '' ) {"
  766. . "n $(this).hide();"
  767. . "n }"
  768. . "n } );"
  769. . "n var searchkind = $(this).prev().children('select')[0];"
  770. . "n var searchcrit = this;"
  771. . "n $(this).children('input,select').each( function() {"
  772. . "n if ( $(this).value() == '' ) {"
  773. . "n $(searchcrit).hide();"
  774. */
  775. ;
  776. $_CB_framework->outputCbJQuery( $searchTabJs );
  777. ?>
  778. <div class="contentdescription cbUserListSearch" id="cbUserListsSearcher">
  779. <div class="componentheading"><?php echo cbReplaceVars( _UE_SEARCH_CRITERIA, $myUser ); ?></div>
  780. <?php /* old method:
  781. <div class="cbUserListSearchBox">
  782.   <div>
  783. <input type="text" name="search" class="inputbox" size="15" maxlength="100" value="<?php echo htmlspecialchars( $search ); ?>" />
  784. <input type="image" src="<?php echo $adminimagesdir; ?>search.gif" alt="<?php echo _UE_SEARCH; ?>" align="top" style="border: 0px;" />
  785.   </div>
  786.   
  787. </div>
  788. <div class="cbClr"></div>
  789. // replaced by next hidden input line:
  790. */ ?>
  791. <input type="hidden" name="search" value="" />
  792. <div class="cbUserListSearchFields">
  793. <?php
  794. echo $searchTabContent;
  795. ?>
  796. <div class="cbClr"></div>
  797. <div class="cb_form_buttons_line">
  798. <input type="submit" class="button" id="cbsearchlist" value="<?php echo _UE_FIND_USERS; ?>" />
  799. </div>
  800. <div class="cbClr"></div>
  801. </div>
  802. <?php
  803. if ( count( $pluginAdditions['search'] ) ) {
  804. echo '<div id="cbUserListSearchPlugins"><div>' . implode( '</div><div>', $pluginAdditions['search'] ) . '</div></div>';
  805. }
  806. if ( $searchmode == 0 ) {
  807. ?>
  808. <div class="componentheading"><?php echo cbReplaceVars( _UE_SEARCH_RESULTS, $myUser ); ?></div>
  809. <?php
  810. }
  811. ?>
  812. </div>
  813. <?php
  814. }
  815. ?>
  816. </div>
  817. <?php
  818. if ( $searchmode == 0 ) {
  819. if ( count( $pluginAdditions['header'] ) ) {
  820. echo '<div id="cbUserListHeader"><div>' . implode( '</div><div>', $pluginAdditions['header'] ) . '</div></div>';
  821. }
  822. if ( $showPaging && ( ( $limitstart != 0 ) || ( $limit <= $total ) ) ) {
  823. // top page links:
  824. ?>
  825. <div style="width:100%;text-align:center;"><?php echo writePagesLinks($limitstart, $limit, $total, $ue_base_url.$pagingSearch.$spoofAmp, $search); ?></div>
  826. <?php } ?>
  827. <hr class="cbUserListHrTop" size="1" />
  828. <table id="cbUserTable" class="cbUserListTable cbUserListT_<?php echo $row->listid ?>">
  829.   <thead>
  830. <tr class="sectiontableheader">
  831. <?php
  832. // table headers:
  833. $colsNbr = count( $columns );
  834. foreach ( $columns as $column ) {
  835. echo "ttt<th><b>" . getLangDefinition( $column->title ) . "</b></th>n";
  836. }
  837. ?>
  838. </tr>
  839.   </thead>
  840.   <tbody>
  841. <?php
  842. // table content:
  843. $i = 0;
  844. if (is_array($users) && count($users)>0) {
  845. foreach($users as $user) {
  846. $class = "sectiontableentry" . ( 1 + ( $i % 2 ) ); // evenodd class
  847. if($ueConfig['allow_profilelink']==1) {
  848. $style = "style="cursor:hand;cursor:pointer;"";
  849. $style .= " id="cbU".$i.""" ;
  850. // $style .= " onclick="javascript:window.location='".cbSef("index.php?option=com_comprofiler&amp;task=userProfile&amp;user=".$user->id.getCBprofileItemid( true ))."'"";
  851. } else {
  852. $style = "";
  853. }
  854. if ( $user->banned ) {
  855. echo "tt<tr class="$class"><td colspan="".$colsNbr.""><span class="error" style="color:red;">"._UE_BANNEDUSER." ("._UE_VISIBLE_ONLY_MODERATOR.") :</span></td></tr>n";
  856. }
  857. echo "tt<tr class="$class" ".$style.">n";
  858. foreach ( $columns as $colIdx => $column ) {
  859. echo "ttt<td valign="top" class="cbUserListCol" . $colIdx . "">" . HTML_comprofiler::getUserListCell( $user, $column, $allFields ) . "ttt</td>n";
  860. }
  861. echo "tt</tr>n";
  862. $i++;
  863. }
  864. } else {
  865. echo "tt<tr class="sectiontableentry1"><td colspan="".$colsNbr."">"._UE_NO_USERS_IN_LIST."</td></tr>n";
  866. }
  867. ?>
  868.   </tbody>
  869. </table>
  870. <hr class="cbUserListHrBottom" size="1" />
  871. <?php if ( $showPaging && ( ( $limitstart != 0 ) || ( $limit <= $total ) ) ) {
  872. // bottom page links:
  873. ?>
  874. <div style="width:100%;text-align:center;"><?php echo writePagesLinks($limitstart, $limit, $total, $ue_base_url.$pagingSearch.$spoofAmp, $search); ?></div>
  875. <?php }
  876. if ( count( $pluginAdditions['footer'] ) ) {
  877. echo '<div id="cbUserListFooter"><div>' . implode( '</div><div>', $pluginAdditions['footer'] ) . '</div></div>';
  878. }
  879. } // end of if ( $searchmode == 0 )
  880. echo cbGetSpoofInputTag( null, $cbSpoofString );
  881. ?>
  882.   </form>
  883. </div><div class="cbClr"> </div></div><div class="cbClr"> </div>
  884. <?php
  885. } // end function usersList
  886. function getUserListCell( &$user, &$column, &$fields ) {
  887. global $_PLUGINS;
  888. $html = array();
  889. foreach ( $column->fields as $fieldId ) {
  890.   $field = $fields[$fieldId];
  891. $value = $_PLUGINS->callField( $field->type, 'getFieldRow', array( &$field, &$user, 'html', 'none', 'list' ), $field );
  892. if ( $value !== null ) {
  893. $title = '';
  894. if  ( $column->captions ) {
  895. $title = '<span class="cbUserListFieldTitle cbUserListFT_' . $field->name . '">'
  896. . $_PLUGINS->callField( $field->type, 'getFieldTitle', array( &$field, &$user, 'html', 'list' ), $field )
  897. . ':'
  898. . '</span> ';
  899. }
  900. // done at db query stage: $oField->params = new cbParamsBase( $oField->params );
  901. $html[] = '<div class="cbUserListFieldLine">'
  902. . $title
  903. . '<span class="cbListFieldCont cbUserListFC_' . $field->name . '">'
  904. . $value
  905. . '</span>'
  906. . '</div>';
  907. }
  908. }
  909. return "ntttt" . implode( "ntttt", $html ) . "n";
  910. }
  911. /******************************
  912. Registration Functions
  913. ******************************/
  914. function confirmation() {
  915. ?>
  916. <div class="componentheading"><?php echo _UE_SUBMIT_SUCCESS; ?></div><br />
  917.     <table cellspacing="0" cellpadding="5" align="center" width="90%">
  918. <tr>
  919. <td class="fieldCell"><?php echo _UE_SUBMIT_SUCCESS_DESC; ?></td>
  920. </tr>
  921. </table>
  922. <?php
  923. }
  924. function lostPassForm($option) {
  925. global $_CB_framework, $ueConfig, $_PLUGINS;
  926. $_PLUGINS->loadPluginGroup('user');
  927. $results = $_PLUGINS->trigger( 'onLostPassForm', array( 1 )); //$ui=1
  928. if ($_PLUGINS->is_errors()) {
  929. echo "<script type="text/javascript">alert("".$_PLUGINS->getErrorMSG().""); window.history.go(-1); </script>n";
  930. exit();
  931. }
  932. $cbSpoofField = cbSpoofField();
  933. $cbSpoofString = cbSpoofString( null, 'registerForm' );
  934. $regAntiSpamFieldName = cbGetRegAntiSpamFieldName();
  935. $regAntiSpamValues = cbGetRegAntiSpams();
  936. $checkUsername = ( ( isset( $ueConfig['reg_username_checker'] ) ) && ( $ueConfig['reg_username_checker'] ) );
  937. $checkEmail = ( ( isset( $ueConfig['reg_email_checker'] ) ) && ( $ueConfig['reg_email_checker'] > 1 ) );
  938. outputCbTemplate( 1 );
  939. ob_start();
  940. /*
  941. $('#adminForm').validate( {
  942. errorClass: 'cb_result_warning',
  943.         rules: { 
  944.             checkusername: { 
  945.                 required: false, 
  946.                 minlength: 3 //, 
  947.                  // remote: "users.php" 
  948.             }, 
  949. /*            password: { 
  950.                 required: true, 
  951.                 minlength: 5 
  952.             }, 
  953.             password_confirm: { 
  954.                 required: true, 
  955.                 minlength: 5, 
  956.                 equalTo: "#password" 
  957.             }, 
  958. *
  959.             checkemail: { 
  960.                 required: true, 
  961.                 email: true, 
  962.       //          remote: "emails.php" 
  963.             }, 
  964.         }, 
  965.         messages: { 
  966.             checkusername: { 
  967.                 required: "Enter a username", 
  968.                 minlength: jQuery.format("Enter at least {0} characters"), 
  969.                 remote: jQuery.format("{0} is already in use") 
  970.             }, 
  971. /*
  972.             password: { 
  973.                 required: "Provide a password", 
  974.                 rangelength: jQuery.format("Enter at least {0} characters") 
  975.             }, 
  976.             password_confirm: { 
  977.                 required: "Repeat your password", 
  978.                 minlength: jQuery.format("Enter at least {0} characters"), 
  979.                 equalTo: "Enter the same password as above" 
  980.             }, 
  981. *
  982.             checkemail: { 
  983.                 required: "Please enter a valid email address", 
  984.                 minlength: "Please enter a valid email address", 
  985.                 remote: jQuery.format("{0} is already in use") 
  986.             }, 
  987.         },
  988.         errorPlacement: function(error, element) { 
  989.             if ( element.is(":radio") ) 
  990.                 error.appendTo( element.parent().next().next() ); 
  991.             else if ( element.is(":checkbox") ) 
  992.                 error.appendTo ( element.next() ); 
  993.             else 
  994.                 // error.appendTo( element.parent().next() );
  995.                 error.appendTo( element.parent().next().children()[0] );
  996.         }
  997. } );
  998. */
  999. /*
  1000. $('#adminForm').ajaxForm( { url: '<?php echo $_CB_framework->getCfg( 'live_site' ); ?>/index2.php?no_html=1&output=raw',
  1001. target: '#cb_lost_username_passwd_content',
  1002. beforeSubmit: function(formData, jqForm, options) {
  1003. $('#cb_line_lostbutton').fadeOut('fast', function() { $('#cb_line_lostbutton').html('<img src="<?php echo $_CB_framework->getCfg( 'live_site' ); ?>/components/com_comprofiler/images/wait.gif" /> <?php echo _UE_CHECKING; ?>').fadeIn('fast'); } );
  1004. return true;
  1005. },
  1006. success: function(responseText, statusText) {
  1007. alert('Got reply !status: ' + statusText + 'nnresponseText: n' + responseText + 
  1008.            'nnThe output div should have already been updated with the responseText.'); }
  1009.    } );
  1010. */
  1011. // checkboxes onchange trigger only on blur:
  1012. ?>
  1013. $.fn.cb_uncheck = function() {
  1014. return this.each( function() {
  1015. this.checked = false;
  1016. });
  1017. };
  1018. $('#boxLostUsername,#boxLostPassword').click( function() {
  1019. if ( $('#boxLostUsername').get(0).checked ) {
  1020. $('#cb_step1_form').slideDown('medium');
  1021. $('#cb_line_checkusername').slideUp('medium');
  1022. if ( $('#boxLostPassword').get(0).checked ) {
  1023. $('#cb_lost_username_password').slideDown('medium');
  1024. $('#cb_lost_username,#cb_lost_password').slideUp('medium');
  1025. } else {
  1026. $('#cb_lost_username').slideDown('medium');
  1027. $('#cb_lost_password,#cb_lost_username_password').slideUp('medium');
  1028. }
  1029. } else {
  1030. if ( $('#boxLostPassword').get(0).checked ) {
  1031. $('#cb_step1_form,#cb_lost_password,#cb_line_checkusername').slideDown('medium');
  1032. $('#cb_lost_username,#cb_lost_username_password').slideUp('medium');
  1033. } else {
  1034. $('#cb_lost_username,#cb_lost_password,#cb_lost_username_password,#cb_step1_form').slideUp('medium');
  1035. }
  1036. }
  1037. return true;
  1038. } );
  1039. $('#cb_lost_username,#cb_lost_password,#cb_lost_username_password,#cb_step1_form,#cb_line_checkusername').hide();
  1040. $('#boxLostUsername,#boxLostPassword').cb_uncheck();
  1041. $('#checkusername,#checkemail').val('');
  1042. $('#cbsendnewuspass').attr('disabled',true);
  1043. $('#checkusername,#checkemail').keyup( function() {
  1044. var respField = $('#'+$(this).attr('id')+'Response');
  1045. if ( respField.html() != '&nbsp;' ) {
  1046. respField.fadeOut('medium', function() { respField.html('&nbsp;'); } );
  1047. }
  1048. if ( $.trim( $('#checkusername').val() ) == '' ) {
  1049. if ( $.trim( $('#checkemail').val() ) == '' ) {
  1050. $('#cbsendnewuspass').val('<?php echo _UE_BUTTON_SEND_USERNAME_PASS; ?>').attr('disabled',true);
  1051. } else {
  1052. $('#cbsendnewuspass').attr('disabled',false).val('<?php echo _UE_BUTTON_SEND_USERNAME; ?>');
  1053. }
  1054. } else {
  1055. $('#cbsendnewuspass').attr('disabled',false).val('<?php echo _UE_BUTTON_SEND_PASS; ?>');
  1056. }
  1057. return true;
  1058. } );
  1059. <?php  if ( $checkUsername || $checkEmail ) { ?>
  1060. $('#checkusername,#checkemail').change( function() {
  1061. if ( $(this).val() != '' && ( $('#'+$(this).attr('id')+'Response').length ) ) {
  1062. $('#'+$(this).attr('id')+'Response').html('<img alt="" src="<?php echo $_CB_framework->getCfg( 'live_site' ); ?>/components/com_comprofiler/images/wait.gif" /> <?php echo _UE_CHECKING; ?>').fadeIn('fast');
  1063. var cbInputField = this;
  1064. $.ajax( { type: 'POST',
  1065. url: '<?php echo $_CB_framework->getCfg( 'live_site' ); ?>/index2.php?option=com_comprofiler&task=perform'+$(this).attr('id')+'&function=testexists&no_html=1&format=raw',
  1066. data: 'value=' + encodeURI( $(this).val() ) + '&<?php
  1067. echo $cbSpoofField; ?>=' + encodeURI('<?php echo $cbSpoofString; ?>') + '&<?php
  1068. echo $regAntiSpamFieldName; ?>=' + encodeURI('<?php echo $regAntiSpamValues[0]; ?>'),
  1069. success: function(response) { var respField = $('#'+$(cbInputField).attr('id')+'Response'); respField.fadeOut('fast', function() { respField.html(response).fadeIn('fast'); } ); },
  1070. dataType: 'html'
  1071. });
  1072. } else {
  1073. $('#'+$(this).attr('id')+'Response').html('&nbsp;');
  1074. }
  1075. } );
  1076. <?php
  1077. }
  1078. $jsContent = ob_get_contents();
  1079. ob_end_clean();
  1080. $_CB_framework->outputCbJQuery( $jsContent /* , array( 'form', 'validate' ) */ );
  1081. //TODO: Add ability to change password on form.
  1082. ?>
  1083. <div class="componentheading"><?php echo _UE_LOST_USERNAME_OR_PASSWORD; ?></div>
  1084. <div class="cbPageOuter" id="cbLostPasswordPage"><div class="cbPageInner">
  1085. <div class="contentpaneopen" id="cb_lost_username_passwd_content">
  1086. <form action="<?php echo cbSef('index.php'); ?>" class="cb_form" id="adminForm" name="adminForm" method="post">
  1087. <div class="cb_form_line" id="cb_lost_choice">
  1088. <label for="cb_lost_choice"><?php echo _UE_REMINDER_NEEDED_FOR; ?>:</label>
  1089. <div class="cb_field">
  1090. <div><input type="checkbox" id="boxLostUsername" name="typeofloose[]" value="username" /> <label for="boxLostUsername"><?php echo _UE_LOST__USERNAME; ?></label></div>
  1091. <div><input type="checkbox" id="boxLostPassword" name="typeofloose[]" value="password" /> <label for="boxLostPassword"><?php echo _UE_LOST__PASSWORD; ?></label></div>
  1092. </div>
  1093. </div>
  1094. <div class="cb_form_instructions">
  1095. <ul>
  1096. <li id="cb_lost_username"><?php echo getLangDefinition(_UE_LOST_USERNAME_DESC); ?></li>
  1097. <li id="cb_lost_password"><?php echo getLangDefinition(_UE_LOST_PASSWORD_DESC); ?></li>
  1098. <li id="cb_lost_username_password"><?php echo getLangDefinition(_UE_LOST_USERNAME_PASSWORD_DESC); ?></li>
  1099. </ul>
  1100. </div>
  1101. <div id="cb_step1_form">
  1102. <div class="cb_form_line" id="cb_line_checkusername">
  1103. <label for="checkusername"><?php echo _PROMPT_UNAME; ?></label>
  1104. <div class="cb_field">
  1105. <div><input type="text" name="checkusername" id="checkusername" class="inputbox" size="30" maxlength="25" /></div>
  1106. <?php  if ( $checkUsername ) { ?>
  1107. <div class="cb_result_container"><div id="checkusernameResponse">&nbsp;</div></div>
  1108. <?php } ?>
  1109. </div>
  1110. </div>
  1111. <div class="cb_form_line" id="cb_line_checkemail">
  1112. <label for="checkemail"><?php echo _PROMPT_EMAIL; ?></label>
  1113. <div class="cb_field">
  1114. <div><input type="text" name="checkemail" id="checkemail" class="inputbox" size="30" /></div>
  1115. <?php  if ( $checkEmail ) { ?>
  1116. <div class="cb_result_container"><div id="checkemailResponse">&nbsp;</div></div>
  1117. <?php } ?>
  1118. </div>
  1119. </div>
  1120. <?php
  1121. if (is_array($results)) {
  1122. foreach ( $results as $r ) {
  1123. ?>
  1124. <div class="cb_form_line" id="cb_line_lostbutton">
  1125. <label<?php if ( isset( $r[2] ) ) echo ' for="' . $r[2] . '"'; ?>><?php echo $r[0]; ?></label>
  1126. <div class="cb_field"><?php echo $r[1]; ?></div>
  1127. </div>
  1128. <?php
  1129. }
  1130. }
  1131. ?>
  1132. <div class="cb_form_buttons_line">
  1133. <input type="submit" class="button" id="cbsendnewuspass" value="<?php echo _UE_BUTTON_SEND_USERNAME_PASS; ?>" />
  1134. </div>
  1135. </div>
  1136. <input type="hidden" name="option" value="<?php echo $option;?>" />
  1137. <input type="hidden" name="task" value="sendNewPass" />
  1138. <?php
  1139. echo cbGetSpoofInputTag( 'lostPassForm' );
  1140. echo "ttt" . cbGetRegAntiSpamInputTag( $regAntiSpamValues );
  1141. ?>
  1142. </form>
  1143. </div>
  1144. </div></div>
  1145. <div class="cbClr"> </div>
  1146. <?php
  1147. }
  1148. function registerForm( $option, $emailpass, &$user, $regErrorMSG = null) {
  1149. global $_CB_framework, $_CB_database, $ueConfig, $_POST;
  1150. outputCbTemplate(1);
  1151. outputCbJs(1);
  1152. addCbHeadTag( 1, initToolTip(1) );
  1153. // gets registration tabs from plugins (including the contacts tab core plugin for username, password, etc:
  1154. $tabs = new cbTabs( 0, 1 );
  1155. if ( $regErrorMSG !== null ) {
  1156. $tabcontent = $tabs->getEditTabs( $user, $_POST, 'tabletrs', 'register', false );
  1157. } else {
  1158. $null = null;
  1159. $tabcontent = $tabs->getEditTabs( $user, $null,  'tabletrs', 'register', false );
  1160. // $tabcontent = $tabs->getEditTabs( $user, $null,  'table', 'register', true );
  1161. }
  1162. $_CB_framework->setPageTitle( _UE_REGISTRATION );
  1163. $_CB_framework->appendPathWay( _UE_REGISTRATION );
  1164. // starts outputing:
  1165. $cbSpoofField = cbSpoofField();
  1166. $cbSpoofString = cbSpoofString( null, 'registerForm' );
  1167. $regAntiSpamFieldName = cbGetRegAntiSpamFieldName();
  1168. $regAntiSpamValues = cbGetRegAntiSpams();
  1169. // <script type="text/javascript" src="includes/js/mambojavascript.js"></script>
  1170. ob_start();
  1171. ?>
  1172. var cbDefaultFieldBackground;
  1173. function cbFrmSubmitButton() {
  1174. var me = this.elements;
  1175. <?php
  1176. $version = checkJversion();
  1177. if ($version == 1) {
  1178. // var r = new RegExp("^[a-zA-Z](([.-a-zA-Z0-9@])?[a-zA-Z0-9]*)*$", "i");
  1179. ?>
  1180. var r = new RegExp("^[<|>|"|'|%|;|(|)|&|+|-]*$", "i");
  1181. <?php
  1182. } elseif ( $version == -1 ) {
  1183. ?>
  1184. var r = new RegExp("[^A-Za-z0-9]", "i");
  1185. <?php
  1186. } else {
  1187. ?>
  1188. var r = new RegExp("[<|>|"|'|%|;|(|)|&|+|-]", "i");
  1189. <?php
  1190. }
  1191. ?>
  1192. var errorMSG = '';
  1193. var iserror=0;
  1194. if (cbDefaultFieldBackground === undefined && typeof(me['username'])!='undefined') cbDefaultFieldBackground = ((me['username'].style.getPropertyValue) ? me['username'].style.getPropertyValue("backgroundColor") : me['username'].style.backgroundColor);
  1195. <?php echo $tabs->fieldJS; ?>
  1196. if (typeof(me['username'])!='undefined' && me['username'].value == "") {
  1197. errorMSG += "<?php echo unhtmlentities(_REGWARN_UNAME);?>n";
  1198. me['username'].style.backgroundColor = "red";
  1199. iserror=1;
  1200. } else if (typeof(me['username'])!='undefined' && ( r.exec(me['username'].value) || (me['username'].value.length < 3))) {
  1201. errorMSG += "<?php printf( unhtmlentities(_VALID_AZ09), unhtmlentities(_PROMPT_UNAME), 2 );?>n";
  1202. me['username'].style.backgroundColor = "red";
  1203. iserror=1;
  1204. } else if (typeof(me['username'])!='undefined' && me['username'].style.backgroundColor.slice(0,3)=="red") { me['username'].style.backgroundColor = cbDefaultFieldBackground;
  1205. <?php if ($emailpass!="1") { ?>
  1206. }
  1207. if (typeof(me['password'])!='undefined' && me['password'].value.length < 6) {
  1208. errorMSG += "<?php printf( unhtmlentities(_VALID_AZ09), unhtmlentities(_REGISTER_PASS), 6 );?>n";
  1209. me['password'].style.backgroundColor = "red";
  1210. iserror=1;
  1211. } else if (typeof(me['password'])!='undefined' && (me['password'].value != "") && (me['password'].value != me['password__verify'].value)){
  1212. errorMSG += "<?php echo unhtmlentities(_REGWARN_VPASS2);?>n";
  1213. me['password'].style.backgroundColor = "red"; me['password__verify'].style.backgroundColor = "red";
  1214. iserror=1;
  1215. } else if (typeof(me['password'])!='undefined') {
  1216. if (me['password'].style.backgroundColor.slice(0,3)=="red") me['password'].style.backgroundColor = cbDefaultFieldBackground;
  1217. if (me['password__verify'].style.backgroundColor.slice(0,3)=="red") me['password__verify'].style.backgroundColor = cbDefaultFieldBackground;
  1218. <?php } ?>
  1219. }
  1220. <?php if($ueConfig['reg_enable_toc']) { ?>
  1221. if(!me['acceptedterms'].checked) {
  1222. errorMSG += "<?php echo unhtmlentities(_UE_TOC_REQUIRED); ?>n";
  1223. iserror=1;
  1224. }
  1225. <?php } ?>
  1226. // loop through all input elements in form
  1227. var fieldErrorMessages = new Array;
  1228. for (var i=0; i < me.length; i++) {
  1229. // check if element is mandatory; here mosReq="1"
  1230. if ( (typeof(me[i].getAttribute('mosReq')) != "undefined") && ( me[i].getAttribute('mosReq') == 1) ) {
  1231. if (me[i].type == 'radio' || me[i].type == 'checkbox') {
  1232. var rOptions = me[me[i].getAttribute('name')];
  1233. var rChecked = 0;
  1234. if(rOptions.length > 1) {
  1235. for (var r=0; r < rOptions.length; r++) {
  1236. if ( (typeof(rOptions[r].getAttribute('mosReq')) != "undefined") && ( rOptions[r].getAttribute('mosReq') == 1) ) {
  1237. if (rOptions[r].checked) {
  1238. rChecked=1;
  1239. }
  1240. }
  1241. }
  1242. } else {
  1243. if (me[i].checked) {
  1244. rChecked=1;
  1245. }
  1246. }
  1247. if (rChecked==0) {
  1248. for (var k=0; k < me.length; k++) {
  1249. if (me[i].getAttribute('name') == me[k].getAttribute('name')) {
  1250. if (me[k].checked) {
  1251. rChecked=1;
  1252. break;
  1253. }
  1254. }
  1255. }
  1256. }
  1257. if (rChecked==0) {
  1258. var alreadyFlagged = false;
  1259. for (var j = 0, n = fieldErrorMessages.length; j < n; j++) {
  1260. if (fieldErrorMessages[j] == me[i].getAttribute('name')) {
  1261. alreadyFlagged = true;
  1262. break
  1263. }
  1264. }
  1265. if ( ! alreadyFlagged ) {
  1266. fieldErrorMessages.push(me[i].getAttribute('name'));
  1267. // add up all error messages
  1268. errorMSG += me[i].getAttribute('mosLabel') + ' : <?php echo unhtmlentities(_UE_REQUIRED_ERROR); ?>n';
  1269. // notify user by changing background color, in this case to red
  1270. me[i].style.backgroundColor = "red";
  1271. iserror=1;
  1272. }
  1273. } else if (me[i].style.backgroundColor.slice(0,3)=="red") me[i].style.backgroundColor = cbDefaultFieldBackground;
  1274. }
  1275. if (me[i].value == '') {
  1276. // add up all error messages
  1277. errorMSG += me[i].getAttribute('mosLabel') + ' : <?php echo unhtmlentities(_UE_REQUIRED_ERROR); ?>n';
  1278. // notify user by changing background color, in this case to red
  1279. me[i].style.backgroundColor = "red";
  1280. iserror=1;
  1281. } else if (me[i].style.backgroundColor.slice(0,3)=="red") me[i].style.backgroundColor = cbDefaultFieldBackground;
  1282. }
  1283. }
  1284. if(iserror==1) {
  1285. alert(errorMSG);
  1286. return false;
  1287. } else {
  1288. return true;
  1289. }
  1290. }
  1291. $('#cbcheckedadminForm').submit( cbFrmSubmitButton );
  1292. <?php
  1293. $cbjavascript = ob_get_contents();
  1294. ob_end_clean();
  1295. $_CB_framework->outputCbJQuery( $cbjavascript );
  1296. if ($regErrorMSG) {
  1297. echo "<div class='error'>".$regErrorMSG."</div>n";
  1298. }
  1299. $reg_show_login_on_page = false;
  1300. if ( isset( $ueConfig['reg_show_login_on_page'] ) && ( $ueConfig['reg_show_login_on_page'] == 1 ) && ! $regErrorMSG ) {
  1301. $params = null;
  1302. $login_module_file = $_CB_framework->getCfg( 'absolute_path' ) . '/modules/' . ( checkJversion() > 0 ? 'mod_cblogin/' : '' ) . 'mod_cblogin.php';
  1303. if ( file_exists( $login_module_file ) ) {
  1304. $reg_show_login_on_page = true;
  1305. $_CB_database->setQuery( "SELECT params from #__modules WHERE module = 'mod_cblogin' ORDER BY ordering LIMIT 1" );
  1306. $raw_params = $_CB_database->loadResult();
  1307. $params =& new cbParamsBase( $raw_params );
  1308. if ( isset( $ueConfig['reg_intro_msg'] ) && $ueConfig['reg_intro_msg'] ) {
  1309. ?>
  1310. <div class="componentheading" id="cb_comp_login_register_head"><?php echo _LOGIN_REGISTER_TITLE; ?></div><div class="cb_comp_outer"><div class="cb_comp_inner">
  1311. <div class="contentpaneopen" id="cb_comp_login_register_content"><?php echo stripslashes(getLangDefinition($ueConfig['reg_intro_msg'])); ?></div>
  1312. </div></div>
  1313. <?php
  1314. }
  1315. echo '<div class="cbclearboth"><div id="cb_comp_login"><div class="componentheading">' . _LOGIN_TITLE . '</div><div class="cb_comp_outer"><div class="cb_comp_inner">';
  1316. include( $login_module_file );
  1317. echo '</div></div></div><div id="cb_comp_register">';
  1318. }
  1319. }
  1320. ?>
  1321. <div class="componentheading"><?php echo _REGISTER_TITLE; ?></div><div class="contentpaneopen"><div class="cb_comp_outer"><div class="cb_comp_inner cbRegistration">
  1322. <?php
  1323. if ( ( ! isset( $ueConfig['reg_show_icons_explain'] ) ) || in_array( $ueConfig['reg_show_icons_explain'], array( 1, 3 ) ) ) {
  1324. echo '<div style="align:center;" id="cbIconsTop">';
  1325. echo getFieldIcons(1,true,true,"","",true);
  1326. echo '</div>';
  1327. }
  1328. ?>
  1329. <form action="<?php echo cbSef("index.php?option=".$option); ?>" method="post" id="cbcheckedadminForm" name="adminForm" enctype="multipart/form-data">
  1330. <table class="contentpane" id="registrationTable">
  1331. <?php
  1332. if ( isset( $ueConfig['reg_intro_msg'] ) && $ueConfig['reg_intro_msg'] && ( ! $reg_show_login_on_page ) ) {
  1333. ?>
  1334.     <tr>
  1335.       <td colspan="2" class="contentpaneopen"><?php echo stripslashes(getLangDefinition($ueConfig['reg_intro_msg'])); ?></td>
  1336.     </tr>
  1337. <?php
  1338. }
  1339. // outputs all tabs, including contact tab:
  1340. echo $tabcontent;
  1341. // outputs the site terms and conditions link and approval checkbox: Not yet a CB field //TBD
  1342. if($ueConfig['reg_enable_toc']) {
  1343. echo "t<tr>n";
  1344.        echo "tt<td>&nbsp;</td>n<td class='fieldCell'><input type='checkbox' name='acceptedterms' id='acceptedterms' value='1' mosReq='0' mosLabel='". htmlspecialchars( _UE_TOC ) ."' /> <label for='acceptedterms'>"
  1345.        . sprintf(_UE_TOC_LINK,"<a href='".cbSef(htmlspecialchars($ueConfig['reg_toc_url']))."' target='_BLANK'> ","</a>") . "</label></td>n";
  1346. echo "t</tr>n";
  1347. }
  1348. // outputs conclusion text and different default values:
  1349. ?>
  1350.     <tr>
  1351.       <td colspan="2" class="contentpaneopen"><?php
  1352.       if (isset($ueConfig['reg_conclusion_msg']) and ($ueConfig['reg_conclusion_msg'])) {
  1353.   echo stripslashes(getLangDefinition($ueConfig['reg_conclusion_msg']));
  1354.       } else {
  1355.        echo "&nbsp;";
  1356.       }
  1357.       ?></td>
  1358.     </tr>
  1359.     <tr>
  1360.       <td colspan="2">
  1361. <input type="hidden" name="id" value="0" />
  1362. <input type="hidden" name="gid" value="0" />
  1363. <input type="hidden" name="emailpass" value="<?php echo $emailpass;?>" />
  1364. <input type="hidden" name="option" value="<?php echo $option; ?>" />
  1365. <input type="hidden" name="task" value="saveregisters" />
  1366. <?php
  1367. echo cbGetSpoofInputTag( null, $cbSpoofString );
  1368. echo "tt" . cbGetRegAntiSpamInputTag( $regAntiSpamValues );
  1369. ?>
  1370. <input type="submit" value="<?php echo _UE_REGISTER; ?>" class="button" />
  1371.       </td>
  1372.     </tr>
  1373. </table>
  1374. </form>
  1375. <?php
  1376. if ( ( ! isset( $ueConfig['reg_show_icons_explain'] ) ) || in_array( $ueConfig['reg_show_icons_explain'], array( 2, 3 ) ) ) {
  1377. echo '<div style="align:center;" id="cbIconsBottom">';
  1378. echo getFieldIcons(1,true,true,"","",true);
  1379. echo '</div>';
  1380. }
  1381. echo '</div></div></div>';
  1382. if ( $reg_show_login_on_page ) {
  1383. echo '</div></div>';
  1384. }
  1385. echo "<div class="cbClr"></div>";
  1386. // finally small javascript to focus on first field on registration form if there is no introduction text and it's a text field:
  1387. if ( ! ( ( isset( $ueConfig['reg_intro_msg'] ) && ( $ueConfig['reg_intro_msg'] ) )
  1388.   || ( isset( $ueConfig['reg_show_login_on_page'] ) && ( $ueConfig['reg_show_login_on_page'] == 1 ) )
  1389.   || ( $regErrorMSG )
  1390.    ) )
  1391. {
  1392. ?>
  1393. <script type="text/javascript"><!--//--><![CDATA[//><!--
  1394. function cbIEfocus() {
  1395. if ( document.forms['adminForm'].elements[0].type == 'text' ) {
  1396. document.forms['adminForm'].elements[0].focus();
  1397. }
  1398. }
  1399. if (window.addEventListener) window.addEventListener("load", cbIEfocus, true);
  1400. else if (window.attachEvent) window.attachEvent("onload", cbIEfocus);
  1401. else cbIEfocus();
  1402. //--><!]]></script>
  1403. <?php
  1404. }
  1405. }
  1406. /******************************
  1407. Moderation Functions
  1408. ******************************/
  1409. function reportUserForm($option,$uid)
  1410. {
  1411. global $_CB_framework, $ueConfig, $Itemid;
  1412. if($ueConfig['allowUserReports']==0) {
  1413. echo _UE_FUNCTIONALITY_DISABLED;
  1414. return;
  1415. }
  1416. HTML_comprofiler::outputMosFormVal();
  1417. ?>
  1418. <!-- TAB -->
  1419. <div class="componentheading"><?php echo _UE_REPORTUSER_TITLE; ?></div>
  1420. <form action='<?php
  1421. echo cbSef('index.php?option=com_comprofiler&amp;task=reportUser'.($Itemid ? "&amp;Itemid=".(int) $Itemid : ""));
  1422. ?>' method="post" id="adminForm" name="adminForm" onsubmit="return submitbutton(this)">
  1423. <table width='100%' border='0' cellpadding='4' cellspacing='2'>
  1424. <tr align='left' valign='middle'>
  1425. <td colspan="4" class="titleCell">
  1426. <?php echo _UE_REPORTUSERSACTIVITY; ?></td></tr>
  1427. <tr><td colspan="4" align="center" class="fieldCell">
  1428. <textarea mosReq="1" mosLabel="User Report" mosLength="4000" cols="50" rows="8" name="reportexplaination"></textarea>
  1429. </td></tr>
  1430. <tr><td colspan="4" align="center">
  1431. <input class="button" type="submit" value="<?php echo _UE_SUBMITFORM; ?>" />
  1432. </td></tr>
  1433. </table>
  1434. <input type="hidden" name="reportedbyuser" value="<?php echo $_CB_framework->myId(); ?>" />
  1435. <input type="hidden" name="reporteduser" value="<?php echo $uid; ?>" />
  1436. <input type="hidden" name="reportform" value="0" />
  1437. <?php
  1438. echo cbGetSpoofInputTag( 'reportUserForm' );
  1439. ?>
  1440. </form>
  1441. <?php
  1442. }
  1443. function banUserForm($option,$uid,$act,$orgbannedreason)
  1444. {
  1445. global $_CB_framework, $ueConfig, $Itemid;
  1446. if($ueConfig['allowUserBanning']==0) {
  1447. echo _UE_FUNCTIONALITY_DISABLED;
  1448. return;
  1449. }
  1450. HTML_comprofiler::outputMosFormVal();
  1451. ?>
  1452. <!-- TAB -->
  1453. <div class="componentheading"><?php if( $_CB_framework->myId() != $uid ) echo _UE_REPORTBAN_TITLE; ELSE echo _UE_REPORTUNBAN_TITLE;; ?></div>
  1454. <form action='<?php 
  1455. echo cbSef('index.php?option=com_comprofiler&amp;task=banProfile&amp;act='.(( $_CB_framework->myId() != $uid ) ? '1': '2').'&amp;user='.$uid.($Itemid ? "&amp;Itemid=". (int) $Itemid : ""))
  1456. ?>' method="post" id="adminForm" name="adminForm" onsubmit="return submitbutton(this)">
  1457. <table width='100%' border='0' cellpadding='4' cellspacing='2'>
  1458. <tr align='left' valign='middle'>
  1459. <td colspan="4" class="titleCell">
  1460. <?php if( $_CB_framework->myId() != $uid ) echo _UE_BANREASON; ELSE echo _UE_UNBANREQUEST; ?></td></tr>
  1461. <tr><td colspan="4" align="center" class="fieldCell">
  1462. <textarea mosReq="1" mosLabel='<?php if( $_CB_framework->myId() != $uid ) echo htmlspecialchars( _UE_BANREASON ); ELSE echo htmlspecialchars( _UE_UNBANREQUEST ); ?>' mosLength="4000" cols="60" rows="5" name="bannedreason"></textarea>
  1463. </td></tr>
  1464. <tr><td colspan="4" align="center">
  1465. <input class="button" type="submit" value="<?php echo _UE_SUBMITFORM; ?>" />
  1466. </td></tr>
  1467. </table>
  1468. <input type="hidden" name="bannedby" value="<?php echo $_CB_framework->myId(); ?>" />
  1469. <input type="hidden" name="uid" value="<?php echo $uid; ?>" />
  1470. <input type="hidden" name="orgbannedreason" value="<?php echo $orgbannedreason; ?>" />
  1471. <input type="hidden" name="reportform" value="0" />
  1472. <?php
  1473. echo cbGetSpoofInputTag( 'banUserForm' );
  1474. ?>
  1475. </form>
  1476. <?php
  1477. }
  1478. function pendingApprovalUsers($option,$users) {
  1479. global $ueConfig, $Itemid;
  1480. ?>
  1481. <div class="componentheading"><?php echo _UE_MODERATE_TITLE; ?></div>
  1482. <br />
  1483. <?php
  1484. if(count($users)<1) {
  1485. echo _UE_NOUSERSPENDING;
  1486. return;
  1487. ?>    
  1488. <br />                    
  1489. <div class='contentheading'><?php echo _UE_USERAPPROVAL_MODERATE; ?></div><br />
  1490.           <form action='<?php echo cbSef("index.php?option=$option".($Itemid ? "&amp;Itemid=". (int) $Itemid : "")); ?>' method='post' id='adminForm' name='adminForm'>
  1491.           <table width='100%' border='0' cellpadding='4' cellspacing='2'>
  1492. <thead><tr align='left'>
  1493. <th>&nbsp;</th>
  1494. <th><?php echo _UE_USER; ?></th>
  1495. <th><?php echo _UE_EMAIL; ?></th>
  1496. <th><?php echo _UE_REGISTERDATE; ?></th>
  1497. <th><?php echo _UE_COMMENT; ?></th>
  1498. </tr></thead>
  1499. <?php  
  1500. for($i = 0; $i < count($users); $i++) {
  1501. echo "<tr align='left' valign='middle'>";
  1502. echo "<td><input id='u".$users[$i]->id."' type="checkbox" checked="checked" name="uids[]" value="".$users[$i]->id."" /></td>";
  1503. echo "<td><a href='".cbSef("index.php?option=com_comprofiler&amp;task=userProfile&amp;user=".$users[$i]->id.($Itemid ? "&amp;Itemid=". (int) $Itemid : ""))."'>".getNameFormat($users[$i]->name,$users[$i]->username,$ueConfig['name_format']). "</a></td>";
  1504. echo "<td>".$users[$i]->email."</td>";
  1505. echo "<td>".cbFormatDate($users[$i]->registerDate)."</td>";
  1506. echo "<td><textarea name='comment".$users[$i]->id."' cols='20' rows='3'></textarea></td>";
  1507. echo "</tr>";
  1508. }
  1509. echo '<tr align="center" valign="middle"><td colspan="5">'
  1510. .'<input class="button" style="background-color:#CFC;" onclick="this.form.task.value='approveUser';this.form.submit();" type="button" value="'._UE_APPROVE.'" />'
  1511. .'&nbsp;&nbsp;&nbsp;'
  1512. .'<input class="button" style="background-color:#FCC;" onclick="this.form.task.value='rejectUser';this.form.submit();" type="button" value="'._UE_REJECT.'" /></td></tr>';
  1513. echo "</table>n";
  1514. echo "<input type='hidden' name='task' value='' />n";
  1515. echo "<input type='hidden' name='option' value='".$option."' />n";
  1516. echo cbGetSpoofInputTag( 'pendingApprovalUsers' );
  1517. echo "</form>n";
  1518. }
  1519. function manageConnections($connections,$actions,$connecteds=null) {
  1520. global $ueConfig, $_REQUEST, $Itemid;
  1521. $ui=1;
  1522. outputCbTemplate($ui);
  1523. addCbHeadTag( 1, initToolTip(1) );
  1524. ?>
  1525. <div class="contentheading"><?php echo _UE_MANAGECONNECTIONS; ?></div><br />
  1526. <br />
  1527. <script type="text/javascript"><!--//--><![CDATA[//><!--
  1528. var tabPanemyCon;
  1529. function showCBTab( sName ) {
  1530. if (typeof tabPanemyCon != "undefined" ) {
  1531. switch ( sName.toLowerCase() ) {
  1532. case "<?php echo strtolower(_UE_MANAGEACTIONS); ?>":
  1533. case "manageactions":
  1534. case "0":
  1535. tabPanemyCon.setSelectedIndex( 0 );
  1536. break;
  1537. case "<?php echo strtolower(_UE_MANAGECONNECTIONS); ?>":
  1538. case "manageconnections":
  1539. case "1":
  1540. tabPanemyCon.setSelectedIndex( 1 );
  1541. break;
  1542. case "<?php echo strtolower(_UE_CONNECTEDWITH); ?>":
  1543. case "connectedfrom":
  1544. case "2":
  1545. tabPanemyCon.setSelectedIndex( 2 );
  1546. break;
  1547. }
  1548. }
  1549. }
  1550.   function confirmSubmit() {
  1551. if (confirm("<?php echo _UE_CONFIRMREMOVECONNECTION; ?>"))
  1552. return true ;
  1553. else
  1554. return false ;
  1555. }
  1556. //--><!]]></script>
  1557. <?php
  1558. $tabs = new cbTabs( 0, $ui);
  1559. $cTypes=explode("n",$ueConfig['connection_categories']);
  1560. $connectionTypes=array();
  1561. foreach($cTypes as $cType) {
  1562. if(trim($cType)!=null && trim($cType)!="") $connectionTypes[]=moscomprofilerHTML::makeOption( trim($cType) , getLangDefinition(trim($cType)) );
  1563. }
  1564. echo $tabs->startPane("myCon");
  1565. // Tab 0: Manange Actions:
  1566. echo $tabs->startTab("myCon",_UE_MANAGEACTIONS." (".count($actions).")","action");
  1567. if(!count($actions)>0) {
  1568. echo "tt<div class="tab_Description">"._UE_NOACTIONREQUIRED."</div>n";
  1569. } else {
  1570. ?>
  1571. <form method='post' action='<?php 
  1572. echo cbSef('index.php?option=com_comprofiler&amp;task=processConnectionActions'.($Itemid ? "&amp;Itemid=". (int) $Itemid : ""));
  1573. ?>'>
  1574. <?php
  1575. echo "tt<div class="tab_Description">"._UE_CONNECT_ACTIONREQUIRED."</div>n";
  1576. // echo "<div style="width:100%;text-align:right;"><input type="submit" class="inputbox"  value=""._UE_UPDATE."" /></div>";
  1577. echo "<table cellpadding="5" cellspacing="0" border="0" width="95%">";
  1578. echo "<tr>";
  1579. echo "<td>";
  1580. foreach($actions AS $action) {
  1581. $conAvatar = null;
  1582. $conAvatar = getFieldValue('image',$action->avatar,$action);
  1583. $onlineIMG = ($ueConfig['allow_onlinestatus']==1) ? getFieldValue('status',$action->isOnline,$action,null,1) : "";
  1584. $tipField = "<b>"._UE_CONNECTIONREQUIREDON."</b> : ".dateConverter($action->membersince,'Y-m-d',$ueConfig['date_format']);
  1585. if($action->reason!=null) $tipField .= "<br /><b>"._UE_CONNECTIONMESSAGE."</b> :<br />".htmlspecialchars($action->reason, ENT_QUOTES);
  1586. $tipTitle = _UE_CONNECTIONREQUESTDETAIL;
  1587. $htmltext = $conAvatar;
  1588. $style = "style="padding:5px;"";
  1589. $tooltip = cbFieldTip($ui, $tipField, $tipTitle, $width='250', $icon='', $htmltext, $href='', $style, $olparams='',false);
  1590. echo "<div class="connectionBox">";
  1591. echo $onlineIMG.' '.getNameFormat($action->name,$action->username,$ueConfig['name_format'])."<br />"
  1592. .$tooltip
  1593. ."<br /><img src="components/com_comprofiler/images/tick.png" border="0" alt=""._UE_ACCEPTCONNECTION
  1594. ."" title=""._UE_ACCEPTCONNECTION."" /><input type="radio"  value="a" checked="checked" name="".$action->id
  1595. ."action"/> <img src="components/com_comprofiler/images/publish_x.png" border="0" alt=""._UE_DECLINECONNECTION
  1596. ."" title=""._UE_DECLINECONNECTION."" /><input type="radio" value="d" name="".$action->id
  1597. ."action"/><input type="hidden" name="uid[]" value="".$action->id."" />";
  1598. echo " </div>n";
  1599. }
  1600. echo "</td>";
  1601. echo "</tr>";
  1602. echo "</table>";
  1603. echo "<div style="width:100%;text-align:right;"><input type="submit" class="inputbox"  value=""._UE_UPDATE."" /></div>";
  1604. echo cbGetSpoofInputTag( 'manageConnections' );
  1605. echo "</form>";
  1606. }
  1607. echo $tabs->endTab();
  1608. // Tab 1: Manange Connections:
  1609. echo $tabs->startTab("myCon",_UE_MANAGECONNECTIONS,"connections");
  1610. if(!count($connections)>0) {
  1611. echo "tt<div class="tab_Description">"._UE_NOCONNECTIONS."</div>n";
  1612. } else {
  1613. ?>
  1614. <form action='<?php 
  1615. echo cbSef('index.php?option=com_comprofiler&amp;task=saveConnections'.($Itemid ? "&amp;Itemid=". (int) $Itemid : ""));
  1616. ?>' method='post' name='userAdmin'>
  1617. <div class="tab_Description"><?php echo _UE_CONNECT_MANAGECONNECTIONS; ?></div>
  1618. <table cellpadding="5" cellspacing="0" border="0" width="95%">
  1619.   <thead><tr>
  1620. <th style='text-align:center;'><?php echo _UE_CONNECTION; ?></th>
  1621. <th style='text-align:center;'><?php echo _UE_CONNECTIONTYPE; ?></th>
  1622. <th style='text-align:center;'><?php echo _UE_CONNECTIONCOMMENT; ?></th>
  1623.   </tr></thead>
  1624.   <tbody>
  1625. <?php
  1626. $i=1;
  1627. foreach($connections AS $connection) {
  1628. $ks=explode("|*|",trim($connection->type));
  1629. $k = array();
  1630. foreach($ks as $kv) {
  1631. $k[]->value=$kv;
  1632. }
  1633. $list=array();
  1634. $list['connectionType'] = moscomprofilerHTML::selectList( $connectionTypes, $connection->id.'connectiontype[]', 'class="inputbox" multiple="multiple" size="5"', 'value', 'text', $k,0 );
  1635. $conAvatar = null;
  1636. $conAvatar = getFieldValue('image',$connection->avatar,$connection);
  1637. $emailIMG  = getFieldValue('primaryemailaddress',$connection->email,$connection,null,1);
  1638. $pmIMG    = getFieldValue('pm',$connection->username,$connection,null,1);
  1639. $onlineIMG = ($ueConfig['allow_onlinestatus']==1) ? getFieldValue('status',$connection->isOnline,$connection,null,1) : "";
  1640. if($connection->accepted==1 && $connection->pending==1) $actionIMG = "<img src="components/com_comprofiler/images/pending.png" border="0" alt=""._UE_CONNECTIONPENDING."" title=""._UE_CONNECTIONPENDING."" /> <a href="".cbSef("index.php?option=com_comprofiler&amp;act=connections&amp;task=removeConnection&amp;connectionid=".$connection->memberid.($Itemid ? "&amp;Itemid=". (int) $Itemid : ""))."" onclick="return confirmSubmit();" ><img src="components/com_comprofiler/images/publish_x.png" border="0" alt=""._UE_REMOVECONNECTION."" title=""._UE_REMOVECONNECTION."" /></a>";
  1641. elseif($connection->accepted==1 && $connection->pending==0) $actionIMG="<a href="".cbSef("index.php?option=com_comprofiler&amp;act=connections&amp;task=removeConnection&amp;connectionid=".$connection->memberid.($Itemid ? "&amp;Itemid=". (int) $Itemid : ""))."" onclick="return confirmSubmit();" ><img src="components/com_comprofiler/images/publish_x.png" border="0" alt=""._UE_REMOVECONNECTION."" title=""._UE_REMOVECONNECTION."" /></a>";
  1642. elseif($connection->accepted==0) $actionIMG="<a href="".cbSef("index.php?option=com_comprofiler&amp;act=connections&amp;task=acceptConnection&amp;connectionid=".$connection->memberid.($Itemid ? "&amp;Itemid=". (int) $Itemid : "")).""><img src="components/com_comprofiler/images/tick.png" border="0" alt=""._UE_ACCEPTCONNECTION."" title=""._UE_ACCEPTCONNECTION."" /></a> <a href="".cbSef("index.php?option=com_comprofiler&amp;act=connections&amp;task=removeConnection&amp;connectionid=".$connection->memberid.($Itemid ? "&amp;Itemid=". (int) $Itemid : "")).""><img src="components/com_comprofiler/images/publish_x.png" border="0" alt=""._UE_REMOVECONNECTION."" title=""._UE_DECLINECONNECTION."" /></a>";
  1643. $tipField = "<b>"._UE_CONNECTEDSINCE."</b> : ".dateConverter($connection->membersince,'Y-m-d',$ueConfig['date_format']);
  1644. if($connection->type!=null) $tipField .= "<br /><b>"._UE_CONNECTIONTYPE."</b> : ".getConnectionTypes($connection->type);
  1645. if($connection->description!=null) $tipField .= "<br /><b>"._UE_CONNECTEDCOMMENT."</b> : ".htmlspecialchars($connection->description);
  1646. $tipTitle = _UE_CONNECTEDDETAIL;
  1647. $htmltext = $conAvatar;
  1648. $style = "style="padding:5px;"";
  1649. $tooltip = cbFieldTip($ui, $tipField, $tipTitle, $width='200', $icon='', $htmltext, $href='', $style, $olparams='',false);
  1650. echo "n<tr style='vertical-align:top;' class='sectiontableentry".$i."'>";
  1651. echo "nt<td style='text-align:center;'>".$onlineIMG.' '.getNameFormat($connection->name,$connection->username,$ueConfig['name_format'])
  1652. ."<br />".$tooltip."<br />"
  1653. .$actionIMG." <a href="".cbSef("index.php?option=com_comprofiler&amp;task=userProfile&amp;user=".$connection->memberid.($Itemid ? "&amp;Itemid=". (int) $Itemid : ""))
  1654. .""><img src="components/com_comprofiler/images/profiles.gif" border="0" alt=""._UE_VIEWPROFILE."" title=""._UE_VIEWPROFILE
  1655. ."" /></a> ".$emailIMG." ".$pmIMG."</td>";
  1656. echo "nt<td style='text-align:center;'>".$list['connectionType']."</td>";
  1657. echo "nt<td style='text-align:center;'><textarea cols="25" class="inputbox"  rows="5" name="".$connection->id."description">".$connection->description."</textarea><input type="hidden" name="uid[]" value="".$connection->id."" /></td>";
  1658. echo "n</tr>";
  1659. $i= ($i==1) ? 2 : 1;
  1660. }
  1661. echo "</tbody>";
  1662. echo "</table><br />";
  1663. echo "<div style="width:100%;text-align:right;"><input type="submit" class="inputbox"  value=""._UE_UPDATE."" /></div>";
  1664. echo cbGetSpoofInputTag( 'manageConnections' );
  1665. echo "</form>";
  1666. }
  1667. echo $tabs->endTab();
  1668. // Tab 2: Users connected with me:
  1669. if($ueConfig['autoAddConnections']==0) {
  1670. echo $tabs->startTab("myCon",_UE_CONNECTEDWITH,"connected");
  1671. if(!count($connecteds)>0) {
  1672. echo _UE_NOCONNECTEDWITH;
  1673. } else {
  1674. echo "<table cellpadding="5" cellspacing="0" border="0" width="95%">";
  1675. echo "<tr>";
  1676. echo "<td>";
  1677. foreach($connecteds AS $connected) {
  1678. $conAvatar=null;
  1679. $conAvatar = getFieldValue('image',$connected->avatar,$connected);
  1680. $emailIMG  = getFieldValue('primaryemailaddress',$connected->email,$connected,null,1);
  1681. $pmIMG    = getFieldValue('pm',$connected->username,$connected,null,1);
  1682. $onlineIMG = ($ueConfig['allow_onlinestatus']==1) ? getFieldValue('status',$connected->isOnline,$connected,null,1) : "";
  1683. if($connected->accepted==1 && $connected->pending==1) $actionIMG = "<img src="components/com_comprofiler/images/pending.png" border="0" alt=""._UE_CONNECTIONPENDING."" title=""._UE_CONNECTIONPENDING."" /> <a href="".cbSef("index.php?option=com_comprofiler&amp;act=connections&amp;task=removeConnection&amp;connectionid=".$connected->memberid.($Itemid ? "&amp;Itemid=". (int) $Itemid : "")).""><img src="components/com_comprofiler/images/publish_x.png" border="0" alt=""._UE_REMOVECONNECTION."" title=""._UE_REMOVECONNECTION."" /></a>";
  1684. elseif($connected->accepted==1 && $connected->pending==0) $actionIMG="<a href="".cbSef("index.php?option=com_comprofiler&amp;act=connections&amp;task=removeConnection&amp;connectionid=".$connected->memberid.($Itemid ? "&amp;Itemid=". (int) $Itemid : "")).""><img src="components/com_comprofiler/images/publish_x.png" border="0" alt=""._UE_REMOVECONNECTION."" title=""._UE_REMOVECONNECTION."" /></a>";
  1685. elseif($connected->accepted==0) $actionIMG="<a href="".cbSef("index.php?option=com_comprofiler&amp;act=connections&amp;task=acceptConnection&amp;connectionid=".$connected->memberid.($Itemid ? "&amp;Itemid=". (int) $Itemid : "")).""><img src="components/com_comprofiler/images/tick.png" border="0" alt=""._UE_ACCEPTCONNECTION."" title=""._UE_ACCEPTCONNECTION."" /></a> <a href="".cbSef("index.php?option=com_comprofiler&amp;act=connections&amp;task=removeConnection&amp;connectionid=".$connected->memberid.($Itemid ? "&amp;Itemid=". (int) $Itemid : "")).""><img src="components/com_comprofiler/images/publish_x.png" border="0" alt=""._UE_REMOVECONNECTION."" title=""._UE_DECLINECONNECTION."" /></a>";
  1686. $tipField = "<b>"._UE_CONNECTEDSINCE."</b> : ".dateConverter($connected->membersince,'Y-m-d',$ueConfig['date_format']);
  1687. if(getLangDefinition($connected->type)!=null) $tipField .= "<br /><b>"._UE_CONNECTIONTYPE."</b> : ".getLangDefinition($connected->type);
  1688. if($connected->description!=null) $tipField .= "<br /><b>"._UE_CONNECTEDCOMMENT."</b> : ".htmlspecialchars($connected->description);
  1689. $tipTitle = _UE_CONNECTEDDETAIL;
  1690. $htmltext = $conAvatar;
  1691. $style = "style="padding:5px;"";
  1692. $tooltip = cbFieldTip($ui, $tipField, $tipTitle, $width='200', $icon='', $htmltext, $href='', $style, $olparams='',false);
  1693. echo "<div class="connectionBox">";
  1694. echo $actionIMG.'<br />';
  1695. echo $tooltip."<br />";
  1696. echo $onlineIMG." ".getNameFormat($connected->name,$connected->username,$ueConfig['name_format']);
  1697. echo "<br /><a href="".cbSef("index.php?option=com_comprofiler&amp;task=userProfile&amp;user=".$connected->memberid.($Itemid ? "&amp;Itemid=". (int) $Itemid : ""))
  1698. .""><img src="components/com_comprofiler/images/profiles.gif" border="0" alt=""._UE_VIEWPROFILE
  1699. ."" title=""._UE_VIEWPROFILE."" /></a> ".$emailIMG." ".$pmIMG."n";
  1700. echo " </div>n";
  1701. }
  1702. echo "</td>";
  1703. echo "</tr>";
  1704. echo "</table>";
  1705. }
  1706. echo $tabs->endTab();
  1707. }
  1708. echo $tabs->endPane();
  1709. if ( isset($_REQUEST['tab'] ) ) {
  1710. echo "<script type="text/javascript">showCBTab( '" . urldecode( cbGetParam( $_REQUEST, 'tab' ) ) . "' );</script>";
  1711. } elseif ( ! ( count( $actions ) > 0 ) ) {
  1712. echo "<script type="text/javascript">tabPanemyCon.setSelectedIndex( 1 );</script>";
  1713. }
  1714. echo '<div style="clear:both;padding:5px"><a href="' . cbSef( 'index.php?option=com_comprofiler' . getCBprofileItemid( true ) ) . '">' . _UE_BACK_TO_YOUR_PROFILE . '</a></div>';
  1715. }
  1716. } // end class HTML_comprofiler
  1717. function moderateBans( $option, $act, $uid ) {
  1718. global $_CB_framework, $_CB_database, $ueConfig, $Itemid, $_REQUEST;
  1719. $isModerator=isModerator( $_CB_framework->myId() );
  1720. if ( ( $isModerator == 0 ) || ( ( $act == 2 ) && ( $uid == $_CB_framework->myId() ) ) ) {
  1721. cbNotAuth();
  1722. return;
  1723. }
  1724. $ue_base_url = "index.php?option=com_comprofiler&amp;task=moderateBans".($Itemid ? "&amp;Itemid=". (int) $Itemid : ""); // Base URL string
  1725. if ( $act == 2 ) {
  1726. $query = "SELECT count(*) FROM #__comprofiler WHERE NOT(ISNULL(bannedby)) AND approved=1 AND confirmed=1 AND id=" . (int) $uid;
  1727. } else {
  1728. $query = "SELECT count(*) FROM #__comprofiler WHERE banned=2 AND approved=1 AND confirmed=1 AND id!=".(int) $_CB_framework->myId();
  1729. }
  1730. if(!$_CB_database->setQuery($query)) print $_CB_database->getErrorMsg();
  1731. $total = $_CB_database->loadResult();
  1732. $limitstart = (int) cbGetParam( $_REQUEST, 'limitstart', 0 );
  1733. if (empty($limitstart)) {
  1734. $limitstart = 0;
  1735. }
  1736. $limit = 20;
  1737. if ($limit > $total) {
  1738. $limitstart = 0;
  1739. }
  1740. $query = "SELECT c.id, c.banned, u2.name AS bannedbyname, u2.username as bannedbyusername, u3.name AS unbannedbyname, u3.username as unbannedbyusername, "
  1741. . "u.name as bannedname, u.username as bannedusername, c.banneddate, c.unbanneddate, c.bannedreason, c.bannedby, c.unbannedby"
  1742. . "n FROM #__comprofiler AS c"
  1743. . "n INNER JOIN #__users AS u ON u.id=c.id"
  1744. . "n INNER JOIN #__users AS u2 ON u2.id= c.bannedby"
  1745. . "n LEFT JOIN #__users AS u3 ON  u3.id = c.unbannedby";
  1746. if ( $act == 2 ) {
  1747. $query .= "n WHERE NOT(ISNULL(c.bannedby)) AND c.id = " . (int) $uid;
  1748. } else {
  1749. $query .= "n WHERE c.banned = 2 AND c.id != " . (int) $uid;
  1750. }
  1751. $query .= " AND  c.approved = 1 AND c.confirmed = 1";
  1752. $query .= "n LIMIT $limitstart, $limit";
  1753. $_CB_database->setQuery($query);
  1754. $row = $_CB_database->loadObjectList();
  1755. outputCbTemplate(1);
  1756. ?>
  1757. <!-- TAB -->
  1758. <div class="componentheading"><?php echo _UE_MODERATE_TITLE; ?></div><br />
  1759. <?php
  1760. if($total<1) {
  1761. echo _UE_NOUNBANREQUESTS;
  1762. return;
  1763. }  
  1764. ?>                  
  1765. <div class='contentheading'><?php echo _UE_UNBAN_MODERATE; ?></div><br /><br />
  1766. <div class="tab_Description"><?php echo _UE_UNBAN_MODERATE_DESC; ?></div><br />
  1767.      <table width='98%' border='0' cellpadding='4' cellspacing='0'>
  1768. <thead><tr align='left'>
  1769. <th><?php echo _UE_BANNEDUSER; ?></th>
  1770. <th><?php echo _UE_BANNEDREASON; ?></th>
  1771. <th><?php echo _UE_BANNEDON; ?></th>
  1772. <th><?php echo _UE_BANNEDBY; ?></th>
  1773. <th><?php echo _UE_UNBANNEDON; ?></th>
  1774. <th><?php echo _UE_UNBANNEDBY; ?></th>
  1775. <th><?php echo _UE_BANSTATUS; ?></th>
  1776. </tr></thead>
  1777. <?php  
  1778.      for($i = 0; $i < count($row); $i++) {
  1779.  $class = "sectiontableentry" . ( 1 + ( $i % 2 ) );
  1780.      echo "<tr align='left' valign='middle' class='".$class."'>";
  1781.              echo "<td><a href='".cbSef("index.php?option=com_comprofiler&amp;task=userProfile&amp;user=".$row[$i]->id.($Itemid ? "&amp;Itemid=". (int) $Itemid : ""))."'>".getNameFormat($row[$i]->bannedname,$row[$i]->bannedusername,$ueConfig['name_format']). "</a></td>";
  1782.      echo "<td>".nl2br($row[$i]->bannedreason)."</td>";  
  1783.      echo "<td>".dateConverter($row[$i]->banneddate,'Y-m-d',$ueConfig['date_format'])."</td>";
  1784.              echo "<td><a href='".cbSef("index.php?option=com_comprofiler&amp;task=userProfile&amp;user=".$row[$i]->bannedby.($Itemid ? "&amp;Itemid=". (int) $Itemid : ""))."'>".getNameFormat($row[$i]->bannedbyname,$row[$i]->bannedbyusername,$ueConfig['name_format']). "</a></td>";           
  1785.      echo "<td>".dateConverter($row[$i]->unbanneddate,'Y-m-d',$ueConfig['date_format'])."</td>";
  1786.              echo "<td><a href='".cbSef("index.php?option=com_comprofiler&amp;task=userProfile&amp;user=".$row[$i]->unbannedby.($Itemid ? "&amp;Itemid=". (int) $Itemid : ""))."'>".getNameFormat($row[$i]->unbannedbyname,$row[$i]->unbannedbyusername,$ueConfig['name_format']). "</a></td>";
  1787.              echo "<td>";
  1788.              switch ( $row[$i]->banned ) {
  1789.               case 1:
  1790.               echo '<span style="color:red;">' . _UE_BANSTATUS_BANNED  . '</span>';
  1791.               break;
  1792.                 case 2:
  1793.               echo '<span style="color:orange;">' . _UE_BANSTATUS_UNBAN_REQUEST_PENDING  . '</span>';
  1794.               break;          
  1795.               default:
  1796.                echo '<span style="color:green;">' . _UE_BANSTATUS_PROCESSED  . '</span>';
  1797.              break;
  1798.              }
  1799.              echo "</td>";
  1800.      echo '</tr>';
  1801.      }
  1802.      echo '</table>';
  1803.      if ($total > $limit) { ?>
  1804. <hr /><div style="width:100%;text-align:center;"><?php echo writePagesLinks($limitstart, $limit, $total, $ue_base_url); ?></div>
  1805. <?php
  1806.      }
  1807. }
  1808. function moderateReports($option) {
  1809. global $_CB_framework, $_CB_database, $ueConfig, $Itemid, $_REQUEST;
  1810. $isModerator=isModerator( $_CB_framework->myId() );
  1811. if ($isModerator == 0) {
  1812. cbNotAuth();
  1813. return;
  1814. }
  1815. $ue_base_url = "index.php?option=com_comprofiler&amp;task=moderateReports".($Itemid ? "&amp;Itemid=". (int) $Itemid : ""); // Base URL string
  1816. $query = "SELECT count(*) FROM #__comprofiler_userreports  WHERE reportedstatus=0 ";
  1817. if (!$_CB_database->setQuery($query)) {
  1818. print $_CB_database->getErrorMsg();
  1819. }
  1820. $total = $_CB_database->loadResult();
  1821. if($total<1) {
  1822. echo _UE_NONEWUSERREPORTS;
  1823. return;
  1824. }
  1825. $limitstart = intval( cbGetParam( $_REQUEST, 'limitstart', 0 ) );
  1826. if (empty($limitstart)) $limitstart = 0;
  1827. $limit = 20;
  1828. if ($limit > $total) {
  1829. $limitstart = 0;
  1830. }
  1831. $query = "SELECT u2.name as reportedbyname, u2.username as reportedbyusername, u.name as reportedname, u.username as reportedusername, ur.* FROM #__users u, #__comprofiler_userreports ur, #__users u2 WHERE u.id=ur.reporteduser AND u2.id=ur.reportedbyuser AND  ur.reportedstatus=0 ORDER BY ur.reporteduser,ur.reportedondate";
  1832. $query .= " LIMIT $limitstart, $limit";
  1833. $_CB_database->setQuery($query);
  1834. $row = $_CB_database->loadObjectList();
  1835. outputCbTemplate(1);
  1836. ?>
  1837. <!-- TAB -->
  1838. <div class="componentheading"><?php echo _UE_MODERATE_TITLE; ?></div><br /><br />
  1839.                     
  1840. <div class='contentheading'><?php echo _UE_USERREPORT_MODERATE; ?></div><br />
  1841.           <form action='<?php 
  1842. echo cbSef('index.php?option=com_comprofiler&amp;task=processReports'.($Itemid ? "&amp;Itemid=". (int) $Itemid : ""));
  1843. ?>' method='post' name='adminForm'>
  1844.           <table width='98%' border='0' cellpadding='4' cellspacing='0'>
  1845. <thead><tr align='left' class="sectionatableheader">
  1846. <th>&nbsp;</th>
  1847. <th><?php echo _UE_REPORTEDUSER; ?></th>
  1848. <th><?php echo _UE_REPORT; ?></th>
  1849. <th><?php echo _UE_REPORTEDONDATE; ?></th>
  1850. <th><?php echo _UE_REPORTEDBY; ?></th>
  1851. </tr></thead>
  1852. <?php  
  1853.        for($i = 0; $i < count($row); $i++) {
  1854.      $class = "sectiontableentry" . ( 1 + ( $i % 2 ) );
  1855.      echo "<tr align='left' valign='middle' class='".$class."'>";
  1856.              echo "<td><input id='img".$row[$i]->reportid."' type="checkbox" checked="checked" name="reports[]" value="".$row[$i]->reportid."" /></td>";
  1857.              echo "<td><a href='".cbSef("index.php?option=com_comprofiler&amp;task=userProfile&amp;user=".$row[$i]->reporteduser.($Itemid ? "&amp;Itemid=". (int) $Itemid : ""))."'>".getNameFormat($row[$i]->reportedname,$row[$i]->reportedusername,$ueConfig['name_format']). "</a></td>";
  1858.      echo "<td>".$row[$i]->reportexplaination."</td>";  
  1859.      echo "<td>".dateConverter($row[$i]->reportedondate,'Y-m-d',$ueConfig['date_format'])."</td>";
  1860.              echo "<td><a href='".cbSef("index.php?option=com_comprofiler&amp;task=userProfile&amp;user=".$row[$i]->reportedbyuser.($Itemid ? "&amp;Itemid=". (int) $Itemid : ""))."'>".getNameFormat($row[$i]->reportedbyname,$row[$i]->reportedbyusername,$ueConfig['name_format']). "</a></td>";           
  1861.      echo '</tr>';
  1862.           }
  1863.           
  1864.           echo '<tr align="center" valign="middle"><td colspan="5">'
  1865.           .'<input class="button" type="submit" value="'._UE_PROCESSUSERREPORT.'" /></td></tr>';
  1866.           echo '</table>';
  1867.           echo cbGetSpoofInputTag( 'moderateReports' );
  1868.           echo "</form>";
  1869. if($total > $limit) { ?>
  1870. <hr /><div style="width:100%;text-align:center;"><?php echo writePagesLinks($limitstart, $limit, $total, $ue_base_url); ?></div>
  1871. <?php
  1872. }
  1873.     }
  1874. function moderateImages($option) {
  1875. global $_CB_framework, $_CB_database, $ueConfig, $Itemid, $_REQUEST;
  1876. $isModerator=isModerator( $_CB_framework->myId() );
  1877. if ($isModerator == 0) {
  1878. cbNotAuth();
  1879. return;
  1880. }
  1881. $ue_base_url = "index.php?option=com_comprofiler&amp;task=moderateImages".($Itemid ? "&amp;Itemid=". (int) $Itemid : ""); // Base URL string
  1882. $query = "SELECT count(*) FROM #__comprofiler  WHERE avatarapproved=0 AND approved=1 AND confirmed=1 AND banned=0";
  1883. if(!$_CB_database->setQuery($query)) print $_CB_database->getErrorMsg();
  1884. $total = $_CB_database->loadResult();
  1885. $limitstart = intval( cbGetParam( $_REQUEST, 'limitstart', 0 ) );
  1886. if (empty($limitstart)) $limitstart = 0;
  1887. $limit = 20;
  1888. if ($limit > $total) {
  1889. $limitstart = 0;
  1890. }
  1891. $query = "SELECT * FROM #__comprofiler c, #__users u WHERE u.id= c.id AND c.avatarapproved=0 AND approved=1 AND confirmed=1 AND banned=0";
  1892. $query .= " LIMIT $limitstart, $limit";
  1893. $_CB_database->setQuery($query);
  1894. $row = $_CB_database->loadObjectList();
  1895. outputCbTemplate(1);
  1896. ?>
  1897. <!-- TAB -->
  1898. <div class="componentheading"><?php echo _UE_MODERATE_TITLE; ?></div><br /><br />
  1899. <?php
  1900. if($total<1) {
  1901. echo _UE_NOIMAGESTOAPPROVE;
  1902. return;
  1903. ?>                    
  1904. <div class='contentheading'><?php echo _UE_IMAGE_MODERATE; ?></div><br />
  1905. <?php if($total > $limit) { ?>
  1906. <div style="width:100%;text-align:center;"><?php echo writePagesLinks($limitstart, $limit, $total, $ue_base_url); ?></div><hr />
  1907. <?php
  1908. }  
  1909.           echo "<form action='".cbSef('index.php?option=com_comprofiler&amp;task=approveImage'.($Itemid ? "&amp;Itemid=". (int) $Itemid : ""))."' method='post' name='adminForm'>";
  1910.           echo "<table width='98%' border='0' cellpadding='4' cellspacing='1'>";
  1911.           echo "<tr align='center' valign='middle'><td>";
  1912.           $avatar_gallery_path = $_CB_framework->getCfg( 'live_site' ) . '/images/comprofiler/';
  1913.           $sys_gallery_path = $_CB_framework->getCfg( 'live_site' ) . '/components/com_comprofiler/images/';
  1914.           for($i = 0; $i < count($row); $i++) {
  1915.       $image = $avatar_gallery_path.'tn'.$row[$i]->avatar;
  1916.             echo '<div class="containerBox">';
  1917.             echo '<img style="cursor:hand;" src="'.$image.'" onclick="this.src=''.$avatar_gallery_path.$row[$i]->avatar.''" alt="" /><br />';
  1918.             echo "<label for='img".$row[$i]->id."'>".getNameFormat($row[$i]->name,$row[$i]->username,$ueConfig['name_format'])
  1919.             . " <input id='img".$row[$i]->id."' type="checkbox" checked="checked" name="avatar[]" value="".$row[$i]->id."" /></label>";
  1920.       echo "<br /><img style='cursor:hand;' onclick='window.location=""
  1921.       .cbSef("index.php?option=com_comprofiler&amp;task=approveImage&amp;flag=1&amp;avatars=".$row[$i]->id.($Itemid ? "&amp;Itemid=". (int) $Itemid : ""))
  1922.       .""' src='".$sys_gallery_path."approve.png' title='"._UE_APPROVE_IMAGE."' alt='"._UE_APPROVE
  1923.       ."' /> <img style='cursor:hand;' src='".$sys_gallery_path."reject.png' onclick='javascript:window.location=""
  1924.       .cbSef("index.php?option=com_comprofiler&amp;task=approveImage&amp;flag=0&amp;avatars=".$row[$i]->id.($Itemid ? "&amp;Itemid=". (int) $Itemid : ""))
  1925.       .""' title='"._UE_REJECT_IMAGE."' alt='"._UE_REJECT."' /> <img style='cursor:hand;' src='".$sys_gallery_path
  1926.       ."updateprofile.gif' title='"._UE_VIEWPROFILE."' onclick='javascript:window.location=""
  1927.       .cbSef("index.php?option=com_comprofiler&amp;task=userProfile&amp;user=".$row[$i]->id.($Itemid ? "&amp;Itemid=". (int) $Itemid : ""))
  1928.       .""' alt='"._UE_VIEWPROFILE."' />";
  1929. echo "</div>";
  1930.           }
  1931.           echo '</td></tr>';
  1932.           echo '<tr><td colspan="4" align="center">'
  1933.           .'<input class="button" style="background-color:#CFC;" onclick="this.form.act.value='1';this.form.submit();" type="button" value="'._UE_APPROVE.'" />'
  1934.           .'&nbsp;&nbsp;&nbsp;'
  1935.           .'<input class="button" style="background-color:#FCC;" onclick="this.form.act.value='0';this.form.submit();" type="button" value="'._UE_REJECT.'" />';
  1936.           echo '</td></tr>';
  1937.           echo '</table>';
  1938.   echo '<input type="hidden" name="act" value="" />';
  1939.   echo cbGetSpoofInputTag( 'moderateImages' );
  1940.           echo "</form>";
  1941. if ($total > $limit) { ?>
  1942. <hr /><div style="width:100%;text-align:center;"><?php echo writePagesLinks($limitstart, $limit, $total, $ue_base_url); ?></div>
  1943. <?php
  1944. }  
  1945.     }
  1946. function viewReports($option,$uid,$act) {
  1947. global $_CB_framework, $_CB_database, $ueConfig, $Itemid, $_REQUEST;
  1948. $isModerator = isModerator( $_CB_framework->myId() );
  1949. if ( $isModerator == 0 ) {
  1950. cbNotAuth();
  1951. return;
  1952. }
  1953. $ue_base_url = "index.php?option=com_comprofiler&amp;task=viewReports".($Itemid ? "&amp;Itemid=". (int) $Itemid : ""); // Base URL string
  1954. $query = "SELECT count(*) FROM #__comprofiler_userreports  WHERE " . ( $act = 1 ? '' : "reportedstatus=0 AND " ) . "reporteduser=" . (int) $uid;
  1955. if(!$_CB_database->setQuery($query)) print $_CB_database->getErrorMsg();
  1956. $total = $_CB_database->loadResult();
  1957. $limitstart = intval( cbGetParam( $_REQUEST, 'limitstart', 0 ) );
  1958. if (empty($limitstart)) $limitstart = 0;
  1959. $limit = 20;
  1960. if ($limit > $total) {
  1961. $limitstart = 0;
  1962. }
  1963. $query = "SELECT u2.name as reportedbyname, u2.username as reportedbyusername, u.name as reportedname, u.username as reportedusername, ur.* FROM #__users u, #__comprofiler_userreports ur, #__users u2 WHERE u.id=ur.reporteduser AND u2.id=ur.reportedbyuser AND " . ( $act = 1 ? '' : "ur.reportedstatus=0 AND " ) . "ur.reporteduser=".(int) $uid." ORDER BY ur.reporteduser,ur.reportedondate";
  1964. $query .= " LIMIT $limitstart, $limit";
  1965. $_CB_database->setQuery($query);
  1966. $row = $_CB_database->loadObjectList();
  1967. outputCbTemplate(1);
  1968. ?>
  1969. <!-- TAB -->
  1970. <div class="componentheading"><?php echo _UE_MODERATE_TITLE; ?></div><br /><br />
  1971. <?php
  1972. if($total<1) {
  1973. echo _UE_NOREPORTSTOPROCESS;
  1974. return;
  1975. ?> 
  1976.                     
  1977. <div class='contentheading'><?php echo _UE_USERREPORT; ?></div><br />
  1978. <?php if($total > $limit) { ?>
  1979. <div style="width:100%;text-align:center;"><?php echo writePagesLinks($limitstart, $limit, $total, $ue_base_url); ?></div><hr />
  1980. <?php
  1981. ?>
  1982. <table width='98%' border='0' cellpadding='4' cellspacing='1'>
  1983. <thead><tr align='left' class="sectiontableheader">
  1984. <th><?php echo _UE_REPORTEDUSER; ?></th>
  1985. <th><?php echo _UE_REPORT; ?></th>
  1986. <th><?php echo _UE_REPORTEDONDATE; ?></th>
  1987. <th><?php echo _UE_REPORTEDBY; ?></th>
  1988. <th><?php echo _UE_REPORTSTATUS; ?></th>
  1989. </tr></thead>
  1990. <?php  
  1991. for($i = 0; $i < count($row); $i++) {
  1992.     $class = "sectiontableentry" . ( 1 + ( $i % 2 ) );
  1993. echo "<tr align='left' valign='middle' class='".$class."'>";
  1994. echo "<td><a href='".cbSef("index.php?option=com_comprofiler&amp;task=userProfile&amp;user=".$row[$i]->reporteduser.($Itemid ? "&amp;Itemid=". (int) $Itemid : ""))."'>".getNameFormat($row[$i]->reportedname,$row[$i]->reportedusername,$ueConfig['name_format']). "</a></td>";
  1995. echo "<td>".$row[$i]->reportexplaination."</td>";
  1996. echo "<td>".dateConverter($row[$i]->reportedondate,'Y-m-d',$ueConfig['date_format'])."</td>";
  1997. echo "<td><a href='".cbSef("index.php?option=com_comprofiler&amp;task=userProfile&amp;user=".$row[$i]->reportedbyuser.($Itemid ? "&amp;Itemid=". (int) $Itemid : ""))."'>".getNameFormat($row[$i]->reportedbyname,$row[$i]->reportedbyusername,$ueConfig['name_format']). "</a></td>";
  1998. echo "<td>". ( $row[$i]->reportedstatus ? ( '<span style="color:green;">' . _UE_REPORTSTATUS_PROCESSED  . '</span>' ) : ( '<span style="color:red;font-weight:bold;">' . _UE_REPORTSTATUS_OPEN  . '</span>' ) ) ."</td>";
  1999. echo "</tr>n";
  2000. }
  2001. echo "</table>n";
  2002. if($total > $limit) { ?>
  2003. <hr /><div style="width:100%;text-align:center;"><?php echo writePagesLinks($limitstart, $limit, $total, $ue_base_url); ?></div>
  2004. <?php
  2005. }
  2006. echo "<br /><div style='width:100%;text-align:center;'>n";
  2007. echo "<form action='".cbSef('index.php?option=com_comprofiler&amp;task=moderateReports'.($Itemid ? "&amp;Itemid=". (int) $Itemid : ""))."' method='post' name='adminForm'>n";
  2008.     echo '<input class="button" type="submit" value="'._UE_USERREPORT_MODERATE."" />n";
  2009.     echo "</form>n</div>n";
  2010. }
  2011. ?>