<?php
defined( '_VALID_MOS' ) or die( 'Direct Access to this location is not allowed.' );

if (file_exists('components/com_groupjive/language/'.$mosConfig_lang.'.php'))
{
  include_once('components/com_groupjive/language/'.$mosConfig_lang.'.php');
} else {
  include_once('components/com_groupjive/language/english.php');
}

require_once('components/com_groupjive/groupjive.html.php');

$database->setQuery("SELECT * FROM #__gj_options");
if (!$result=$database->query()) {
	echo $database->stderr();
	return;
}

$rows=$database->loadObjectList();
$row=&$rows[0];

define ('ONPAGE',$row->onpage); //number of groups on page
define ('ONPAGE_MEMBERS',$row->onpage_members); //number of users on page
define('BLOGM',$row->blogm);//number message on group frontpage
define ('NOPHOTO',$row->nophoto); //This is the URL of the image used for user who have no image :)
define ('ADMINEMAIL',$row->admin_email); //This is the email address of the admin for Notifications
define ('SEND_ADMIN_EMAILS',$row->send_admin_emails); 
define ('ALLOWCREATEGROUPS',$row->create_groups);
define('NEEDAPPROVAL',$row->approval);// write 1 - to approval, or 0 - group will not premoderated
define('NOTIFY',$row->notify);
define('NOTIFYJOIN',$row->notifyjoin);
define('VERSION',$row->version);
define('JB',$row->jb);
//If we are using the forum integration, are we using Joomlaboard or Fireboard?
if(JB) {
if (file_exists('components/com_fireboard/fireboard.php')) {
  define('PREFIX','fb');
  define('FORUMPATH','com_fireboard');
 } else {
  define('PREFIX','sb');
  define('FORUMPATH','com_joomlaboard');
 }
 }
//define('EVENTLIST',$row->eventlist);
define('EVENTLIST','1');
define('WYSIWYG',$row->wysiwyg);//Use the global wysiwyg editor if true
define('DEFAULT_LOGO',$row->nophoto_logo);
define('NONREG',$row->nonreg);
define('REAL_NAMES',$row->real_names);
define('BUL_CREATOR',$row->bul_creator);
define('HIDEPRIVATE',$row->hideprivate);
define('WYSIWYG_WIDTH',$row->wysiwyg_width);
define('WYSIWYG_HEIGHT',$row->wysiwyg_height);
define('WYSIWYG_ROWS',$row->wysiwyg_rows);
define('WYSIWYG_COLS',$row->wysiwyg_cols);
define('AJAX_ACTIVE', $row->ajax_active);
define('AJAX_ACCESS', $row->ajax_access);
define('AJAX_MESSAGE', $row->ajax_message);
define('TEMPLATE', $row->template);


//Users without avatars cannot see other users avatars, CBE only
if (file_exists('administrator/components/com_comprofiler/enhanced_admin/enhanced_config.php')) {
include_once('administrator/components/com_comprofiler/enhanced_admin/enhanced_config.php');
define('PIC2PIC',$enhanced_Config['pic2pic']);
} else {
define('PIC2PIC','0');
}
if (PIC2PIC) {
	$query="SELECT COUNT(id) FROM #__comprofiler WHERE user_id=".$my->id." AND avatar IS NOT NULL AND avatarapproved='1'";
	$database->setQuery($query);
  	$mypic = $database->loadResult();
}
$pms = $row->pms;
$logosize = $row->logosize. "px";
$date_format = $row->date_form;
$jb_cat = $row->jb_cat;

$todo =  mosGetParam( $_REQUEST ,'task', 0 ) ;
$exgroup = intval( mosGetParam( $_REQUEST, 'groupid',0));
$groupname = mosGetParam( $_REQUEST, 'groupname',0);
$mainframe->setPageTitle(GJ_TITLE);

// put the stylesheet in the head-section
$csslink = '<link href="'.$mosConfig_live_site.'/components/com_groupjive/templates/'.$row->template.'/groupjive_css.css" rel="stylesheet" type="text/css" />';
//echo 'link:<p>'.$csslink.'<p>';
$mainframe->addCustomHeadTag($csslink);

// Permissions: Check for administrators
if ($my->id != 0) {
  $aro_group = $acl->getAroGroup( $my->id );
  $admin = (strtolower($aro_group->name) == 'super administrator' || strtolower($aro_group->name) == 'administrator');
  if($admin) {
    $admin = 1;
  } else {
    $admin = 0;
} 
}else {
   $aro_group=0;
   $admin=0;
 }



function main_page($row) {
  echo '<div id="columnSmall2">';
  latestmembers($row->id);
  echo '</div><div id="columnSmall3">';
  latestbul($row->id);
  echo '</div><div id="columnSmall4">';
  latestforumposts($row->category_id);
  echo '</div><div style="clear:both;"></div>';
}

function moderator_func($row) {
  global $Itemid;
	
  $mod = '<ul><li><a href="'
          . sefRelToAbs("index.php?option=com_groupjive&amp;"
          . "task=inactiveusers&amp;groupid=$row->id&amp;Itemid=$Itemid")
          . '">'.GJ_INACTIVE_USERS.'</a></li>'

	      . '<li><a href="'
          . sefRelToAbs("index.php?option=com_groupjive&amp;"
          . "task=transfer&amp;groupid=$row->id&amp;Itemid=$Itemid")
          . '">'.GJ_TRANSFER_OWNER.'</a></li>'
		  
          . '<li><a href="'
          . sefRelToAbs("index.php?option=com_groupjive&amp;"
          . "task=editgroup&amp;groupid=$row->id&amp;Itemid=$Itemid")
          . '">'.GJ_EDIT_GROUP_INFO.'</a></li>'

          . '<li><a href="'
          . sefRelToAbs("index.php?option=com_groupjive&amp;"
          . "task=deletegroup&amp;groupid=$row->id&amp;"
          . "groupname=$row->name&amp;Itemid=$Itemid")
          . "\" onclick=\"return confirm('".GJ_DELETE_G_CONFIRM."')\">"
          . GJ_DELETE_GROUP.'</a></li></ul>';
	return $mod;
}

function group_info($row) {
  global $my, $mosConfig_live_site, $date_format;
	// $date = date($date_format, $row->date_s);
	$info = "<ul>";
	
	if(!empty($row->descr)) {														
	 $info .= '<li><b>'.GJ_GROUPDESCR.'</b>:&nbsp;'
            . stripslashes($row->descr).'</li>';
	}
	
	$info .= '<li><b>'.GJ_TYPE.':&nbsp;</b>';
		
	switch($row->type) {
		case 1:
		{
			$info .= GJ_OPEN;
			break;
		}
		case 2:
		{
			$info .= GJ_APREQUIRED;
			break;
		}
		case 3:
		{
			$info .= GJ_PRIVATE;
			break;
		}
	}

	 if(REAL_NAMES) {
    $creator = $row->name;
    } else {
    $creator = $row->creator;
	 }
	
	$info .='</li><li><b>'.GJ_FOUNDED.'</b>:&nbsp;'
            . $row->date_s.'</li><li><b>'.GJ_MEMBERS.'</b>:&nbsp;'
            . groupusercount($row->id).'</li>'
            . '<li><b>'.GJ_CREATOR.'</b>:&nbsp;'.$creator;

	$info .= '</li></ul>';
	return $info;
}


function links($row) {
	global $jb_cat, $Itemid;
	$links = '<ul><li>'
           . '<a href="'
           . sefRelToAbs("index.php?option=com_groupjive&amp;"
           . "task=member_list&amp;groupid=$row->id&amp;Itemid=$Itemid")
           . '">'.GJ_MEMBERS.'</a></li>';
		   
		   	
	$links .= '<li><a href="'
              . sefRelToAbs("index.php?option=com_groupjive&amp;"
              . "task=bulletin&amp;groupid=$row->id&amp;"
              . "Itemid=$Itemid").'">'.GJ_GROUP_BUL.'</a></li>';
		   
  if(JB) {
		$links .= '<li><a href="'
                . sefRelToAbs("index.php?option=".FORUMPATH."&amp;"
                . "func=showcat&amp;catid=$row->category_id&amp;"
                . "Itemid=$Itemid")
                . '">'.GJ_GROUP_FORUM.'</a></li>';
	}
	
  if(EVENTLIST) {
		$links .= '<li><a href="'
                . sefRelToAbs("index.php?option=com_eventlist&amp;"
                . "func=shcatev1&amp;categid=$row->category_id_el&amp;"
                . "Itemid=$Itemid").'">'.GJ_GROUP_EVENT.'</a></li>';
	}


    $links .= '<li><a href="'
              . sefRelToAbs("index.php?option=com_groupjive&amp;task="
              . "showgroup&amp;groupid=$row->id&amp;Itemid=$Itemid")
              . '">'.GJ_BACKTGROUP.'</a></li>';

	return $links;
}



function checkuser($groupid,$userid) {
	global $database;
	
	$query="SELECT COUNT(*) FROM #__gj_users "
          . "WHERE id_user='$userid' "
          . "AND id_group='$groupid'";
  $database->setQuery($query);
	if(!$result=$database->query()) {
		echo $database->stderr();
		return;
	}
	
	$exist = $database->loadResult();
	if (!$exist==0)
		return 1;
	else return 0;
}

function checkuseractive($groupid,$userid) {
  global $database;
  
  $query="SELECT COUNT(*) FROM #__gj_users "
          . "WHERE id_user='$userid' "
          . "AND id_group='$groupid' "
          . "AND status='active'";
  $database->setQuery($query);
  if(!$result=$database->query()) {
    echo $database->stderr();
    return;
  }
  
  $exist = $database->loadResult();
  if (!$exist==0)
    return 1;
  else return 0;
}


function ismoder($groupid,$userid) {
	//Check to see if the user viewing is the moderator
	global $database;
	$query="SELECT COUNT(*) FROM #__gj_groups "
          . "WHERE id='$groupid' "
          . "AND user_id='$userid'";
	$database->setQuery($query);
	if(!$result=$database->query()) {
		echo $database->stderr();
		return;
	}
	
	$exist = $database->loadResult();
	if (!$exist==0)
		return 1;
	else return 0;
}

function groupusercount($groupid) {
  // Here is where I find out how many members are in a group
	//for display on the category pages
	global $database;
	$query="SELECT COUNT(*) FROM #__gj_users "
          . "WHERE id_group='$groupid' "
          . "AND status='active'";  
  $database->setQuery($query);
	if(!$result=$database->query()) {
		echo $database->stderr();
		return;
	}
	$usercount= $database->loadResult();
	
	//return the user count for group
	return $usercount;
}

function latestmembers($gid) {
  global $database,$mosConfig_lang,$mypic ;

  $query="SELECT b.name, b.username, b.id, c.avatar "
          . "FROM #__gj_users AS a INNER JOIN #__users AS b "
          . "ON a.id_user = b.id "
          . "INNER JOIN #__comprofiler AS c "
          . "ON b.id = c.user_id "
          . "WHERE a.id_group ='".$gid
          . "' AND a.status = 'active' ORDER BY a.date DESC LIMIT 3";
  $database->setQuery($query);
  if(!$result=$database->query()) {
  	echo $database->stderr();
  	return;
  }
  
  $rows=$database->loadObjectList();
  echo "<h3 class=\"componentheading\">".GJ_NEWESTMEM."</h3>";
  echo "<ul>";
  foreach ($rows as $row) {
    	 if(REAL_NAMES) {
    $name = $row->name;
    } else {
    $name = $row->username;
	 }
  	if (file_exists("images/comprofiler/tn".$row->avatar) && (!PIC2PIC || (PIC2PIC && $mypic))) {
  	$im="images/comprofiler/tn".$row->avatar;
	} else if( file_exists('images/comprofiler/tn'.$row->avatar) && PIC2PIC && !$mypic) { 
		if (file_exists('components/com_comprofiler/images/'.$mosConfig_lang.'/tnnophoto.jpg')) { 
		$im='components/com_comprofiler/images/'.$mosConfig_lang.'/tnnophoto.jpg';
	} else {
	$im='components/com_comprofiler/images/english/tnnophoto.jpg';
	}
	} else if (substr($row->avatar, 0, 7) == 'gallery' && file_exists("images/comprofiler/".$row->avatar)) {
  	$im="images/comprofiler/".$row->avatar;
	} else {
	$im=NOPHOTO;
	}  		
  echo "<li><img src=\"$im\" alt=\"$name\" /><br />"
        . "<a href=\""
        . sefRelToAbs("index.php?option=com_comprofiler&amp;"
        . "task=userProfile&amp;user=$row->id")."\">"
        . $name."</a></li>";
  }
  echo "</ul>";
}

function latestforumposts($catid) {
  global $database;
  // check if joomlaboard is installed
  if (!file_exists('components/'.FORUMPATH) || !JB) {
    return;
  }
  
  $query="SELECT * FROM #__".PREFIX."_messages "
          . "WHERE catid='".$catid."' ORDER BY time DESC LIMIT 5";
  $database->setQuery($query);
  if(!$result=$database->query()) {
  	echo $database->stderr();
  	return;
  }
  $rows=$database->loadObjectList();
  $total=count($rows);
  echo "<h3 class=\"componentheading\">".GJ_LATESTFORUM."</h3>";
  echo "<ul>";
  if($total > 0) {
    foreach ($rows as $row) {
      echo "<li><a href=\""
            . sefRelToAbs("index.php?option=".FORUMPATH."&amp;"
            . "func=view&amp;id=".$row->id."&amp;catid="
            . $row->catid."#".$row->id)
            . "\">".$row->subject."</a><br /><small>".GJ_BY."&nbsp;<a href=\""
            . sefRelToAbs("index.php?option=com_comprofiler&amp;"
            . "task=userProfile&amp;user=".$row->userid)."\">"
            . $row->name.'</a>&nbsp;('.date('y-m-d',$row->time).")</small></li>";
    }
  echo "</ul>";
  } else {
   echo GJ_NO_FORUM_POSTS;
  }
}

function latestbul($gid) {
  global $database, $Itemid;
  echo "<h3 class=\"componentheading\">".GJ_LATESTBULLETIN."</h3>";
   $query="SELECT a.*";
     if(REAL_NAMES) {
       $query .= ", b.name AS author_name";
     }
     $query .= " FROM #__gj_bul AS a INNER JOIN #__users AS b "
       . "ON a.author_id = b.id "
       . "WHERE a.group_id='$gid' "
       . "ORDER BY date_bul DESC LIMIT 1";
  $database->setQuery($query);
  if(!$result=$database->query()) {
  	echo $database->stderr();
  	return;
  }
  
  $result=$database->loadObjectList();
  $total=count($result);
  if($total > 0) {
    $row=$result[0];
    echo "<h4><a href=\"index.php?option=com_groupjive&amp;task=showfullmessage&amp;idm=$row->id&amp;groupid=$gid&amp;Itemid=$Itemid\">".$row->subject."</a></h4><p>".$row->post."</p> ".$row->author_name;
  } else {
   echo GJ_NO_MESSAGE;
  }
}


function checkImage($avatar) {
	$mosConfig_absolute_path = $mainframe->getCfg('absolute_path');
if (substr($avatar, 0, 7) == 'gallery') {
  $thumbnail = "/images/comprofiler/".$avatar;
} else if ($avatar != '') {
  $thumbnail = "/images/comprofiler/tn".$avatar;
} else {
  $thumbnail = "/components/com_comprofiler/plugin/language/".$fileLang."/images/tnnophoto.jpg";
}

// check if thumbnails exists
			if (file_exists($mosConfig_absolute_path.$thumbnail)) 
			{ 
  // image exists					  
				$image=$mosConfig_live_site.$thumbnail; 
			} else {
  // image not found           					   
				$thumbnail="/components/com_comprofiler/plugin/language/".$fileLang."/images/tnnophoto.jpg";
			   
			  // check if default image exists in specific language
  if (file_exists($mosConfig_absolute_path.$thumbnail)) 
					{ 
						$image=$mosConfig_live_site.$thumbnail; 
					} else {
						$image=$mosConfig_live_site."/components/com_comprofiler/plugin/"
				 ."language/default_language/images/tnnophoto.jpg"; 
					}  
				}
}

function transfer($owner_name, $group_id) {
global $database;

$query = "SELECT a.id FROM #__users AS a, #__gj_users AS b WHERE a.name = '".$owner_name."' OR a.username = '".$owner_name."' AND b.id_group = ".$group_id." AND a.id = b.id_user";
$database->setQuery($query);
$owner_id = $database->loadResult();

if($owner_id) {
$query = "UPDATE #__gj_groups SET creator = '".$owner_name."', user_id = '".$owner_id."' WHERE id = ".$group_id;
$database->setQuery($query); 
$database->query();

mosRedirect(sefRelToAbs("index.php?option=com_groupjive&amp;task=showgroup&amp;groupid=".$group_id), GJ_TRANSFERED);
} else {
mosRedirect(sefRelToAbs("index.php?option=com_groupjive&amp;task=showgroup&amp;groupid=".$group_id), "Sorry, must be a member of the group");
	}
}
?>
