diff --git a/lib/version.inc b/lib/version.inc index c31795cee5..9ae5060a91 100644 --- a/lib/version.inc +++ b/lib/version.inc @@ -1,2 +1,2 @@ get_parms("deny","accept","accept_hd","watermark","template"); +$parm = $request->get_parms("deny", "accept", "accept_hd", "watermark", "template"); -$lng = isset($session->locale)?$session->locale:GV_default_lng; +$lng = isset($session->locale) ? $session->locale : GV_default_lng; -if(isset($session->usr_id) && isset($session->ses_id)) +if (isset($session->usr_id) && isset($session->ses_id)) { - $ses_id = $session->ses_id; - $usr_id = $session->usr_id; - - if(!$session->admin) - { - phrasea::headers(403); - } + $ses_id = $session->ses_id; + $usr_id = $session->usr_id; + + if (!$session->admin) + { + phrasea::headers(403); + } } -else{ - phrasea::headers(403); +else +{ + phrasea::headers(403); } -if(!($ph_session = phrasea_open_session($ses_id,$usr_id))) +if (!($ph_session = phrasea_open_session($ses_id, $usr_id))) { - phrasea::headers(403); + phrasea::headers(403); } $conn = connection::getInstance(); -if(!$conn) +if (!$conn) { - phrasea::headers(500); + phrasea::headers(500); } $allnames = array(); -foreach($ph_session['bases'] as $base) +foreach ($ph_session['bases'] as $base) { - foreach($base['collections'] as $coll) - { - $allnames[$coll['base_id']] = $coll['name']; - - } + foreach ($base['collections'] as $coll) + { + $allnames[$coll['base_id']] = $coll['name']; + } } $templates = array(); -if(!is_null($parm['template'])) +if (!is_null($parm['template'])) { - foreach($parm['template'] as $tmp) - { - if(trim($tmp) != '') - { - $tmp = explode('_',$tmp); - - if(count($tmp) == 2) - { - $templates[$tmp[0]] = $tmp[1]; - } - } - } + foreach ($parm['template'] as $tmp) + { + if (trim($tmp) != '') + { + $tmp = explode('_', $tmp); + + if (count($tmp) == 2) + { + $templates[$tmp[0]] = $tmp[1]; + } + } + } } $deny = $accept = $options = array(); -if(!is_null($parm['deny'])) +if (!is_null($parm['deny'])) { - foreach($parm['deny'] as $den) - { - $den = explode('_',$den); - if(count($den) == 2 && !isset($templates[$den[0]])) - { - $deny[$den[0]][$den[1]]=$den[1]; - } - } + foreach ($parm['deny'] as $den) + { + $den = explode('_', $den); + if (count($den) == 2 && !isset($templates[$den[0]])) + { + $deny[$den[0]][$den[1]] = $den[1]; + } + } } -if(!is_null($parm['accept'])) +if (!is_null($parm['accept'])) { - foreach($parm['accept'] as $acc) - { - $acc = explode('_',$acc); - if(count($acc) == 2 && !isset($templates[$acc[0]])) - { - $accept[$acc[0]][$acc[1]] = $acc[1]; - $options[$acc[0]][$acc[1]]=array('HD'=>false,'WM'=>false); - } - } + foreach ($parm['accept'] as $acc) + { + $acc = explode('_', $acc); + if (count($acc) == 2 && !isset($templates[$acc[0]])) + { + $accept[$acc[0]][$acc[1]] = $acc[1]; + $options[$acc[0]][$acc[1]] = array('HD' => false, 'WM' => false); + } + } } -if(!is_null($parm['accept_hd'])) +if (!is_null($parm['accept_hd'])) { - foreach($parm['accept_hd'] as $accHD) - { - $accHD = explode('_',$accHD); - if(count($accHD) == 2 && isset($accept[$accHD[0]]) && isset($options[$accHD[0]][$accHD[1]])) - { - $options[$accHD[0]][$accHD[1]]['HD'] = true; - } - } + foreach ($parm['accept_hd'] as $accHD) + { + $accHD = explode('_', $accHD); + if (count($accHD) == 2 && isset($accept[$accHD[0]]) && isset($options[$accHD[0]][$accHD[1]])) + { + $options[$accHD[0]][$accHD[1]]['HD'] = true; + } + } } -if(!is_null($parm['watermark'])) +if (!is_null($parm['watermark'])) { - foreach($parm['watermark'] as $wm) - { - $wm = explode('_',$wm); - if(count($wm) == 2 && isset($accept[$wm[0]]) && isset($options[$wm[0]][$wm[1]])) - { - $options[$wm[0]][$wm[1]]['WM'] = true; - } - } + foreach ($parm['watermark'] as $wm) + { + $wm = explode('_', $wm); + if (count($wm) == 2 && isset($accept[$wm[0]]) && isset($options[$wm[0]][$wm[1]])) + { + $options[$wm[0]][$wm[1]]['WM'] = true; + } + } } -if(!is_null($templates) || !is_null($parm['deny']) || !is_null($parm['accept'])) + + +// if(!isset($done[$usr])) +// $done[$usr] = array(); +// +// $done[$usr][$bas] = true; +// + +if (!is_null($templates) || !is_null($parm['deny']) || !is_null($parm['accept'])) { - $done = array(); - - $cache_to_update = array(); - - foreach($templates as $usr=>$template_id) - { - $cache_to_update[$usr] = true; - - $sql = "REPLACE INTO sbasusr (SELECT null as sbasusr_id, sbas_id, '".$conn->escape_string($usr)."' as usr_id, bas_manage, bas_modify_struct, bas_modif_th, bas_chupub FROM sbasusr WHERE usr_id='".$conn->escape_string($template_id)."')"; - $conn->query($sql); - - $sql = "REPLACE INTO basusr (SELECT null as id, base_id, '".$conn->escape_string($usr)."' as usr_id, canpreview, canhd, canputinalbum, candwnldhd, candwnldsubdef, candwnldpreview, cancmd, canadmin, actif, canreport, canpush, creationdate, basusr_infousr, mask_and, mask_xor, restrict_dwnld, month_dwnld_max, remain_dwnld, time_limited, limited_from, limited_to, canaddrecord, canmodifrecord, candeleterecord, chgstatus, lastconn, imgtools, manage, modify_struct, bas_manage, bas_modify_struct, needwatermark FROM basusr WHERE usr_id='".$conn->escape_string($template_id)."')"; - if($conn->query($sql)) - { - if(!isset($done[$usr])) - $done[$usr] = array(); - - $sql = 'SELECT base_id FROM basusr WHERE usr_id = "'.$conn->escape_string($template_id).'" AND base_id NOT IN (SELECT base_id FROM basusr WHERE usr_id = "'.$conn->escape_string($usr).'")'; - if($rs = $conn->query($sql)) - { - while($row = $conn->fetch_assoc($rs)) - { - $done[$usr][$row['base_id']] = true; - } - } - - $sql = "DELETE FROM demand WHERE usr_id='".$conn->escape_string($usr)."'"; - $conn->query($sql); - - $sql = "SELECT usr_login as lastModel from usr where usr_id='".$conn->escape_string($template_id)."'"; - if($rs = $conn->query($sql)) - { - if($row = $conn->fetch_assoc($rs)) - { - $sql = "UPDATE usr SET lastModel = '".$conn->escape_string($row['lastModel'])."' WHERE usr_id = '".$conn->escape_string($usr)."' "; - $conn->query($sql); - } - } - } - } - foreach($deny as $usr=>$bases) - { - $cache_to_update[$usr] = true; - foreach($bases as $bas) - { - $sql = "UPDATE demand SET en_cours=0,refuser=1,date_modif=now() WHERE usr_id='".$conn->escape_string($usr)."' AND base_id='".$conn->escape_string($bas)."'"; - - if($conn->query($sql)) - { - - if(!isset($done[$usr])) - $done[$usr] = array(); - - $done[$usr][$bas] = false; - } - } - } - foreach($accept as $usr=>$bases) - { - $cache_to_update[$usr] = true; - foreach($bases as $bas) - { - $sql = "INSERT INTO sbasusr (sbas_id,usr_id,bas_manage, bas_modify_struct) VALUES ('".$conn->escape_string(phrasea::sbasFromBas($bas))."','".$conn->escape_string($usr)."','0','0')"; - $conn->query($sql); - - $wm = $options[$usr][$bas]['WM']; - $hd = $options[$usr][$bas]['HD']; - $f = $v = ''; - $f.="base_id,"; $v.="$bas,"; - $f.="usr_id,"; $v.="$usr,"; - $f.="canpreview,"; $v.="1,"; - $f.="canhd,"; $v.="0,"; - $f.="canputinalbum,"; $v.="1,"; - - if($hd) - { $f.="candwnldhd,"; $v.="1,"; } - else - { $f.="candwnldhd,"; $v.="0,"; } - - if($wm) - { $f.="needwatermark,"; $v.="1,"; } - else - { $f.="needwatermark,"; $v.="0,"; } - - $f.="candwnldsubdef,"; $v.="0,"; - $f.="candwnldpreview,"; $v.="1,"; - $f.="cancmd,"; $v.="0,"; - $f.="canadmin,"; $v.="0,"; - $f.="actif,"; $v.="1,"; - $f.="canreport,"; $v.="0,"; - $f.="canpush,"; $v.="0,"; - $f.="creationdate,"; $v.="now(),"; - $f.="basusr_infousr,"; $v.="'',"; - $f.="mask_and,"; $v.="0,"; - $f.="mask_xor,"; $v.="0,"; - $f.="restrict_dwnld,"; $v.="0,"; - $f.="month_dwnld_max,"; $v.="0,"; - $f.="remain_dwnld,"; $v.="0,"; - $f.="time_limited,"; $v.="0,"; - $f.="canaddrecord,"; $v.="0,"; - $f.="canmodifrecord,"; $v.="0,"; - $f.="candeleterecord"; $v.="0"; - - $sql = "INSERT INTO basusr ( $f ) VALUES ( $v )"; - $conn->query($sql); - - if(!isset($done[$usr])) - $done[$usr] = array(); - - $done[$usr][$bas] = true; - - $sql = "DELETE FROM demand WHERE usr_id='".$conn->escape_string($usr)."' AND base_id='".$conn->escape_string($bas)."'"; - $conn->query($sql); - } - } - - $cache_user = cache_user::getInstance(); - foreach($cache_to_update as $usr_id=>$true) - $cache_user->delete($usr_id); - - foreach($done as $usr=>$bases) - { - $sql = 'SELECT usr_mail FROM usr WHERE usr_id = "'.$conn->escape_string($usr).'"'; - $accept = $deny = ''; - if($rs = $conn->query($sql)) - { - if($row = $conn->fetch_assoc($rs)) - { - if(p4string::checkMail($row['usr_mail'])) - { - foreach($bases as $bas=>$isok) - { - if(isset($allnames[$bas])) - { - if($isok === true) - $accept .= '