static function showConfig( &$ueConfig, &$lists, $option ) { global $_CB_framework; HTML_comprofiler::secureAboveForm('showConfig'); outputCbTemplate(2); outputCbJs(2); global $_CB_Backend_Title; $_CB_Backend_Title = array( 0 => array( 'cbicon-48-settings', htmlspecialchars( "CB " . _UE_REG_CONFIGURATION_MANAGER ) ) ); HTML_comprofiler::_overideWebFxLayout(); ?> <div style="width:95%;text-align:center;margin-bottom:15px;"> <div style="width:88%;margin:auto;text-align:left;"> <?php update_checker(); ?> </div> </div> <form action="<?php echo $_CB_framework->backendUrl( 'index.php' ); ?>" method="post" name="adminForm"> <table cellspacing='0' cellpadding='4' border='0' width='100%'><tr><td width='100%'> <?php $tabs = new cbTabs( 0,2 ); ?> <?php echo $tabs->startPane( "CB" ); echo $tabs->startTab("CB",_UE_GENERAL,"tab1"); ?> <table cellpadding="4" cellspacing="0" border="0" width="95%" class="adminform"> <tr align="center" valign="middle"> <th width="20%"> </th> <th width="20%"><?php echo _UE_CURRENT_SETTINGS ?></th> <th width="60%"><?php echo _UE_EXPLANATION ?></th> </tr> <tr align="center" valign="middle"> <td align="left" valign="top"><?php echo _UE_NAME_STYLE ?></td> <td align="left" valign="top"><?php echo $lists['name_style']; ?></td> <td align="left" valign="top"><?php echo _UE_NAME_STYLE_DESC ?></td> </tr> <tr align="center" valign="middle"> <td align="left" valign="top"><?php echo _UE_NAME_FORMAT ?></td> <td align="left" valign="top"><?php echo $lists['name_format']; ?></td> <td align="left" valign="top"><?php echo _UE_NAME_FORMAT_DESC ?></td> </tr> <tr align="center" valign="middle"> <td align="left" valign="top"><?php echo _UE_DATE_FORMAT ?></td> <td align="left" valign="top"><?php echo $lists['date_format']; ?></td> <td align="left" valign="top"><?php echo _UE_DATE_FORMAT_DESC ?></td> </tr> <tr align="center" valign="middle"> <td align="left" valign="top"><?php echo _UE_CALENDAR_TYPE ?></td> <td align="left" valign="top"><?php echo $lists['calendar_type']; ?></td> <td align="left" valign="top"><?php echo _UE_CALENDAR_TYPE_DESC ?></td> </tr> <tr align="center" valign="middle"> <td align="left" valign="top"><?php echo _UE_ALLOW_EMAIL_DISPLAY ?></td> <td align="left" valign="top"><?php echo $lists['allow_email_display']; ?></td> <td align="left" valign="top"><?php echo _UE_ALLOW_EMAIL_DISPLAY_DESC ?></td> </tr> <tr align="center" valign="middle"> <td align="left" valign="top"><?php echo _UE_ALLOW_EMAIL_REPLYTO ?></td> <td align="left" valign="top"><?php echo $lists['allow_email_replyto']; ?></td> <td align="left" valign="top"><?php echo _UE_ALLOW_EMAIL_REPLYTO_DESC ?></td> </tr> <tr align="center" valign="middle"> <td align="left" valign="top"><?php echo _UE_ALLOW_EMAIL ?></td> <td align="left" valign="top"><?php echo $lists['allow_email']; ?></td> <td align="left" valign="top"><?php echo _UE_ALLOW_EMAIL_DESC ?></td> </tr> <tr align="center" valign="middle"> <td align="left" valign="top"><?php echo _UE_ALLOW_WEBSITE ?></td> <td align="left" valign="top"><?php echo $lists['allow_website']; ?></td> <td align="left" valign="top"><?php echo _UE_ALLOW_WEBSITE_DESC ?></td> </tr> <tr align="center" valign="middle"> <td align="left" valign="top"><?php echo _UE_ALLOW_ONLINESTATUS ?></td> <td align="left" valign="top"><?php echo $lists['allow_onlinestatus']; ?></td> <td align="left" valign="top"><?php echo _UE_ALLOW_ONLINESTATUS_DESC ?></td> </tr> <tr align="center" valign="middle"> <td align="left" valign="top"><?php echo _UE_ICONS_DISPLAY ?></td> <td align="left" valign="top"><?php echo $lists['icons_display']; ?></td> <td align="left" valign="top"><?php echo _UE_ICONS_DISPLAY_DESC ?></td> </tr> <tr align="center" valign="middle"> <td align="left" valign="top"><?php echo _UE_LOGIN_TYPE ?></td> <td align="left" valign="top"><?php echo $lists['login_type']; ?></td> <td align="left" valign="top"><?php echo _UE_LOGIN_TYPE_DESC ?></td> </tr> <tr align="center" valign="middle"> <th colspan="3"> </th> </tr> </table> <?php echo $tabs->endTab(); echo $tabs->startTab("CB",_UE_REGISTRATION,"tab2"); ?> <table cellpadding="4" cellspacing="0" border="0" width="95%" class="adminform"> <tr align="center" valign="middle"> <th width="20%"> </th> <th width="20%"><?php echo _UE_CURRENT_SETTINGS ?></th> <th width="60%"><?php echo _UE_EXPLANATION ?></th> </tr> <tr align="center" valign="middle"> <td align="left" valign="top"><?php echo _UE_REG_CB_ALLOW ?></td> <td align="left" valign="top"><?php echo $lists['admin_allowcbregistration']; ?></td> <td align="left" valign="top"><?php echo _UE_REG_CB_ALLOW_DESC ?></td> </tr> <tr align="center" valign="middle"> <td align="left" valign="top"><?php echo _UE_REG_CB_EMAILPASS ?></td> <td align="left" valign="top"><?php echo $lists['emailpass']; ?></td> <td align="left" valign="top"><?php echo _UE_REG_CB_EMAILPASS_DESC ?></td> </tr> <tr align="center" valign="middle"> <td align="left" valign="top"><?php echo _UE_REG_ADMIN_APPROVAL ?></td> <td align="left" valign="top"><?php echo $lists['admin_approval']; ?></td> <td align="left" valign="top"><?php echo _UE_REG_ADMIN_APPROVAL_DESC ?></td> </tr> <tr align="center" valign="middle"> <td align="left" valign="top"><?php echo _UE_REG_CONFIRMATION ?></td> <td align="left" valign="top"><?php echo $lists['confirmation']; ?></td> <td align="left" valign="top"><?php echo _UE_REG_CONFIRMATION_DESC ?></td> </tr> <tr align="center" valign="middle"> <td align="left" valign="top"><?php echo _UE_REG_USERNAMECHECKER ?></td> <td align="left" valign="top"><?php echo $lists['reg_username_checker']; ?></td> <td align="left" valign="top"><?php echo _UE_REG_USERNAMECHECKER_DESC ?></td> </tr> <tr align="center" valign="middle"> <td align="left" valign="top"><?php echo _UE_REG_EMAILCHECKER ?></td> <td align="left" valign="top"><?php echo $lists['reg_email_checker']; ?></td> <td align="left" valign="top"><?php if ( ! function_exists( 'getmxrr' ) ) { echo _UE_REG_EMAILCHECKER_WARNING . ' --- '; } echo _UE_REG_EMAILCHECKER_DESC ?></td> </tr> <tr align="center" valign="middle"> <td align="left" valign="top"><?php echo _UE_REG_UNIQUEEMAIL ?></td> <td align="left" valign="top"><?php echo $_CB_framework->getCfg( 'uniquemail') ? _UE_YES : _UE_NO; ?></td> <td align="left" valign="top"><?php echo _UE_REG_UNIQUEEMAIL_DESC ?></td> </tr> <tr align="center" valign="middle"> <td align="left" valign="top"><?php echo _UE_REG_SHOW_LOGIN_ON_PAGE ?></td> <td align="left" valign="top"><?php echo $lists['reg_show_login_on_page']; ?></td> <td align="left" valign="top"><?php echo _UE_REG_SHOW_LOGIN_ON_PAGE_DESC ?></td> </tr> <tr align="center" valign="middle"> <td align="left" valign="top"><?php echo _UE_REG_EMAIL_NAME ?></td> <td align="left" valign="top"><input type="text" name="cfg_reg_email_name" value="<?php echo htmlspecialchars(stripslashes($ueConfig['reg_email_name'])); ?>" /></td> <td align="left" valign="top"><?php echo _UE_REG_EMAIL_NAME_DESC ?></td> </tr> <tr align="center" valign="middle"> <td align="left" valign="top"><?php echo _UE_REG_EMAIL_FROM ?></td> <td align="left" valign="top"><input type="text" name="cfg_reg_email_from" value="<?php echo htmlspecialchars($ueConfig['reg_email_from']); ?>" /></td> <td align="left" valign="top"><?php echo _UE_REG_EMAIL_FROM_DESC ?></td> </tr> <tr align="center" valign="middle"> <td align="left" valign="top"><?php echo _UE_REG_EMAIL_REPLYTO ?></td> <td align="left" valign="top"><input type="text" name="cfg_reg_email_replyto" value="<?php echo htmlspecialchars($ueConfig['reg_email_replyto']); ?>" /></td> <td align="left" valign="top"><?php echo _UE_REG_EMAIL_REPLYTO_DESC ?></td> </tr> <tr align="left" valign="middle"> <td align="left" valign="top"></td> <td align="left" valign="top" colspan="2"><?php echo _UE_REG_EMAIL_TAGS; ?></td> </tr> <tr align="center" valign="middle"> <td align="left" valign="top"><?php echo _UE_REG_PEND_APPR_SUB ?></td> <td align="left" valign="top"><input type="text" name="cfg_reg_pend_appr_sub" size="50" value="<?php echo htmlspecialchars(stripslashes($ueConfig['reg_pend_appr_sub'])); ?>" /></td> <td align="left" valign="top"><?php echo _UE_REG_PEND_APPR_SUB_DESC ?></td> </tr> <tr align="center" valign="middle"> <td align="left" valign="top"><?php echo _UE_REG_PEND_APPR_MSG ?></td> <td align="left" valign="top" colspan=2><textarea name="cfg_reg_pend_appr_msg" cols=50 rows=6><?php echo htmlspecialchars(stripslashes($ueConfig['reg_pend_appr_msg'])); ?></textarea></td> </tr> <tr align="center" valign="middle"> <td align="left" valign="top"><?php echo _UE_REG_WELCOME_SUB ?></td> <td align="left" valign="top"><input type="text" name="cfg_reg_welcome_sub" size="50" value="<?php echo htmlspecialchars(stripslashes($ueConfig['reg_welcome_sub'])); ?>" /></td> <td align="left" valign="top"><?php echo _UE_REG_WELCOME_SUB_DESC ?></td> </tr> <tr align="center" valign="middle"> <td align="left" valign="top"><?php echo _UE_REG_WELCOME_MSG ?></td> <td align="left" valign="top" colspan=2><textarea name="cfg_reg_welcome_msg" cols=50 rows=6><?php echo htmlspecialchars(stripslashes($ueConfig['reg_welcome_msg'])); ?></textarea></td> </tr> <tr align="center" valign="middle"> <td align="left" valign="top"><?php echo _UE_REG_SHOW_ICONS_EXPLAIN ?></td> <td align="left" valign="top"><?php echo $lists['reg_show_icons_explain']; ?></td> <td align="left" valign="top"><?php echo _UE_REG_SHOW_ICONS_EXPLAIN_DESC ?></td> </tr> <tr align="center" valign="middle"> <td align="left" valign="top"><?php echo _UE_REG_INTRO_MSG ?></td> <td align="left" valign="top"><textarea name="cfg_reg_intro_msg" cols=50 rows=6><?php echo htmlspecialchars(stripslashes($ueConfig['reg_intro_msg'])); ?></textarea></td> <td align="left" valign="top"><?php echo _UE_REG_INTRO_DESC ?></td> </tr> <tr align="center" valign="middle"> <td align="left" valign="top"><?php echo _UE_REG_CONCLUSION_MSG ?></td> <td align="left" valign="top"><textarea name="cfg_reg_conclusion_msg" cols=50 rows=6><?php echo htmlspecialchars(stripslashes($ueConfig['reg_conclusion_msg'])); ?></textarea></td> <td align="left" valign="top"><?php echo _UE_REG_CONCLUSION_DESC ?></td> </tr> <tr align="center" valign="middle"> <td align="left" valign="top"><?php echo _UE_REG_TOC_MSG ?></td> <td align="left" valign="top"><?php echo $lists['reg_enable_toc']; ?></td> <td align="left" valign="top"><?php echo _UE_REG_TOC_DESC ?></td> </tr> <tr align="center" valign="middle"> <td align="left" valign="top"><?php echo _UE_REG_TOC_URL_MSG ?></td> <td align="left" valign="top"><input type="text" size="50" name="cfg_reg_toc_url" value="<?php echo htmlspecialchars($ueConfig['reg_toc_url']); ?>" /></td> <td align="left" valign="top"><?php echo _UE_REG_TOC_URL_DESC ?></td> </tr> <tr align="center" valign="middle"> <td align="left" valign="top"><?php echo _UE_REG_FIRST_VISIT_URL_MSG ?></td> <td align="left" valign="top"><input type="text" size="50" name="cfg_reg_first_visit_url" value="<?php echo htmlspecialchars($ueConfig['reg_first_visit_url']); ?>" /></td> <td align="left" valign="top"><?php echo _UE_REG_FIRST_VISIT_URL_DESC ?></td> </tr> <tr align="center" valign="middle"> <th colspan="3"> </th> </tr> </table> <?php echo $tabs->endTab(); echo $tabs->startTab("CB",_UE_USERLIST,"tab3"); ?> <table cellpadding="4" cellspacing="0" border="0" width="95%" class="adminform"> <tr align="center" valign="middle"> <th width="20%"> </th> <th width="20%"><?php echo _UE_CURRENT_SETTINGS ?></th> <th width="60%"><?php echo _UE_EXPLANATION ?></th> </tr> <tr align="center" valign="middle"> <td align="left" valign="top"><?php echo _UE_NUM_PER_PAGE ?></td> <td align="left" valign="top"><input type="text" name="cfg_num_per_page" value="<?php echo htmlspecialchars($ueConfig['num_per_page']); ?>" /></td> <td align="left" valign="top"><?php echo _UE_NUM_PER_PAGE_DESC ?></td> </tr> <tr align="center" valign="middle"> <td align="left" valign="top"><?php echo _UE_ALLOW_PROFILELINK ?></td> <td align="left" valign="top"><?php echo $lists['allow_profilelink']; ?></td> <td align="left" valign="top"><?php echo _UE_ALLOW_PROFILELINK_DESC ?></td> </tr> <tr align="center" valign="middle"> <th colspan="3"> </th> </tr> </table> <?php echo $tabs->endTab(); echo $tabs->startTab("CB",_UE_USERPROFILE,"tab4"); ?> <table cellpadding="4" cellspacing="0" border="0" width="95%" class="adminform"> <tr align="center" valign="middle"> <th width="20%"> </th> <th width="20%"><?php echo _UE_CURRENT_SETTINGS ?></th> <th width="60%"><?php echo _UE_EXPLANATION ?></th> </tr> <tr align="center" valign="middle"> <td align="left" valign="top"><?php echo _UE_USERNAME ?></td> <td align="left" valign="top"><?php echo $lists['usernameedit']; ?></td> <td align="left" valign="top"><?php echo _UE_USERNAME_DESC ?></td> </tr> <tr align="center" valign="middle"> <td align="left" valign="top"><?php echo _UE_ADMINREQUIREDFIELDS ?></td> <td align="left" valign="top"><?php echo $lists['adminrequiredfields']; ?></td> <td align="left" valign="top"><?php echo _UE_ADMINREQUIREDFIELDS_DESC ?></td> </tr> <tr align="center" valign="middle"> <td align="left" valign="top"><?php echo _UE_ALLOW_PROFILEVIEWBY ?></td> <td align="left" valign="top"><?php echo $lists['allow_profileviewbyGID']; ?></td> <td align="left" valign="top"><?php echo _UE_ALLOW_PROFILEVIEWBY_DESC ?></td> </tr> <tr align="center" valign="middle"> <td align="left" valign="top"><?php echo _UE_MINHITSINTV ?></td> <td align="left" valign="top"><input type="text" name="cfg_minHitsInterval" value="<?php echo htmlspecialchars($ueConfig['minHitsInterval']);?>" /></td> <td align="left" valign="top"><?php echo _UE_MINHITSINTV_DESC ?></td> </tr> <tr align="center" valign="middle"> <td align="left" valign="top"><?php echo _UE_TEMPLATEDIR ?></td> <td align="left" valign="top"><?php echo $lists['templatedir']; ?></td> <td align="left" valign="top"><?php echo _UE_TEMPLATEDIR_DESC ?></td> </tr> <tr align="center" valign="middle"> <td align="left" valign="top"><?php echo _UE_REG_PROFILE_2COLS ?></td> <td align="left" valign="top"><?php echo _UE_LEFT ?>: <input type="text" size="2" name="cfg_left2colsWidth" value="<?php echo htmlspecialchars($ueConfig['left2colsWidth']);?>" /> % <?php echo _UE_REG_PROFILE_2COLS_RIGHT_REST ?></td> <td align="left" valign="top"><?php echo _UE_REG_PROFILE_2COLS_DESC ?></td> </tr> <tr align="center" valign="middle"> <td align="left" valign="top"><?php echo _UE_REG_PROFILE_3COLS ?></td> <td align="left" valign="top"><?php echo _UE_LEFT ?>: <input type="text" size="2" name="cfg_left3colsWidth" value="<?php echo htmlspecialchars($ueConfig['left3colsWidth']);?>" /> % <?php echo _UE_RIGHT ?>: <input type="text" size="2" name="cfg_right3colsWidth" value="<?php echo htmlspecialchars($ueConfig['right3colsWidth']);?>" /> %</td> <td align="left" valign="top"><?php echo _UE_REG_PROFILE_3COLS_DESC ?></td> </tr> <tr align="center" valign="middle"> <td align="left" valign="top"><?php echo _UE_SHOWEMPTYTABS ?></td> <td align="left" valign="top"><?php echo $lists['showEmptyTabs']; ?></td> <td align="left" valign="top"><?php echo _UE_SHOWEMPTYTABS_DESC ?></td> </tr> <tr align="center" valign="middle"> <td align="left" valign="top"><?php echo _UE_SHOWEMPTYFIELDS ?></td> <td align="left" valign="top"><?php echo $lists['showEmptyFields']; ?></td> <td align="left" valign="top"><?php echo _UE_SHOWEMPTYFIELDS_DESC ?></td> </tr> <tr align="center" valign="middle"> <td align="left" valign="top"><?php echo _UE_EMPTYFIELDSTEXT ?></td> <td align="left" valign="top"><input type="text" name="cfg_emptyFieldsText" value="<?php echo htmlspecialchars( isset( $ueConfig['emptyFieldsText'] ) ? $ueConfig['emptyFieldsText'] : '-' );?>" /></td> <td align="left" valign="top"><?php echo _UE_EMPTYFIELDSTEXT_DESC ?></td> </tr> <tr align="center" valign="middle"> <td align="left" valign="top"><?php echo _UE_NESTTABS ?></td> <td align="left" valign="top"><?php echo $lists['nesttabs']; ?></td> <td align="left" valign="top"><?php echo _UE_NESTTABS_DESC ?></td> </tr> <tr align="center" valign="middle"> <td align="left" valign="top"><?php echo _UE_XHTMLCOMPLY ?></td> <td align="left" valign="top"><?php echo $lists['xhtmlComply']; ?></td> <td align="left" valign="top"><?php echo _UE_XHTMLCOMPLY_DESC ?></td> </tr> <tr align="center" valign="middle"> <td align="left" valign="top"><?php echo _UE_FRONTENDUSERPARAMS ?></td> <td align="left" valign="top"><?php echo $lists['frontend_userparams']; ?></td> <td align="left" valign="top"><?php echo _UE_FRONTENDUSERPARAMS_DESC ?></td> </tr> <?php if ( isset( $ueConfig['frontend_userparams'] ) ) { if ( ( $ueConfig['frontend_userparams'] == 1 ) !== in_array( $_CB_framework->getCfg( "frontend_userparams" ), array( '1', null) ) ) { //TBD in CB 1.3: move those in language strings: ?> <tr align="center" valign="middle"> <td align="left" valign="top"> </td> <td align="left" valign="top"><div class="cbSmallWarning"><?php echo htmlspecialchars( CBTxt::T('WARNING: different from the CMS setting !') ); ?></div></td> <td align="left" valign="top"><?php echo htmlspecialchars( CBTxt::T('This may be ok, but this warning is just to make you aware of the difference.') ); ?></td> </tr> <?php } } ?> <tr align="center" valign="middle"> <td align="left" valign="top"><?php echo CBTxt::Th("Use new div or old table based views") ?></td> <td align="left" valign="top"><?php echo $lists['use_divs']; ?></td> <td align="left" valign="top"><?php echo CBTxt::Th("Choose table for compatibility with old templates and div for table-less output.") ?></td> </tr> <tr align="center" valign="middle"> <td align="left" valign="top"><?php echo _UE_REG_FILTER_ALLOWED_TAGS ?></td> <td align="left" valign="top"><input type="text" name="cfg_html_filter_allowed_tags" value="<?php echo htmlspecialchars($ueConfig['html_filter_allowed_tags']);?>" /></td> <td align="left" valign="top"><?php echo _UE_REG_FILTER_ALLOWED_TAGS_DESC . '<br />' . $lists['_filteredbydefault']; ?></td> </tr> <tr align="center" valign="middle"> <th colspan="3"> </th> </tr> </table> <?php echo $tabs->endTab(); $imgToolBox = new imgToolBox(); if ( $ueConfig['im_path'] ) { $imgToolBox->_IM_path = $ueConfig['im_path']; } if ( $ueConfig['netpbm_path'] ) { $imgToolBox->_NETPBM_path = $ueConfig['netpbm_path']; } $imageLibs = $imgToolBox->getImageLibs(); echo $tabs->startTab("CB",_UE_AVATARS,"tab5"); ?> <table cellpadding="4" cellspacing="0" border="0" width="95%" class="adminform"> <tr align="center" valign="middle"> <th width="20%"> </th> <th width="20%"><?php echo _UE_CURRENT_SETTINGS ?></th> <th width="60%"><?php echo _UE_EXPLANATION ?></th> </tr> <tr align="center" valign="middle"> <td align="left" valign="top"><?php echo _UE_IMPATH;?></td> <td align="left" valign="top"> <input type="text" name="cfg_im_path" value="<?php echo ($ueConfig['im_path'] == '') ? 'auto' : htmlspecialchars($ueConfig['im_path']);?>" size="40" > </td> <td align="left" valign="top"> <?php echo _UE_IMPATH_DESC;?> </td> </tr> <tr align="center" valign="middle"> <td align="left" valign="top"><?php echo _UE_NETPBMPATH;?></td> <td align="left" valign="top"> <input type="text" name="cfg_netpbm_path" value="<?php echo ($ueConfig['netpbm_path'] == '') ? 'auto' : htmlspecialchars($ueConfig['netpbm_path']);?>" size="40" > </td> <td align="left" valign="top"> <?php echo _UE_NETPBMPATH_DESC;?> </td> </tr> <tr align="center" valign="middle"> <td align="left" valign="top"> <?php echo _UE_CONVERSIONTYPE;?> </td> <td align="left" valign="top"> <?php echo $lists['conversiontype']; ?> </td> <td align="left" valign="top"> <a href="http://www.imagemagick.org" target=_blank><?php echo htmlspecialchars( CBTxt::T('ImageMagick') ); ?></a> <?php if(array_key_exists('imagemagick',$imageLibs)) echo '<strong><font color="green">'._UE_AUTODET.' '.$imageLibs['imagemagick'].'</font></strong>'; else echo '<strong><font color="red">' . _UE_ERROR_NOTINSTALLED . '</font></strong>'; ?> <br /> <a href="http://sourceforge.net/projects/netpbm" target=_blank><?php echo htmlspecialchars( CBTxt::T('NetPBM') ); ?></a> <?php if(array_key_exists('netpbm',$imageLibs)) echo '<strong><font color="green">'._UE_AUTODET.' '.$imageLibs['netpbm'].'</font></strong>'; else echo '<strong><font color="red">' . _UE_ERROR_NOTINSTALLED . '</font></strong>'; ?> <br /> <?php echo htmlspecialchars( CBTxt::T('GD1 library') ); ?> <?php if(array_key_exists('gd1',$imageLibs['gd'])) echo ' <strong><font color="green">'._UE_AUTODET.', '.$imageLibs['gd']['gd1'].'</font></strong>'; else echo '<strong><font color="red">' . _UE_ERROR_NOTINSTALLED . '</font></strong>'; ?> <br /> <?php echo htmlspecialchars( CBTxt::T('GD2 library') ); ?> <?php if(array_key_exists('gd2',$imageLibs['gd'])) echo ' <strong><font color="green">'._UE_AUTODET.', '.$imageLibs['gd']['gd2'].'</font></strong>'; else echo '<strong><font color="red">' . _UE_ERROR_NOTINSTALLED . '</font></strong>'; ?> </td> </tr> <tr align="center" valign="middle"> <td align="left" valign="top"><?php echo _UE_AVATAR ?></td> <td align="left" valign="top"><?php echo $lists['allowAvatar']; ?></td> <td align="left" valign="top"><?php echo _UE_AVATAR_DESC ?></td> </tr> <tr align="center" valign="middle"> <td align="left" valign="top"><?php echo _UE_AVATARUPLOAD ?></td> <td align="left" valign="top"><?php echo $lists['allowAvatarUpload']; ?></td> <td align="left" valign="top"><?php echo _UE_AVATARUPLOAD_DESC ?></td> </tr> <tr align="center" valign="middle"> <td align="left" valign="top"><?php echo _UE_ALWAYSRESAMPLEUPLOADS ?></td> <td align="left" valign="top"><?php echo $lists['avatarResizeAlways']; ?></td> <td align="left" valign="top"><?php echo _UE_ALWAYSRESAMPLEUPLOADS_DESC ?></td> </tr> <tr align="center" valign="middle"> <td align="left" valign="top"><?php echo _UE_AVATARGALLERY ?></td> <td align="left" valign="top"><?php echo $lists['allowAvatarGallery']; ?></td> <td align="left" valign="top"><?php echo _UE_AVATARGALLERY_DESC ?></td> </tr> <tr align="center" valign="middle"> <td align="left" valign="top"><?php echo _UE_AVHEIGHT ?></td> <td align="left" valign="top"><input type="text" name="cfg_avatarHeight" value="<?php echo htmlspecialchars($ueConfig['avatarHeight']);?>" /></td> </tr> <tr align="center" valign="middle"> <td align="left" valign="top"><?php echo _UE_AVWIDTH ?></td> <td align="left" valign="top"><input type="text" name="cfg_avatarWidth" value="<?php echo htmlspecialchars($ueConfig['avatarWidth']);?>" /></td> </tr> <tr align="center" valign="middle"> <td align="left" valign="top"><?php echo _UE_AVSIZE ?></td> <td align="left" valign="top"><input type="text" name="cfg_avatarSize" value="<?php echo htmlspecialchars($ueConfig['avatarSize']);?>" /></td> </tr> <tr align="center" valign="middle"> <td align="left" valign="top"><?php echo _UE_TNHEIGHT ?></td> <td align="left" valign="top"><input type="text" name="cfg_thumbHeight" value="<?php echo htmlspecialchars($ueConfig['thumbHeight']);?>" /></td> </tr> <tr align="center" valign="middle"> <td align="left" valign="top"><?php echo _UE_TNWIDTH ?></td> <td align="left" valign="top"><input type="text" name="cfg_thumbWidth" value="<?php echo htmlspecialchars($ueConfig['thumbWidth']);?>" /></td> </tr> <tr align="center" valign="middle"> <th colspan="3"> </th> </tr> </table> <?php echo $tabs->endTab(); echo $tabs->startTab("CB",_UE_MODERATE,"tab6"); ?> <table cellpadding="4" cellspacing="0" border="0" width="95%" class="adminform"> <tr align="center" valign="middle"> <th width="20%"> </th> <th width="20%"><?php echo _UE_CURRENT_SETTINGS ?></th> <th width="60%"><?php echo _UE_EXPLANATION ?></th> </tr> <tr align="center" valign="middle"> <td align="left" valign="top"><?php echo _UE_AVATARUPLOADAPPROVALGROUP ?></td> <td align="left" valign="top"><?php echo $lists['imageApproverGid']; ?></td> <td align="left" valign="top"><?php echo _UE_AVATARUPLOADAPPROVALGROUP_DESC ?></td> </tr> <tr align="center" valign="middle"> <td align="left" valign="top"><?php echo _UE_MODERATORUSERAPPOVAL ?></td> <td align="left" valign="top"><?php echo $lists['allowModUserApproval']; ?></td> <td align="left" valign="top"><?php echo _UE_MODERATORUSERAPPOVAL_DESC ?></td> </tr> <tr align="center" valign="middle"> <td align="left" valign="top"><?php echo _UE_MODERATOREMAIL ?></td> <td align="left" valign="top"><?php echo $lists['moderatorEmail']; ?></td> <td align="left" valign="top"><?php echo _UE_MODERATOREMAIL_DESC ?></td> </tr> <tr align="center" valign="middle"> <td align="left" valign="top"><?php echo _UE_ALLOWUSERREPORTS ?></td> <td align="left" valign="top"><?php echo $lists['allowUserReports']; ?></td> <td align="left" valign="top"><?php echo _UE_ALLOWUSERREPORTS_DESC ?></td> </tr> <tr align="center" valign="middle"> <td align="left" valign="top"><?php echo _UE_AVATARUPLOADAPPROVAL ?></td> <td align="left" valign="top"><?php echo $lists['avatarUploadApproval']; ?></td> <td align="left" valign="top"><?php echo _UE_AVATARUPLOADAPPROVAL_DESC ?></td> </tr> <tr align="center" valign="middle"> <td align="left" valign="top"><?php echo _UE_ALLOWMODERATORSUSEREDIT ?></td> <td align="left" valign="top"><?php echo $lists['allowModeratorsUserEdit']; ?></td> <td align="left" valign="top"><?php echo _UE_ALLOWMODERATORSUSEREDIT_DESC ?></td> </tr> <tr align="center" valign="middle"> <td align="left" valign="top"><?php echo _UE_ALLOWUSERPROFILEBANNING ?></td> <td align="left" valign="top"><?php echo $lists['allowUserBanning']; ?></td> <td align="left" valign="top"><?php echo _UE_ALLOWUSERPROFILEBANNING_DESC ?></td> </tr> <tr align="center" valign="middle"> <th colspan="3"> </th> </tr> </table> <?php echo $tabs->endTab(); echo $tabs->startTab("CB",_UE_CONNECTION,"tab7"); ?> <table cellpadding="4" cellspacing="0" border="0" width="95%" class="adminform"> <tr align="center" valign="middle"> <th width="20%"> </th> <th width="20%"><?php echo _UE_CURRENT_SETTINGS ?></th> <th width="60%"><?php echo _UE_EXPLANATION ?></th> </tr> <tr align="center" valign="middle"> <td align="left" valign="top"><?php echo _UE_ALLOWCONNECTIONS ?></td> <td align="left" valign="top"><?php echo $lists['allowConnections']; ?></td> <td align="left" valign="top"><?php echo _UE_ALLOWCONNECTIONS_DESC ?></td> </tr> <tr align="center" valign="middle"> <td align="left" valign="top"><?php echo _UE_CONNECTIONDISPLAY ?></td> <td align="left" valign="top"><?php echo $lists['connectionDisplay']; ?></td> <td align="left" valign="top"><?php echo _UE_CONNECTIONDISPLAY_DESC ?></td> </tr> <tr align="center" valign="middle"> <td align="left" valign="top"><?php echo _UE_CONNECTIONPATH ?></td> <td align="left" valign="top"><?php echo $lists['connectionPath']; ?></td> <td align="left" valign="top"><?php echo _UE_CONNECTIONPATH_DESC ?></td> </tr> <tr align="center" valign="middle"> <td align="left" valign="top"><?php echo _UE_USEMUTUALCONNECTIONACCEPTANCE ?></td> <td align="left" valign="top"><?php echo $lists['useMutualConnections']; ?></td> <td align="left" valign="top"><?php echo _UE_USEMUTUALCONNECTIONACCEPTANCE_DESC ?></td> </tr> <tr align="center" valign="middle"> <td align="left" valign="top"><?php echo _UE_CONNECTOINNOTIFYTYPE ?></td> <td align="left" valign="top"><?php echo $lists['conNotifyTypes']; ?></td> <td align="left" valign="top"><?php echo _UE_CONNECTOINNOTIFYTYPE_DESC ?></td> </tr> <tr align="center" valign="middle"> <td align="left" valign="top"><?php echo _UE_AUTOADDCONNECTIONS ?></td> <td align="left" valign="top"><?php echo $lists['autoAddConnections']; ?></td> <td align="left" valign="top"><?php echo _UE_AUTOADDCONNECTIONS_DESC ?></td> </tr> <tr align="center" valign="middle"> <td align="left" valign="top"><?php echo _UE_CONNECTIONCATEGORIES ?></td> <td align="left" valign="top" ><textarea name="cfg_connection_categories" cols=25 rows=6><?php echo htmlspecialchars($ueConfig['connection_categories']); ?></textarea></td> <td align="left" valign="top"><?php echo _UE_CONNECTIONCATEGORIES_DESC ?></td> </tr> <tr align="center" valign="middle"> <th colspan="3"> </th> </tr> </table> <?php echo $tabs->endTab(); echo $tabs->startTab("CB",_UE_INTEGRATION,"tab8"); ?> <table cellpadding="4" cellspacing="0" border="0" width="95%" class="adminform"> <tr align="center" valign="middle"> <th width="20%"> </th> <th width="20%"><?php echo _UE_CURRENT_SETTINGS ?></th> <th width="60%"><?php echo _UE_EXPLANATION ?></th> </tr> <tr align="center" valign="middle"> <td align="left" valign="top"><?php echo CBTxt::Th('Translations highlighting') ?></td> <td align="left" valign="top"><?php echo $lists['translations_debug']; ?></td> <td align="left" valign="top"><?php echo CBTxt::Th('Here you can highlight and debug your translations in various ways.') ?></td> </tr> <tr align="center" valign="middle"> <td align="left" valign="top"><?php echo _UE_ENABLESPOOFCHECK ?></td> <td align="left" valign="top"><?php echo $lists['enableSpoofCheck']; ?></td> <td align="left" valign="top"><?php echo _UE_ENABLESPOOFCHECK_DESC ?></td> </tr> <tr align="center" valign="middle"> <td align="left" valign="top"><?php echo _UE_NOVERSIONCHECK ?></td> <td align="left" valign="top"><?php echo $lists['noVersionCheck']; ?></td> <td align="left" valign="top"><?php echo _UE_NOVERSIONCHECK_DESC ?></td> </tr> <tr align="center" valign="middle"> <td align="left" valign="top"><?php echo _UE_REG_FURTHER_SETTINGS ?></td> <td align="left" valign="top"><?php echo _UE_REG_FURTHER_SETTINGS_MORE ?></td> <td align="left" valign="top"><?php echo _UE_REG_FURTHER_SETTINGS_DESC ?></td> </tr> <tr align="center" valign="middle"> <th colspan="3"> </th> </tr> </table> <?php echo $tabs->endTab(); echo $tabs->endPane(); ?> </td></tr></table> <input type="hidden" name="task" value="" /> <input type="hidden" name="option" value="<?php echo $option; ?>" /> <input type="hidden" name="cfg_version" value="<?php echo $ueConfig['version']; ?>" /> <?php echo cbGetSpoofInputTag( 'config' ); ?> </form> <?php // flush(); // ob_flush(); ?> <div style="align:center;"> <p><?php echo _UE_BY; // Note: the line below is not translated on purpose as it is part of the copyright notice subject to the GPL: ?> <a href="http://www.joomlapolis.com" target="_blank">Community Builder Team of Joomlapolis</a> <br /> <font class="small"><?php echo _UE_VERSION ?>: <?php echo $ueConfig['version']; ?></font> <?php // update_checker(); ?> </p> </div> <?php }
function userAvatar( $option, $uid, $submitvalue) { global $_CB_database, $_CB_framework, $_REQUEST, $ueConfig, $_PLUGINS, $_FILES; if ( ! $uid ) { $uid = $_CB_framework->myId(); } if ( ! $uid ) { echo _UE_NOT_AUTHORIZED; return; } $msg = cbCheckIfUserCanPerformUserTask( $uid, 'allowModeratorsUserEdit'); if ( $msg ) { echo $msg; return; } $row = new moscomprofilerUser( $_CB_database ); if ( ! $row->load( (int) $uid ) ) { echo _UE_NOSUCHPROFILE; return; } $do = cbGetParam( $_REQUEST, 'do', 'init' ); if ( $do == 'init' ) { HTML_comprofiler::userAvatar( $row, $option, $submitvalue); } elseif ( $do == 'validate' ) { // simple spoof check security cbSpoofCheck( 'userAvatar' ); if ( ! $ueConfig['allowAvatarUpload'] ) { cbNotAuth(); return; } $isModerator=isModerator( $_CB_framework->myId() ); if ( ( ! isset( $_FILES['avatar']['tmp_name'] ) ) || empty( $_FILES['avatar']['tmp_name'] ) || ( $_FILES['avatar']['error'] != 0 ) || ( ! is_uploaded_file( $_FILES['avatar']['tmp_name'] ) ) ) { cbRedirectToProfile( $row->id, _UE_UPLOAD_ERROR_EMPTY, 'userAvatar' ); } $_PLUGINS->loadPluginGroup( 'user' ); $_PLUGINS->trigger( 'onBeforeUserAvatarUpdate', array( &$row, &$row, $isModerator, &$_FILES['avatar']['tmp_name'] ) ); if ($_PLUGINS->is_errors()) { cbRedirectToProfile( $row->id, $_PLUGINS->getErrorMSG(), 'userAvatar' ); } $imgToolBox = new imgToolBox(); $imgToolBox->_conversiontype = $ueConfig['conversiontype']; $imgToolBox->_IM_path = $ueConfig['im_path']; $imgToolBox->_NETPBM_path = $ueConfig['netpbm_path']; $imgToolBox->_maxsize = $ueConfig['avatarSize']; $imgToolBox->_maxwidth = $ueConfig['avatarWidth']; $imgToolBox->_maxheight = $ueConfig['avatarHeight']; $imgToolBox->_thumbwidth = $ueConfig['thumbWidth']; $imgToolBox->_thumbheight = $ueConfig['thumbHeight']; $imgToolBox->_debug = 0; $allwaysResize = ( isset( $ueConfig['avatarResizeAlways'] ) ? $ueConfig['avatarResizeAlways'] : 1 ); $newFileName = $imgToolBox->processImage( $_FILES['avatar'], uniqid($row->id."_"), $_CB_framework->getCfg('absolute_path') . '/images/comprofiler/', 0, 0, 1, $allwaysResize ); if ( ! $newFileName ) { cbRedirectToProfile( $row->id, $imgToolBox->_errMSG, 'userAvatar' ); } if ($row->avatar != null && $row->avatar!="") { deleteAvatar($row->avatar); } if ($ueConfig['avatarUploadApproval']==1 && $isModerator==0) { $cbNotification = new cbNotification(); $cbNotification->sendToModerators(_UE_IMAGE_ADMIN_SUB,_UE_IMAGE_ADMIN_MSG); $_CB_database->setQuery("UPDATE #__comprofiler SET avatar='" . $_CB_database->getEscaped($newFileName) . "', avatarapproved=0 WHERE id=" . (int) $row->id); $redMsg = _UE_UPLOAD_PEND_APPROVAL; } else { $_CB_database->setQuery("UPDATE #__comprofiler SET avatar='" . $_CB_database->getEscaped($newFileName) . "', avatarapproved=1, lastupdatedate=". $_CB_database->Quote( $_CB_framework->dateDbOfNow() ) . " WHERE id=" . (int) $row->id); $redMsg = _UE_UPLOAD_SUCCESSFUL; } $_CB_database->query(); $_PLUGINS->trigger( 'onAfterUserAvatarUpdate', array(&$row,&$row,$isModerator,$newFileName) ); cbRedirectToProfile( $row->id, $redMsg ); } elseif ( $do == 'fromgallery' ) { // simple spoof check security cbSpoofCheck( 'userAvatar' ); if( ! $ueConfig['allowAvatarGallery'] ) { cbNotAuth(); return; } $newAvatar = cbGetParam( $_POST, 'newavatar', null ); if ( ( $newAvatar == '' ) || preg_match( '/[^-_a-zA-Z0-9.]/', $newAvatar ) || ( strpos( $newAvatar, '..' ) !== false ) ) { cbRedirectToProfile( $row->id, _UE_UPLOAD_ERROR_CHOOSE, 'userAvatar' ); } $_CB_database->setQuery( "UPDATE #__comprofiler SET avatar = " . $_CB_database->Quote( 'gallery/' . $newAvatar ) . ", avatarapproved=1, lastupdatedate = " . $_CB_database->Quote( $_CB_framework->dateDbOfNow() ) . " WHERE id = " . (int) $row->id); if( ! $_CB_database->query() ) { $msg = _UE_USER_PROFILE_NOT; }else { // delete old avatar: deleteAvatar( $row->avatar ); $msg = _UE_USER_PROFILE_UPDATED; } cbRedirectToProfile( $row->id, $msg ); } elseif ( $do == 'deleteavatar' ) { if ( $row->avatar != null && $row->avatar != "" ) { deleteAvatar( $row->avatar ); $_CB_database->setQuery("UPDATE #__comprofiler SET avatar=null, avatarapproved=1, lastupdatedate=" . $_CB_database->Quote( $_CB_framework->dateDbOfNow() ) . " WHERE id=" . (int) $row->id); $_CB_database->query(); } cbRedirectToProfile( $row->id, _USER_DETAILS_SAVE ); } }
function showConfig($option) { global $_CB_framework, $_CB_database, $ueConfig; global $_CB_adminpath; cbimport('cb.adminfilesystem'); $adminFS =& cbAdminFileSystem::getInstance(); $configfile = $_CB_adminpath . "/ue_config.php"; //Add code to check if config file is writeable. if ($adminFS->isUsingStandardPHP() && !is_writable($configfile)) { @chmod($configfile, 0766); $permission = is_writable($configfile); if (!$permission) { echo "<center><h1><font color=red>" . _UE_WARNING . "...</font></h1><BR>"; echo "<b>" . _UE_YOUR_CONFIG_FILE . ": {$configfile} <font color=red>" . _UE_IS_NOT_WRITABLE . "</font></b><br />"; echo "<b>" . _UE_NEED_TO_CHMOD_CONFIG . "</b></center><br /><br />"; } } $lists = array(); // make a standard yes/no list $yesno = array(); $yesno[] = moscomprofilerHTML::makeOption('0', _UE_NO); $yesno[] = moscomprofilerHTML::makeOption('1', _UE_YES); $admin_allowcbregistration = array(); $admin_allowcbregistration[] = moscomprofilerHTML::makeOption('0', _UE_REG_ALLOWREG_SAME_AS_GLOBAL); $admin_allowcbregistration[] = moscomprofilerHTML::makeOption('1', _UE_REG_ALLOWREG_YES); $conNotifyTypes = array(); $conNotifyTypes[] = moscomprofilerHTML::makeOption('0', _UE_NONE); $conNotifyTypes[] = moscomprofilerHTML::makeOption('1', CBTxt::T('Email')); $conNotifyTypes[] = moscomprofilerHTML::makeOption('2', CBTxt::T('PMS')); $conNotifyTypes[] = moscomprofilerHTML::makeOption('3', CBTxt::T('PMS+Email')); $dateformats = array(); $dateformats[] = moscomprofilerHTML::makeOption('Y/m/d', CBTxt::T('yyyy/mm/dd')); $dateformats[] = moscomprofilerHTML::makeOption('d/m/y', CBTxt::T('dd/mm/yy')); $dateformats[] = moscomprofilerHTML::makeOption('y/m/d', CBTxt::T('yy/mm/dd')); $dateformats[] = moscomprofilerHTML::makeOption('d/m/Y', CBTxt::T('dd/mm/yyyy')); $dateformats[] = moscomprofilerHTML::makeOption('m/d/y', CBTxt::T('mm/dd/yy')); $dateformats[] = moscomprofilerHTML::makeOption('m/d/Y', CBTxt::T('mm/dd/yyyy')); $dateformats[] = moscomprofilerHTML::makeOption('Y-m-d', CBTxt::T('yyyy-mm-dd')); $dateformats[] = moscomprofilerHTML::makeOption('d-m-y', CBTxt::T('dd-mm-yy')); $dateformats[] = moscomprofilerHTML::makeOption('y-m-d', CBTxt::T('yy-mm-dd')); $dateformats[] = moscomprofilerHTML::makeOption('d-m-Y', CBTxt::T('dd-mm-yyyy')); $dateformats[] = moscomprofilerHTML::makeOption('m-d-y', CBTxt::T('mm-dd-yy')); $dateformats[] = moscomprofilerHTML::makeOption('m-d-Y', CBTxt::T('mm-dd-yyyy')); $dateformats[] = moscomprofilerHTML::makeOption('Y.m.d', CBTxt::T('yyyy.mm.dd')); $dateformats[] = moscomprofilerHTML::makeOption('d.m.y', CBTxt::T('dd.mm.yy')); $dateformats[] = moscomprofilerHTML::makeOption('y.m.d', CBTxt::T('yy.mm.dd')); $dateformats[] = moscomprofilerHTML::makeOption('d.m.Y', CBTxt::T('dd.mm.yyyy')); $dateformats[] = moscomprofilerHTML::makeOption('m.d.y', CBTxt::T('mm.dd.yy')); $dateformats[] = moscomprofilerHTML::makeOption('m.d.Y', CBTxt::T('mm.dd.yyyy')); $calendartypes = array(); $calendartypes[] = moscomprofilerHTML::makeOption('2', _UE_CALENDAR_TYPE_DROPDOWN_POPUP); $calendartypes[] = moscomprofilerHTML::makeOption('1', _UE_CALENDAR_TYPE_POPUP); $nameformats = array(); $nameformats[] = moscomprofilerHTML::makeOption('1', _UE_REG_NAMEFORMAT_NAME_ONLY); $nameformats[] = moscomprofilerHTML::makeOption('2', _UE_REG_NAMEFORMAT_NAME_USERNAME); $nameformats[] = moscomprofilerHTML::makeOption('3', _UE_REG_NAMEFORMAT_USERNAME_ONLY); $nameformats[] = moscomprofilerHTML::makeOption('4', _UE_REG_NAMEFORMAT_USERNAME_NAME); $imgToolBox = new imgToolBox(); $imgToolBox->_IM_path = $ueConfig['im_path']; $imgToolBox->_NETPBM_path = $ueConfig['netpbm_path']; $imageLibs = $imgToolBox->getImageLibs(); $conversiontype = array(); if (array_key_exists('imagemagick', $imageLibs) || $ueConfig['conversiontype'] == '1') { $conversiontype[] = moscomprofilerHTML::makeOption('1', CBTxt::T('ImageMagick')); } if (array_key_exists('netpbm', $imageLibs) || $ueConfig['conversiontype'] == '2') { $conversiontype[] = moscomprofilerHTML::makeOption('2', CBTxt::T('NetPBM')); } if (array_key_exists('gd1', $imageLibs['gd']) || $ueConfig['conversiontype'] == '3') { $conversiontype[] = moscomprofilerHTML::makeOption('3', CBTxt::T('GD1 library')); } if (array_key_exists('gd2', $imageLibs['gd']) || $ueConfig['conversiontype'] == '4') { $conversiontype[] = moscomprofilerHTML::makeOption('4', CBTxt::T('GD2 library')); } $namestyles = array(); $namestyles[] = moscomprofilerHTML::makeOption('1', _UE_REG_NAMEFORMAT_SINGLE_FIELD); $namestyles[] = moscomprofilerHTML::makeOption('2', _UE_REG_NAMEFORMAT_TWO_FIELDS); $namestyles[] = moscomprofilerHTML::makeOption('3', _UE_REG_NAMEFORMAT_THREE_FIELDS); $emailhandling = array(); $emailhandling[] = moscomprofilerHTML::makeOption('1', _UE_REG_EMAILDISPLAY_EMAIL_ONLY); $emailhandling[] = moscomprofilerHTML::makeOption('2', _UE_REG_EMAILDISPLAY_EMAIL_W_MAILTO); $emailhandling[] = moscomprofilerHTML::makeOption('3', _UE_REG_EMAILDISPLAY_EMAIL_W_FORM); $emailhandling[] = moscomprofilerHTML::makeOption('4', _UE_REG_EMAILDISPLAY_EMAIL_NO); $emailreplyto = array(); $emailreplyto[] = moscomprofilerHTML::makeOption('1', _UE_A_FROM_USER); $emailreplyto[] = moscomprofilerHTML::makeOption('2', _UE_A_FROM_ADMIN); $email_checker = array(); $email_checker[] = moscomprofilerHTML::makeOption('0', _UE_NO); $email_checker[] = moscomprofilerHTML::makeOption('1', _UE_REG_EMAILCHECKER_VALID_EMAIL_ONLY); $email_checker[] = moscomprofilerHTML::makeOption('2', _UE_REG_EMAILCHECKER_NOT_REGISTERED_AND_VALID_EMAIL); $connectionDisplay = array(); $connectionDisplay[] = moscomprofilerHTML::makeOption('0', _UE_PUBLIC); $connectionDisplay[] = moscomprofilerHTML::makeOption('1', _UE_PRIVATE); $enableSpoofCheck = array(); $enableSpoofCheck[] = moscomprofilerHTML::makeOption('0', _UE_NO); $enableSpoofCheck[] = moscomprofilerHTML::makeOption('1', _UE_YES); $noVersionCheck = array(); $noVersionCheck[] = moscomprofilerHTML::makeOption('0', _UE_AUTOMATIC); $noVersionCheck[] = moscomprofilerHTML::makeOption('1', _UE_MANUAL); $userprofileEdits = array(); $userprofileEdits[] = moscomprofilerHTML::makeOption('0', _UE_NO); $userprofileEdits[] = moscomprofilerHTML::makeOption('1', _UE_MODERATORS_AND_ABOVE); //FIXME in CB 2.0: this conflicts with J1.6 ' registered group $userprofileEdits[] = moscomprofilerHTML::makeOption($_CB_framework->acl->mapGroupNamesToValues('Administrator'), _UE_ADMINS_AND_SUPERADMINS_ONLY); $userprofileEdits[] = moscomprofilerHTML::makeOption($_CB_framework->acl->mapGroupNamesToValues('Superadministrator'), _UE_SUPERADMINS_ONLY); $reg_show_icons_explain = array(); $reg_show_icons_explain[] = moscomprofilerHTML::makeOption('0', _UE_NO); $reg_show_icons_explain[] = moscomprofilerHTML::makeOption('1', _UE_TOP); $reg_show_icons_explain[] = moscomprofilerHTML::makeOption('2', _UE_BOTTOM); $reg_show_icons_explain[] = moscomprofilerHTML::makeOption('3', _UE_TOP_AND_BOTTOM); $icons_display = array(); $icons_display[] = moscomprofilerHTML::makeOption('0', _UE_NO); $icons_display[] = moscomprofilerHTML::makeOption('1', _UE_REQUIRED_ONLY); $icons_display[] = moscomprofilerHTML::makeOption('2', _UE_PROFILE_ONLY); $icons_display[] = moscomprofilerHTML::makeOption('3', _UE_REQUIRED_AND_PROFILE_ONLY); $icons_display[] = moscomprofilerHTML::makeOption('4', _UE_INFO_ONLY); $icons_display[] = moscomprofilerHTML::makeOption('5', _UE_REQUIRED_AND_INFO_ONLY); $icons_display[] = moscomprofilerHTML::makeOption('6', _UE_PROFILE_AND_INFO_ONLY); $icons_display[] = moscomprofilerHTML::makeOption('7', _UE_REQUIRED_PROFILE_AND_INFO); //TBD NEXT 9 LINES: CB 1.2 RC 2+4 + CB 1.2 specific : remove after ! if (!defined('_UE_USERNAME_OR_EMAIL')) { DEFINE('_UE_USERNAME_OR_EMAIL', 'Username or email'); } if (!defined('_UE_USERNAME_OR_AUTH')) { DEFINE('_UE_USERNAME_OR_AUTH', 'Username, email or enabled CMS authentication plugins'); } if (!defined('_UE_LOGIN_TYPE')) { DEFINE('_UE_LOGIN_TYPE', 'Login field type'); } if (!defined('_UE_LOGIN_TYPE_DESC')) { DEFINE('_UE_LOGIN_TYPE_DESC', 'Login can be by username + password, username or email + password, or email + password. The CB login module also adapts accordingly.'); } $login_type = array(); $login_type[] = moscomprofilerHTML::makeOption('0', _UE_USERNAME); $login_type[] = moscomprofilerHTML::makeOption('1', _UE_USERNAME_OR_EMAIL); $login_type[] = moscomprofilerHTML::makeOption('2', _UE_EMAIL); $login_type[] = moscomprofilerHTML::makeOption('3', _UE_USERNAME_OR_AUTH); $translation_debug = array(); $translation_debug[] = moscomprofilerHTML::makeOption('0', _UE_NO); $translation_debug[] = moscomprofilerHTML::makeOption('1', CBTxt::T("Display text markers")); $translation_debug[] = moscomprofilerHTML::makeOption('2', CBTxt::T("Display html and text markers")); $translation_debug[] = moscomprofilerHTML::makeOption('3', CBTxt::T("Display markers and list untranslated strings")); $translation_debug[] = moscomprofilerHTML::makeOption('4', CBTxt::T("Display markers and list all strings")); $usedivs = array(); $usedivs[] = moscomprofilerHTML::makeOption('0', CBTxt::T("Use tables")); $usedivs[] = moscomprofilerHTML::makeOption('1', CBTxt::T("Use divs (table-less output)")); // ensure user can't add group higher than themselves $gtree = $_CB_framework->acl->get_groups_below_me(); $gtree2 = array(); $gtree2[] = moscomprofilerHTML::makeOption(-2, '- ' . _UE_GROUPS_EVERYBODY . ' -'); // '- Everybody -' $gtree2[] = moscomprofilerHTML::makeOption(-1, '- ' . _UE_GROUPS_ALL_REG_USERS . ' -'); // '- All Registered Users -' $gtree2 = array_merge($gtree2, $_CB_framework->acl->get_group_children_tree(null, 'USERS', false)); // Fix initial configuration of gid 0: $mygrps = array(); if ($gtree) { foreach ($gtree as $treegrp) { $mygrps[] = $treegrp->value; } } if (!isset($ueConfig['imageApproverGid']) || $ueConfig['imageApproverGid'] == '0' || !in_array($ueConfig['imageApproverGid'], $mygrps)) { $image_approval = $_CB_framework->acl->mapGroupNamesToValues('Administrator'); // Joomla 1.6 super-admin to fix the default ueConfig for 1.6. } else { $image_approval = $ueConfig['imageApproverGid']; } $mygtree2 = array(); foreach ($gtree2 as $treegrp) { $mygtree2[] = $treegrp->value; } if (!isset($ueConfig['allow_profileviewbyGID']) || $ueConfig['allow_profileviewbyGID'] == '0' || !in_array($ueConfig['allow_profileviewbyGID'], $mygtree2)) { $allow_profileviewbyGID = $_CB_framework->acl->mapGroupNamesToValues('Administrator'); // Joomla 1.6 super-admin to fix the default ueConfig for 1.6. } else { $allow_profileviewbyGID = $ueConfig['allow_profileviewbyGID']; } $lists['imageApproverGid'] = moscomprofilerHTML::selectList($gtree, 'cfg_imageApproverGid', '', 'value', 'text', $image_approval, 2, false, false); $lists['allow_profileviewbyGID'] = moscomprofilerHTML::selectList($gtree2, 'cfg_allow_profileviewbyGID', '', 'value', 'text', $allow_profileviewbyGID, 2, false, false); //$lists['allow_listviewbyGID']=moscomprofilerHTML::selectList( $gtree2, 'cfg_allow_listviewbyGID', 'size="4"', 'value', 'text', $ueConfig['allow_listviewbyGID'], 2 ); // registered users only $tempdir = array(); $_CB_database->setQuery("SELECT `name`,`folder` FROM `#__comprofiler_plugin` WHERE `type`='templates' AND `published`=1 ORDER BY ordering"); //echo $_CB_database->getQuery(); $templates = $_CB_database->loadObjectList(); foreach ($templates as $template) { $tempdir[] = moscomprofilerHTML::makeOption($template->folder, $template->name); } /* require($_CB_framework->getCfg('absolute_path').'/components/com_comprofiler/plugin/user/plug_yancintegration/yanc.php'); $getNewslettersTab= new getNewslettersTab(); $newslettersList = $getNewslettersTab->getNewslettersList(); $newslettersRegList = array(); if ($newslettersList !== false) { foreach ($newslettersList AS $nl) { $newslettersRegList[] = moscomprofilerHTML::makeOption( $nl->id, $nl->list_name); } } */ $cbFielfs = new cbFields(); $badHtmlFilter =& $cbFielfs->getInputFilter(array(), array(), 1, 1); $lists['_filteredbydefault'] = implode(' ', $badHtmlFilter->tagBlacklist); if (!isset($ueConfig['html_filter_allowed_tags'])) { $ueConfig['html_filter_allowed_tags'] = ''; } $lists['allow_email_display'] = moscomprofilerHTML::selectList($emailhandling, 'cfg_allow_email_display', 'class="inputbox" size="1"', 'value', 'text', $ueConfig['allow_email_display'], 2); $lists['allow_email_replyto'] = moscomprofilerHTML::selectList($emailreplyto, 'cfg_allow_email_replyto', 'class="inputbox" size="1"', 'value', 'text', isset($ueConfig['allow_email_replyto']) ? $ueConfig['allow_email_replyto'] : '1', 2); $lists['name_format'] = moscomprofilerHTML::selectList($nameformats, 'cfg_name_format', 'class="inputbox" size="1"', 'value', 'text', $ueConfig['name_format'], 2); $lists['name_style'] = moscomprofilerHTML::selectList($namestyles, 'cfg_name_style', 'class="inputbox" size="1"', 'value', 'text', $ueConfig['name_style'], 2); $lists['date_format'] = moscomprofilerHTML::selectList($dateformats, 'cfg_date_format', 'class="inputbox" size="1"', 'value', 'text', $ueConfig['date_format'], 2); $lists['calendar_type'] = moscomprofilerHTML::selectList($calendartypes, 'cfg_calendar_type', 'class="inputbox" size="1"', 'value', 'text', isset($ueConfig['calendar_type']) ? $ueConfig['calendar_type'] : '2', 2); $lists['usernameedit'] = moscomprofilerHTML::selectList($yesno, 'cfg_usernameedit', 'class="inputbox" size="1"', 'value', 'text', $ueConfig['usernameedit'], 2); $lists['allow_profilelink'] = moscomprofilerHTML::selectList($yesno, 'cfg_allow_profilelink', 'class="inputbox" size="1"', 'value', 'text', $ueConfig['allow_profilelink'], 2); $lists['allow_email'] = moscomprofilerHTML::selectList($yesno, 'cfg_allow_email', 'class="inputbox" size="1"', 'value', 'text', $ueConfig['allow_email'], 2); $lists['allow_onlinestatus'] = moscomprofilerHTML::selectList($yesno, 'cfg_allow_onlinestatus', 'class="inputbox" size="1"', 'value', 'text', $ueConfig['allow_onlinestatus'], 2); $lists['allow_website'] = moscomprofilerHTML::selectList($yesno, 'cfg_allow_website', 'class="inputbox" size="1"', 'value', 'text', $ueConfig['allow_website'], 2); $lists['icons_display'] = moscomprofilerHTML::selectList($icons_display, 'cfg_icons_display', 'class="inputbox" size="1"', 'value', 'text', isset($ueConfig['icons_display']) ? $ueConfig['icons_display'] : '7', 2); $lists['login_type'] = moscomprofilerHTML::selectList($login_type, 'cfg_login_type', 'class="inputbox" size="1"', 'value', 'text', isset($ueConfig['login_type']) ? $ueConfig['login_type'] : '0', 2); $lists['reg_enable_toc'] = moscomprofilerHTML::selectList($yesno, 'cfg_reg_enable_toc', 'class="inputbox" size="1"', 'value', 'text', $ueConfig['reg_enable_toc'], 2); $lists['admin_allowcbregistration'] = moscomprofilerHTML::selectList($admin_allowcbregistration, 'cfg_reg_admin_allowcbregistration', 'class="inputbox" size="1"', 'value', 'text', isset($ueConfig['reg_admin_allowcbregistration']) ? $ueConfig['reg_admin_allowcbregistration'] : '0', 2); $lists['emailpass'] = moscomprofilerHTML::selectList($yesno, 'cfg_emailpass', 'class="inputbox" size="1"', 'value', 'text', isset($ueConfig['emailpass']) ? $ueConfig['emailpass'] : '******', 2); $lists['admin_approval'] = moscomprofilerHTML::selectList($yesno, 'cfg_reg_admin_approval', 'class="inputbox" size="1"', 'value', 'text', $ueConfig['reg_admin_approval'], 2); $lists['confirmation'] = moscomprofilerHTML::selectList($yesno, 'cfg_reg_confirmation', 'class="inputbox" size="1"', 'value', 'text', $ueConfig['reg_confirmation'], 2); $lists['reg_username_checker'] = moscomprofilerHTML::selectList($yesno, 'cfg_reg_username_checker', 'class="inputbox" size="1"', 'value', 'text', isset($ueConfig['reg_username_checker']) ? $ueConfig['reg_username_checker'] : '0', 2); $lists['reg_email_checker'] = moscomprofilerHTML::selectList($email_checker, 'cfg_reg_email_checker', 'class="inputbox" size="1"', 'value', 'text', isset($ueConfig['reg_email_checker']) ? $ueConfig['reg_email_checker'] : '0', 2); $lists['reg_show_login_on_page'] = moscomprofilerHTML::selectList($yesno, 'cfg_reg_show_login_on_page', 'class="inputbox" size="1"', 'value', 'text', isset($ueConfig['reg_show_login_on_page']) ? $ueConfig['reg_show_login_on_page'] : '0', 2); $lists['reg_show_icons_explain'] = moscomprofilerHTML::selectList($reg_show_icons_explain, 'cfg_reg_show_icons_explain', 'class="inputbox" size="1"', 'value', 'text', isset($ueConfig['reg_show_icons_explain']) ? $ueConfig['reg_show_icons_explain'] : '3', 2); $lists['allowAvatar'] = moscomprofilerHTML::selectList($yesno, 'cfg_allowAvatar', 'class="inputbox" size="1"', 'value', 'text', $ueConfig['allowAvatar'], 2); $lists['allowAvatarUpload'] = moscomprofilerHTML::selectList($yesno, 'cfg_allowAvatarUpload', 'class="inputbox" size="1"', 'value', 'text', $ueConfig['allowAvatarUpload'], 2); $lists['avatarResizeAlways'] = moscomprofilerHTML::selectList($yesno, 'cfg_avatarResizeAlways', 'class="inputbox" size="1"', 'value', 'text', isset($ueConfig['avatarResizeAlways']) ? $ueConfig['avatarResizeAlways'] : '1', 2); $lists['allowAvatarGallery'] = moscomprofilerHTML::selectList($yesno, 'cfg_allowAvatarGallery', 'class="inputbox" size="1"', 'value', 'text', $ueConfig['allowAvatarGallery'], 2); $lists['avatarUploadApproval'] = moscomprofilerHTML::selectList($yesno, 'cfg_avatarUploadApproval', 'class="inputbox" size="1"', 'value', 'text', $ueConfig['avatarUploadApproval'], 2); $lists['allowUserReports'] = moscomprofilerHTML::selectList($yesno, 'cfg_allowUserReports', 'class="inputbox" size="1"', 'value', 'text', $ueConfig['allowUserReports'], 2); $lists['allowModeratorsUserEdit'] = moscomprofilerHTML::selectList($userprofileEdits, 'cfg_allowModeratorsUserEdit', 'class="inputbox" size="1"', 'value', 'text', isset($ueConfig['allowModeratorsUserEdit']) ? $ueConfig['allowModeratorsUserEdit'] : '0', 2); $lists['allowUserBanning'] = moscomprofilerHTML::selectList($yesno, 'cfg_allowUserBanning', 'class="inputbox" size="1"', 'value', 'text', $ueConfig['allowUserBanning'], 2); $lists['adminrequiredfields'] = moscomprofilerHTML::selectList($yesno, 'cfg_adminrequiredfields', 'class="inputbox" size="1"', 'value', 'text', $ueConfig['adminrequiredfields'], 2); $lists['moderatorEmail'] = moscomprofilerHTML::selectList($yesno, 'cfg_moderatorEmail', 'class="inputbox" size="1"', 'value', 'text', $ueConfig['moderatorEmail'], 2); $lists['allowModUserApproval'] = moscomprofilerHTML::selectList($yesno, 'cfg_allowModUserApproval', 'class="inputbox" size="1"', 'value', 'text', $ueConfig['allowModUserApproval'], 2); $lists['templatedir'] = moscomprofilerHTML::selectList($tempdir, 'cfg_templatedir', 'class="inputbox" size="1"', 'value', 'text', $ueConfig['templatedir'], 2); $lists['showEmptyTabs'] = moscomprofilerHTML::selectList($yesno, 'cfg_showEmptyTabs', 'class="inputbox" size="1"', 'value', 'text', isset($ueConfig['showEmptyTabs']) ? $ueConfig['showEmptyTabs'] : 0, 2); $lists['showEmptyFields'] = moscomprofilerHTML::selectList($yesno, 'cfg_showEmptyFields', 'class="inputbox" size="1"', 'value', 'text', isset($ueConfig['showEmptyFields']) ? $ueConfig['showEmptyFields'] : 0, 2); $lists['nesttabs'] = moscomprofilerHTML::selectList($yesno, 'cfg_nesttabs', 'class="inputbox" size="1"', 'value', 'text', $ueConfig['nesttabs'], 2); $lists['xhtmlComply'] = moscomprofilerHTML::selectList($yesno, 'cfg_xhtmlComply', 'class="inputbox" size="1"', 'value', 'text', $ueConfig['xhtmlComply'], 2); $lists['frontend_userparams'] = moscomprofilerHTML::selectList($yesno, 'cfg_frontend_userparams', 'class="inputbox" size="1"', 'value', 'text', isset($ueConfig['frontend_userparams']) ? $ueConfig['frontend_userparams'] : (in_array($_CB_framework->getCfg("frontend_userparams"), array('1', null)) ? '1' : '0'), 2); $lists['use_divs'] = moscomprofilerHTML::selectList($usedivs, 'cfg_use_divs', 'class="inputbox" size="1"', 'value', 'text', isset($ueConfig['use_divs']) ? $ueConfig['use_divs'] : 0, 2); $lists['conversiontype'] = moscomprofilerHTML::selectList($conversiontype, 'cfg_conversiontype', 'class="inputbox" size="1"', 'value', 'text', $ueConfig['conversiontype'], 2); $lists['allowConnections'] = moscomprofilerHTML::selectList($yesno, 'cfg_allowConnections', 'class="inputbox" size="1"', 'value', 'text', $ueConfig['allowConnections'], 2); $lists['useMutualConnections'] = moscomprofilerHTML::selectList($yesno, 'cfg_useMutualConnections', 'class="inputbox" size="1"', 'value', 'text', $ueConfig['useMutualConnections'], 2); $lists['autoAddConnections'] = moscomprofilerHTML::selectList($yesno, 'cfg_autoAddConnections', 'class="inputbox" size="1"', 'value', 'text', $ueConfig['autoAddConnections'], 2); $lists['conNotifyTypes'] = moscomprofilerHTML::selectList($conNotifyTypes, 'cfg_conNotifyType', 'class="inputbox" size="1"', 'value', 'text', $ueConfig['conNotifyType'], 2); $lists['connectionDisplay'] = moscomprofilerHTML::selectList($connectionDisplay, 'cfg_connectionDisplay', 'class="inputbox" size="1"', 'value', 'text', $ueConfig['connectionDisplay'], 2); $lists['connectionPath'] = moscomprofilerHTML::selectList($yesno, 'cfg_connectionPath', 'class="inputbox" size="1"', 'value', 'text', $ueConfig['connectionPath'], 2); $lists['enableSpoofCheck'] = moscomprofilerHTML::selectList($enableSpoofCheck, 'cfg_enableSpoofCheck', 'class="inputbox" size="1"', 'value', 'text', isset($ueConfig['enableSpoofCheck']) ? $ueConfig['enableSpoofCheck'] : '1', 2); $lists['noVersionCheck'] = moscomprofilerHTML::selectList($noVersionCheck, 'cfg_noVersionCheck', 'class="inputbox" size="1"', 'value', 'text', isset($ueConfig['noVersionCheck']) ? $ueConfig['noVersionCheck'] : '0', 2); $lists['translations_debug'] = moscomprofilerHTML::selectList($translation_debug, 'cfg_translations_debug', 'class="inputbox" size="1"', 'value', 'text', isset($ueConfig['translations_debug']) ? $ueConfig['translations_debug'] : '0', 2); HTML_comprofiler::showConfig($ueConfig, $lists, $option); }
/** * Mutator: * Prepares field data commit * Override * * @param moscomprofilerFields $field * @param moscomprofilerUser $user RETURNED populated: touch only variables related to saving this field (also when not validating for showing re-edit) * @param array $postdata Typically $_POST (but not necessarily), filtering required. * @param string $reason 'edit' for save user edit, 'register' for save registration */ function commitFieldDataSave(&$field, &$user, &$postdata, $reason) { global $_CB_framework, $ueConfig, $_PLUGINS, $_FILES; $col = $field->name; $colapproved = $col . 'approved'; $col_choice = $col . '__choice'; $col_file = $col . '__file'; $choice = stripslashes(cbGetParam($postdata, $col_choice)); switch ($choice) { case 'upload': $value = isset($_FILES[$col_file]) ? $_FILES[$col_file] : null; if ($this->validate($field, $user, $choice, $value, $postdata, $reason)) { $_PLUGINS->loadPluginGroup('user'); $isModerator = isModerator($_CB_framework->myId()); $_PLUGINS->trigger('onBeforeUserAvatarUpdate', array(&$user, &$user, $isModerator, &$value['tmp_name'])); if ($_PLUGINS->is_errors()) { $this->_setErrorMSG($_PLUGINS->getErrorMSG()); } $imgToolBox = new imgToolBox(); $imgToolBox->_conversiontype = $ueConfig['conversiontype']; $imgToolBox->_IM_path = $ueConfig['im_path']; $imgToolBox->_NETPBM_path = $ueConfig['netpbm_path']; $imgToolBox->_maxsize = $this->_getImageFieldParam($field, 'avatarSize'); $imgToolBox->_maxwidth = $this->_getImageFieldParam($field, 'avatarWidth'); $imgToolBox->_maxheight = $this->_getImageFieldParam($field, 'avatarHeight'); $imgToolBox->_thumbwidth = $this->_getImageFieldParam($field, 'thumbWidth'); $imgToolBox->_thumbheight = $this->_getImageFieldParam($field, 'thumbHeight'); $imgToolBox->_debug = 0; $allwaysResize = isset($ueConfig['avatarResizeAlways']) ? $ueConfig['avatarResizeAlways'] : 1; $fileNameInDir = ($col == 'avatar' ? '' : $col . '_') . uniqid($user->id . '_'); $newFileName = $imgToolBox->processImage($value, $fileNameInDir, $_CB_framework->getCfg('absolute_path') . '/images/comprofiler/', 0, 0, 1, $allwaysResize); if (!$newFileName) { $this->_setValidationError($field, $user, $reason, $imgToolBox->_errMSG); // needed if uploaded file fails in imgToolbox //BB: maybe this needed instead ? : // $this->_setErrorMSG( $imgToolBox->_errMSG ); return; } if (isset($user->{$col}) && !($col == 'avatar' && $ueConfig['avatarUploadApproval'] == 1 && $isModerator == 0)) { // if auto-approved: //TBD: else need to log update on image approval ! $this->_logFieldUpdate($field, $user, $reason, $user->{$col}, $newFileName); } if (isset($user->{$col}) && $user->{$col} != '') { deleteAvatar($user->{$col}); } if ($col == 'avatar' && $ueConfig['avatarUploadApproval'] == 1 && $isModerator == 0) { $cbNotification = new cbNotification(); $cbNotification->sendToModerators(cbReplaceVars(_UE_IMAGE_ADMIN_SUB, $user), cbReplaceVars(_UE_IMAGE_ADMIN_MSG, $user)); $user->{$col} = $newFileName; $user->{$colapproved} = 0; } else { $user->{$col} = $newFileName; $user->{$colapproved} = 1; } $_PLUGINS->trigger('onAfterUserAvatarUpdate', array(&$user, &$user, $isModerator, $newFileName)); } break; } }
/** * This function is called when a profile owner sumbits a new gallery item * It should perform all validations and upload the file to the correct storage area and * then call the _pgSave() function * $this->_pgProcessNewItem($user->id,$pgautopublish,$pgtotalitems,$pgtotalsize); * * @access private * @param int $id gallery item id * @param object mosUser reflecting the user being displayed */ function _pgProcessNewItem($id,&$user){ global $ueConfig,$_CB_framework; $PGItemAbsolutePath=$_CB_framework->GetCfg( 'absolute_path' ).'/images/comprofiler/plug_profilegallery/'; $html2return = ""; $userid = $user->id; // Get all relevant tab parameters and user settings $tabparams = $this->_pgGetTabParameters($user); $pgitemfilename = $this->_getPagingParamName("pgitemfilename"); $pgitemtitle = $_POST[$this->_getPagingParamName("pgitemtitle")]; $pgitemdescription = $_POST[$this->_getPagingParamName("pgitemdescription")]; $pgitemorder = "999"; // default setting for new feature $upload_pgitem_name = $_FILES[$pgitemfilename]['name']; $upload_pgitem_tmpname = $_FILES[$pgitemfilename]["tmp_name"]; $upload_pgitem_size = $_FILES[$pgitemfilename]["size"]; $upload_pgitem_nameparts = explode(".",$upload_pgitem_name); $upload_pgitem_ext = $upload_pgitem_nameparts[count($upload_pgitem_nameparts)-1]; $upload_pgitem_baseparts = explode("." . $upload_pgitem_ext,$upload_pgitem_name); $upload_pgitem_base = $upload_pgitem_baseparts[0]; $upload_pgitem_base = str_replace(" ", "_", $upload_pgitem_base); $pgitemtype = $upload_pgitem_ext = strtolower($upload_pgitem_ext); // Get last item id for this user $lastitemid = $this->_pgLastItemId($userid); if ($lastitemid != $_POST[$this->_getPagingParamName("pglastitemid")]) { // reload catch @unlink($upload_pgitem_tmpname); $html2return .= '<font color="red">' . CBTxt::Th("No item uploaded!") . "</font><br />"; return $html2return; } // Check for valid upload! if (filesize($upload_pgitem_tmpname) == 0){ $html2return .= '<font color="red">' . CBTxt::Th("No item uploaded!") . "</font><br />"; return $html2return; } list(/*$in_width*/, /*$in_height*/, $in_type, /*$in_attr*/) = getimagesize($upload_pgitem_tmpname); // First check size of uploaded item and stop right away if size has exceeded // maximum allowable if ($upload_pgitem_size > $tabparams["cbpguploadsize"] * 1024) { $html2return .= '<font color="red">' . CBTxt::Th("Maximum allowable single upload size exceeded - gallery item rejected") . "</font><br />"; return $html2return; } // Generate random base name for upload $random_upload_pgitem_base = "pg_" . mt_rand(); // Check file extension type $inimagelist = in_array($upload_pgitem_ext,explode(",",$tabparams["pgimagefiletypelist"])); $infilelist = in_array($upload_pgitem_ext,explode(",",$tabparams["pgotherfiletypelist"])); $consider_imgToolBox = 0; switch ($tabparams["pgopmode"]) { case 'IMAGEMODE': if ( !$inimagelist) { $html2return .= '<font color="red">' . CBTxt::Th("File extension not authorized") . "</font><br />"; return $html2return; } $consider_imgToolBox = 1; break; case 'FILEMODE' : if ( !$infilelist) { $html2return .= '<font color="red">' . CBTxt::Th("File extension not authorized") . "</font><br />"; return $html2return; } $consider_imgToolBox = 0; break; case 'MIXEDMODE' : if ( !$infilelist && !$inimagelist) { $html2return .= '<font color="red">' . CBTxt::Th("File extension not authorized") . "</font><br />"; return $html2return; } if (!$infilelist) { $consider_imgToolBox = 1; } break; default : $consider_imgToolBox = 0; break; } // Categorize uploaded item based on type attribute $imgToolBox_needed_typecheck = 0; if ($consider_imgToolBox) { switch ($in_type) { case 1: // GIF case 2: // JPG case 3: // PNG $imgToolBox_needed_typecheck = 1; break; default: // Other TYPES $imgToolBox_needed_typecheck = 0; if ($pgitemtype == "gif" || $pgitemtype == "jpg" || $pgitemtype == "png") { // trying to upload non image as image extension $html2return .= '<font color="red">' . CBTxt::Th("Bad File - Item rejected") . "</font><br />"; return $html2return; } break; } } // determine if user storage repository has been created (from some previous upload) // if not create it now and give it proper permissions! $mode = octdec( $_CB_framework->getCfg( 'dirperms' ) ); if ( ! $mode ) { $mode = 0755; } $PGItemAbsoluteUserPath = $PGItemAbsolutePath . $userid . "/"; if(!file_exists($PGItemAbsoluteUserPath)){ if(mkdir($PGItemAbsolutePath . $userid,$mode)) { chmod( $PGItemAbsolutePath . $userid , $mode); IF(copy($PGItemAbsolutePath . "index.html", $PGItemAbsoluteUserPath . "index.html")) { // Success action or message would go here } ELSE { //print '<font color="red">' . CBTxt::Th("Failed to be add index.html to the plugin gallery - please contact administrator!") . "</font><br />"; $this->_setError(CBTxt::Th("Failed to be add index.html to the plugin gallery - please contact administrator!")); } $html2return .= "<font color=green>" . CBTxt::Th("Gallery repository successfully created!") . "</font><br />"; } else { $html2return .= '<font color="red">' . CBTxt::Th("Gallery repository could not be created! Please notify system admin!") . "</font><br />"; return $html2return; } } $final_uploaded_fullfilename = $PGItemAbsoluteUserPath . $random_upload_pgitem_base . "." . $upload_pgitem_ext; $final_uploaded_tn_fullfilename = $PGItemAbsoluteUserPath . "tn" . $random_upload_pgitem_base . "." . $upload_pgitem_ext; $final_uploaded_filename = $random_upload_pgitem_base . "." . $upload_pgitem_ext; // Check to see if filename is unique and make it unique if not $unique_suffix = 1; $new_upload_pgitem_base = $random_upload_pgitem_base; while (file_exists($final_uploaded_fullfilename)) { $new_upload_pgitem_base = $random_upload_pgitem_base . "_" . $unique_suffix++; $final_uploaded_fullfilename = $PGItemAbsoluteUserPath . $new_upload_pgitem_base . "." . $upload_pgitem_ext; $final_uploaded_tn_fullfilename = $PGItemAbsoluteUserPath . "tn" . $new_upload_pgitem_base . "." . $upload_pgitem_ext; } $final_uploaded_filename = $new_upload_pgitem_base . "." . $upload_pgitem_ext; if ($imgToolBox_needed_typecheck) { $imgToolBox = new imgToolBox(); $imgToolBox->_conversiontype=$ueConfig['conversiontype']; $imgToolBox->_IM_path = $ueConfig['im_path']; $imgToolBox->_NETPBM_path = $ueConfig['netpbm_path']; $imgToolBox->_maxsize = $tabparams["cbpguploadsize"]; $imgToolBox->_maxwidth = $tabparams["pgmaxwidth"]; $imgToolBox->_maxheight = $tabparams["pgmaxheight"]; $imgToolBox->_thumbwidth = $tabparams["pgtnmaxwidth"]; $imgToolBox->_thumbheight = $tabparams["pgtnmaxheight"]; $imgToolBox->_debug = 0; if ( ! ( $imgToolBox->processImage($_FILES[$this->_getPagingParamName("pgitemfilename")],$new_upload_pgitem_base,$PGItemAbsoluteUserPath, 0, 0, 1 ) ) ) { $html2return .= '<font color="red">' . CBTxt::Th("Image ToolBox failure! - Please notify system admin - ") . $imgToolBox->_errMSG . "</font><br />"; return $html2return; } } else { if (!move_uploaded_file($upload_pgitem_tmpname,$final_uploaded_fullfilename)) { $html2return .= '<font color="red">' . CBTxt::Th("The file upload has failed! - Please notify your system admin!") . "</font><br />"; return $html2return; } } chmod($final_uploaded_fullfilename, 0755); $pgitemsize = filesize($final_uploaded_fullfilename); if ($tabparams["cbpgtotalsize"] + $pgitemsize > $tabparams["cbpgtotalquotasize"] * 1024) { $html2return .= '<font color="red">' . CBTxt::Th("This file would cause you to exceed you quota - gallery item rejected") . "</font><br />"; @unlink($final_uploaded_fullfilename); if (file_exists($final_uploaded_tn_fullfilename)) @unlink($final_uploaded_tn_fullfilename); return $html2return; } $new_cbpgtotalsize = $tabparams["cbpgtotalsize"] + $pgitemsize; $new_cbpgtotalitems = $tabparams["cbpgtotalitems"] + 1; // if we get here it means that we have validated the new entry // and should finally save it to the database $this->_pgSave($id,$pgitemorder,$pgitemtype,$final_uploaded_filename,$pgitemsize,$pgitemtitle,$pgitemdescription,$user,$new_cbpgtotalitems,$new_cbpgtotalsize,$tabparams["cbpgautopublish"],$tabparams["cbpgautoapprove"],$tabparams["pgmoderatornotification"]); $successmessage = ""; if (!$imgToolBox_needed_typecheck) { $successmessage = "<font color=green>" . sprintf(CBTxt::Th('The file %1$s has been successfully uploaded!'),$final_uploaded_filename) . "</font><br />"; } else { $successmessage .= "<font color=green>" . sprintf(CBTxt::Th('The file %1$s has been successfully uploaded and tn%1$s thumbnail created!'),$final_uploaded_filename, $successmessage) . "</font><br />"; } if (!$tabparams["cbpgautoapprove"]) { $successmessage .= "<br />" . "<font color=green>" . CBTxt::Th("Your Gallery item is pending approval by a site moderator.") . "</font><br />"; } return $successmessage; }
/** * prepares and stores group logo * * @param string $file * @return string */ public function storeLogo( $file ) { global $ueConfig; if ( isset( $_FILES[$file]['tmp_name'] ) && ! empty( $_FILES[$file]['tmp_name'] ) && ( $_FILES[$file]['error'] == 0 ) && ( is_uploaded_file( $_FILES[$file]['tmp_name'] ) ) ) { $plugin = cbgjClass::getPlugin(); $logoSize = $plugin->params->get( 'logo_size', 2000 ); $logoWidth = $plugin->params->get( 'logo_width', 200 ); $logoHeight = $plugin->params->get( 'logo_height', 500 ); $logoThumbwidth = $plugin->params->get( 'logo_thumbwidth', 60 ); $logoThumbheight = $plugin->params->get( 'logo_thumbheight', 86 ); $categoryPath = $plugin->imgsAbs . '/' . (int) $this->get( 'category' ); $groupPath = $categoryPath . '/' . (int) $this->get( 'id' ); $mode = cbgjClass::getFilePerms(); cbgjClass::createFolderPath( $plugin->imgsAbs, $categoryPath, $groupPath ); $allwaysResize = ( isset( $ueConfig['avatarResizeAlways'] ) ? $ueConfig['avatarResizeAlways'] : 1 ); $fileNameInDir = preg_replace( '/[^-a-zA-Z0-9_]/', '', uniqid( (int) $this->get( 'user_id' ) . '_' ) ); $imgToolBox = new imgToolBox(); $imgToolBox->_conversiontype = $ueConfig['conversiontype']; $imgToolBox->_IM_path = $ueConfig['im_path']; $imgToolBox->_NETPBM_path = $ueConfig['netpbm_path']; $imgToolBox->_maxsize = (int) ( $logoSize ? $logoSize : $ueConfig['avatarSize'] ); $imgToolBox->_maxwidth = (int) ( $logoWidth ? $logoWidth : $ueConfig['avatarWidth'] ); $imgToolBox->_maxheight = (int) ( $logoHeight ? $logoHeight : $ueConfig['avatarHeight'] ); $imgToolBox->_thumbwidth = (int) ( $logoThumbwidth ? $logoThumbwidth : $ueConfig['thumbWidth'] ); $imgToolBox->_thumbheight = (int) ( $logoThumbheight ? $logoThumbheight : $ueConfig['thumbHeight'] ); $imgToolBox->_debug = 0; $newFileName = $imgToolBox->processImage( $_FILES[$file], $fileNameInDir, $groupPath . '/', 0, 0, 1, $allwaysResize ); if ( $newFileName ) { if ( $this->get( 'logo' ) ) { if ( file_exists( $groupPath . '/' . $this->getCleanLogo() ) ) { @unlink( $groupPath . '/' . $this->getCleanLogo() ); } if ( file_exists( $groupPath . '/tn' . $this->getCleanLogo() ) ) { @unlink( $groupPath . '/tn' . $this->getCleanLogo() ); } } $this->set( 'logo', $newFileName ); @chmod( $groupPath . '/', $this->getCleanLogo(), $mode ); @chmod( $groupPath . '/tn', $this->getCleanLogo(), $mode ); $this->store(); } else { $this->set( '_error', CBTxt::T( str_replace( 'Error: ', '', $imgToolBox->_errMSG ) ) ); } } elseif ( $this->get( 'logo' ) && isset( $this->_previousCategory ) && ( $this->_previousCategory != $this->get( 'category' ) ) ) { $plugin = cbgjClass::getPlugin(); $categoryPath = $plugin->imgsAbs . '/' . (int) $this->get( 'category' ); $groupPath = $categoryPath . '/' . (int) $this->get( 'id' ); $oldCategoryPath = $plugin->imgsAbs . '/' . (int) $this->_previousCategory; $oldGroupPath = $oldCategoryPath . '/' . (int) $this->get( 'id' ); if ( file_exists( $oldGroupPath ) ) { cbgjClass::createFolderPath( $plugin->imgsAbs, $categoryPath, $groupPath ); cbgjClass::copyDirectory( $oldGroupPath, $groupPath ); cbgjClass::deleteDirectory( $oldGroupPath ); } } }
/** * Prepares field data for saving to database (safe transfer from $postdata to $user) * Override * * @param moscomprofilerFields $field * @param moscomprofilerUser $user RETURNED populated: touch only variables related to saving this field (also when not validating for showing re-edit) * @param array $postdata Typically $_POST (but not necessarily), filtering required. * @param string $reason 'edit' for save profile edit, 'register' for registration, 'search' for searches */ function prepareFieldDataSave( &$field, &$user, &$postdata, $reason ) { global $_CB_framework, $ueConfig, $_PLUGINS, $_FILES; $this->_prepareFieldMetaSave( $field, $user, $postdata, $reason ); $col = $field->name; $colapproved = $col . 'approved'; $col_choice = $col . '__choice'; $col_file = $col . '__file'; $col_gallery = $col . '__gallery'; $choice = stripslashes( cbGetParam( $postdata, $col_choice ) ); switch ( $choice ) { case 'upload': $value = ( isset( $_FILES[$col_file] ) ? $_FILES[$col_file] : null ); if ( $this->validate( $field, $user, $choice, $value, $postdata, $reason ) ) { $_PLUGINS->loadPluginGroup( 'user' ); $isModerator = isModerator( $_CB_framework->myId() ); $_PLUGINS->trigger( 'onBeforeUserAvatarUpdate', array( &$user, &$user, $isModerator, &$value['tmp_name'] ) ); if ( $_PLUGINS->is_errors() ) { $this->_setErrorMSG( $_PLUGINS->getErrorMSG() ); } $imgToolBox = new imgToolBox(); $imgToolBox->_conversiontype = $ueConfig['conversiontype']; $imgToolBox->_IM_path = $ueConfig['im_path']; $imgToolBox->_NETPBM_path = $ueConfig['netpbm_path']; $imgToolBox->_maxsize = $this->_getImageFieldParam( $field, 'avatarSize' ); $imgToolBox->_maxwidth = $this->_getImageFieldParam( $field, 'avatarWidth' ); $imgToolBox->_maxheight = $this->_getImageFieldParam( $field, 'avatarHeight' ); $imgToolBox->_thumbwidth = $this->_getImageFieldParam( $field, 'thumbWidth' ); $imgToolBox->_thumbheight = $this->_getImageFieldParam( $field, 'thumbHeight' ); $imgToolBox->_debug = 0; $allwaysResize = ( isset( $ueConfig['avatarResizeAlways'] ) ? $ueConfig['avatarResizeAlways'] : 1 ); $fileNameInDir = ( $col == 'avatar' ? '' : $col . '_' ) . uniqid( $user->id . '_' ); $newFileName = $imgToolBox->processImage( $value, $fileNameInDir, $_CB_framework->getCfg( 'absolute_path' ) . '/images/comprofiler/', 0, 0, 1, $allwaysResize ); if ( ! $newFileName ) { $this->_setValidationError( $field, $user, $reason, $imgToolBox->_errMSG ); // needed if uploaded file fails in imgToolbox //BB: maybe this needed instead ? : // $this->_setErrorMSG( $imgToolBox->_errMSG ); return; } if ( isset( $user->$col ) && ! ( ( $col == 'avatar' ) && ( $ueConfig['avatarUploadApproval'] == 1 ) && ( $isModerator == 0 ) ) ) { // if auto-approved: //TBD: else need to log update on image approval ! $this->_logFieldUpdate( $field, $user, $reason, $user->$col, $newFileName ); } if ( isset( $user->$col ) && ( $user->$col != '' ) ) { deleteAvatar( $user->$col ); } if ( ( $col == 'avatar' ) && ( $ueConfig['avatarUploadApproval'] == 1 ) && ( $isModerator == 0 ) ) { $cbNotification = new cbNotification(); $cbNotification->sendToModerators( _UE_IMAGE_ADMIN_SUB, _UE_IMAGE_ADMIN_MSG ); $user->$col = $newFileName; $user->$colapproved = 0; } else { $user->$col = $newFileName; $user->$colapproved = 1; } $_PLUGINS->trigger( 'onAfterUserAvatarUpdate', array( &$user, &$user, $isModerator, $newFileName ) ); } break; case 'gallery': $newAvatar = stripslashes( cbGetParam( $postdata, $col_gallery ) ); if ( $this->validate( $field, $user, $choice, $newAvatar, $postdata, $reason ) ) { $value = 'gallery/' . $newAvatar; if ( isset( $user->$col ) ) { $this->_logFieldUpdate( $field, $user, $reason, $user->$col, $value ); } deleteAvatar( $user->$col ); // delete old avatar $user->$col = $value; $user->$colapproved = 1; } break; case 'delete': if ( $user->id && ( $user->$col != null ) && ( $user->$col != '' ) ) { global $_CB_database; if ( isset( $user->$col ) ) { $this->_logFieldUpdate( $field, $user, $reason, $user->$col, '' ); } deleteAvatar( $user->$col ); // delete old avatar $user->$col = null; // this will not update, so we do query below: $user->$colapproved = 1; $query = 'UPDATE ' . $_CB_database->NameQuote( $field->table ) . "\n SET " . $_CB_database->NameQuote( $col ) . ' = NULL' . ', ' . $_CB_database->NameQuote( $col . 'approved' ) . ' = 1' . ', ' . $_CB_database->NameQuote( 'lastupdatedate' ) . ' = ' . $_CB_database->Quote( $_CB_framework->dateDbOfNow() ) . "\n WHERE " . $_CB_database->NameQuote( 'id' ) . ' = ' . (int) $user->id; $_CB_database->setQuery( $query ); $_CB_database->query(); } break; case 'approve': if ( isset( $user->$col ) && ( $_CB_framework->getUi() == 2 ) && $user->id && ( $user->$col != null ) && ( $user->$colapproved == 0 ) ) { $this->_logFieldUpdate( $field, $user, $reason, '', $user->$col ); // here we are missing the old value, so can't give it... $user->$colapproved = 1; $user->lastupdatedate = $_CB_framework->dateDbOfNow(); $cbNotification = new cbNotification(); $cbNotification->sendFromSystem( $user, _UE_IMAGEAPPROVED_SUB, _UE_IMAGEAPPROVED_MSG ); } break; case '': default: $this->validate( $field, $user, $choice, $newAvatar, $postdata, $reason ); break; } }