diff options
-rw-r--r-- | includes/notary.inc.php | 96 | ||||
-rw-r--r-- | pages/account/43.php | 2 | ||||
-rw-r--r-- | pages/account/57.php | 22 | ||||
-rw-r--r-- | pages/account/59.php | 2 |
4 files changed, 84 insertions, 38 deletions
diff --git a/includes/notary.inc.php b/includes/notary.inc.php index ceb1530..d9724cc 100644 --- a/includes/notary.inc.php +++ b/includes/notary.inc.php @@ -723,18 +723,31 @@ } /** - * get_first_user_agreement() - * returns the first user_agreement entry of the requested type depending on thes status of active of a given user - * @param mixed $memid - * @param integer $active, 0 - passive, 1 -active - * @param string $type - * @return + * Get the first user_agreement entry of the requested type + * @param int $memid + * @param string $type - the type of user agreement, by default all + * agreements are listed + * @param int $active - whether to get active or passive agreements: + * 0 := passive + * 1 := active + * null := both + * @return array(string=>mixed) - an associative array containing + * 'document', 'date', 'method', 'comment', 'active' */ - function get_first_user_agreement($memid, $active=1, $type="CCA"){ - //returns an array (`document`,`date`,`method`, `comment`,`active`) + function get_first_user_agreement($memid, $type=null, $active=null){ + $filter = ''; + if (!is_null($type)) { + $filter .= " AND u.`document` = '".mysql_real_escape_string($type)."'"; + } + + if (!is_null($active)) { + $filter .= " AND u.`active` = ".intval($active); + } + $query="SELECT u.`document`, u.`date`, u.`method`, u.`comment`, u.`active` FROM `user_agreements` AS u - WHERE u.`document` = '" . mysql_real_escape_string($type) . "' AND u.`memid`=" . intval($memid) . " AND u.`active`=" . intval($active) . - " ORDER BY u.`date` Limit 1;"; + WHERE u.`memid`=".intval($memid)." + $filter + ORDER BY u.`date` LIMIT 1"; $res = mysql_query($query); if(mysql_num_rows($res) >0){ $rec = mysql_fetch_assoc($res); @@ -745,15 +758,31 @@ } /** - * get_last_user_agreement() - * returns the last user_agreement entry of a given type and of a given user - * @param mixed $memid - * @param string $type - * @return + * Get the last user_agreement entry of the requested type + * @param int $memid + * @param string $type - the type of user agreement, by default all + * agreements are listed + * @param int $active - whether to get active or passive agreements: + * 0 := passive, + * 1 := active, + * null := both + * @return array(string=>mixed) - an associative array containing + * 'document', 'date', 'method', 'comment', 'active' */ - function get_last_user_agreement($memid, $type="CCA"){ - //returns an array (`document`,`date`,`method`, `comment`,`active`) - $query="SELECT u.`document`, u.`date`, u.`method`, u.`comment`, u.`active` FROM user_agreements u WHERE u.`document` = '" . mysql_real_escape_string($type) . "' AND (u.`memid`=" . intval($memid) . " ) order by `date` desc limit 1 " ; + function get_last_user_agreement($memid, $type=null, $active=null){ + $filter = ''; + if (!is_null($type)) { + $filter .= " AND u.`document` = '".mysql_real_escape_string($type)."'"; + } + + if (!is_null($active)) { + $filter .= " AND u.`active` = ".intval($active); + } + + $query="SELECT u.`document`, u.`date`, u.`method`, u.`comment`, u.`active` FROM `user_agreements` AS u + WHERE u.`memid`=".intval($memid)." + $filter + ORDER BY u.`date` DESC LIMIT 1"; $res = mysql_query($query); if(mysql_num_rows($res) >0){ $rec = mysql_fetch_assoc($res); @@ -763,14 +792,31 @@ return $rec; } -function get_user_agreement($memid){ - $query="(SELECT u.`document`, u.`date`, u.`method`, u.`comment`, 1 as `active` FROM user_agreements u WHERE u.`document` = 'CCA' AND (u.`memid`=".$memid." ) order by u.`date` ) - union - (SELECT u.`document`, u.`date`, u.`method`, u.`comment`, 0 as `active` FROM user_agreements u WHERE u.`document` = 'CCA' AND ( u.`secmemid`=".$memid.") order by u.`date`) - union - (SELECT u.`document`, u.`date`, u.`method`, u.`comment`, 0 as `active` FROM user_agreements u WHERE u.`document` != 'CCA' AND ( u.`memid`=".$memid.") order by u.u.`document`, u.`date`) " ; - $res = mysql_query($query); +/** + * Get the all user_agreement entries of the requested type + * @param int $memid + * @param string $type - the type of user agreement, by default all + * agreements are listed + * @param int $active - whether to get an active or passive agreements: + * 0 := passive, + * 1 := active, + * null := both + * @return resource - a mysql result set containing all agreements + */ +function get_user_agreements($memid, $type=null, $active=null){ + $filter = ''; + if (!is_null($type)) { + $filter .= " AND u.`document` = '".mysql_real_escape_string($type)."'"; + } + + if (!is_null($active)) { + $filter .= " AND u.`active` = ".intval($active); + } + $query="SELECT u.`document`, u.`date`, u.`method`, u.`comment`, u.`active` FROM `user_agreements` AS u + WHERE u.`memid`=".intval($memid)." + $filter + ORDER BY u.`date`"; return mysql_query($query); } diff --git a/pages/account/43.php b/pages/account/43.php index c0ca26e..b055add 100644 --- a/pages/account/43.php +++ b/pages/account/43.php @@ -238,7 +238,7 @@ if(intval($_REQUEST['userid']) > 0) { <? // list of flags ?> <tr> <td class="DataTD"><?=_("CCA accepted")?>:</td> - <td class="DataTD"><a href="account.php?id=57&userid=<?=intval($row['id'])?>"><?=intval(get_user_agreement_status($row['id'])) ? _("Yes") : _("No") ?></a></td> + <td class="DataTD"><a href="account.php?id=57&userid=<?=intval($row['id'])?>"><?=intval(get_user_agreement_status($row['id'], 'CCA')) ? _("Yes") : _("No") ?></a></td> </tr> <tr> <td class="DataTD"><?=_("Trainings")?>:</td> diff --git a/pages/account/57.php b/pages/account/57.php index 0356eeb..56afd53 100644 --- a/pages/account/57.php +++ b/pages/account/57.php @@ -48,12 +48,12 @@ <td class="DataTD"><b><?=_('Type')?></b></td> </tr> <? - $data=get_first_user_agreement($user_id,1); + $data=get_first_user_agreement($user_id, 'CCA', 1); if (!isset($data['active'])){ $type=''; - }else{ + }else{ $type=_('active'); - } + } ?> <tr> <td class="DataTD"><?=_('First active CCA')?></td> @@ -62,7 +62,7 @@ <td class="DataTD"><?=$type?></td> </tr> <? - $data=get_first_user_agreement($user_id,0); + $data=get_first_user_agreement($user_id, 'CCA', 0); if (!isset($data['active'])){ $type=""; }else{ @@ -76,14 +76,14 @@ <td class="DataTD"><?=$type?></td> </tr> <? - $data=get_last_user_agreement($user_id); + $data=get_last_user_agreement($user_id, 'CCA'); if (!isset($data['active'])){ - $type=""; - }elseif($data['active']==1){ - $type=_('active'); - }else{ - $type=_('passive'); - } + $type=""; + }elseif($data['active']==1){ + $type=_('active'); + }else{ + $type=_('passive'); + } ?> <tr> <td class="DataTD"><?=_('Last CCA')?></td> diff --git a/pages/account/59.php b/pages/account/59.php index 8d76789..ae9ec09 100644 --- a/pages/account/59.php +++ b/pages/account/59.php @@ -181,7 +181,7 @@ $dres = get_training_result($userid); <br/> <? -$dres = get_user_agreement($userid,'',1); +$dres = get_user_agreements($userid); ?> <table align="center" valign="middle" border="0" cellspacing="0" cellpadding="0" class="wrapper"> <tr> |