diff --git a/sites/all/modules/gui/materiobasemod/materio_user.module b/sites/all/modules/gui/materiobasemod/materio_user.module index 186c9bc4..bd1f2b3d 100755 --- a/sites/all/modules/gui/materiobasemod/materio_user.module +++ b/sites/all/modules/gui/materiobasemod/materio_user.module @@ -77,7 +77,7 @@ function materio_user_menu(){ 'access callback' => TRUE, ); - $items['materio_user/export'] = $base+array( + $items['admin/materio_user/export'] = $base+array( 'title' => 'Materio base user export', 'page callback' => 'materio_user_export', // 'page arguments' => array(), diff --git a/sites/all/modules/gui/materiobasemod/materio_user.pages.inc b/sites/all/modules/gui/materiobasemod/materio_user.pages.inc index aed3ddf4..6ae92b01 100644 --- a/sites/all/modules/gui/materiobasemod/materio_user.pages.inc +++ b/sites/all/modules/gui/materiobasemod/materio_user.pages.inc @@ -58,15 +58,107 @@ function materio_user_login_submit(){ } function materio_user_export(){ + $ret = ""; + + // MEMBRE et etudiants + $query = db_select('users', 'u'); + $query->join('users_roles', 'ur', 'u.uid=ur.uid'); + $query + ->fields('u', array('mail', 'uid')) + ->condition('u.status', '1') + ->condition('ur.rid', array(6, 8, 10), "IN"); + $results = $query->execute()->fetchall(); + + $vals = array(); + foreach ($results as $rec) { + $vals[] = $rec->mail; + } + + $num_rows = count($vals); + $ret .= "

Liste de tous les user adherents et étudiants ($num_rows)

"; + $ret .= ''; + + // MEMBRE sans les aaf + $query = db_select('users', 'u'); + $query->join('users_roles', 'ur', 'u.uid=ur.uid'); + // $query->join('field_data_field_memo', 'mem', 'u.uid=mem.entity_id'); + $query + ->fields('u', array('mail', 'uid')) + ->condition('u.status', '1') + ->condition('ur.rid', array(6, 8, 10), "IN"); + // ->condition('mem.field_memo_value', "%AAF%", "LIKE"); + $results = $query->execute()->fetchall(); + + $vals = array(); + foreach ($results as $rec) { + $aaf_query = db_select('field_data_field_memo', 'mem'); + $aaf_query + ->fields('mem', array("field_memo_value")) + ->isNotNull('field_memo_value') + ->condition('mem.entity_id', $rec->uid); + $aaf_results = $aaf_query->execute()->fetchall(); + + $aaf = false; + foreach ($aaf_results as $memo) { + if(strpos($memo->field_memo_value,'AAF') !== false){ + $aaf = true; + break; + } + } + if(!$aaf) + $vals[] = $rec->mail; + } + + $num_rows = count($vals); + $ret .= "

Liste des user adhérents et étudiants (sans les aaf) ($num_rows)

"; + $ret .= ''; + + + // MEMBRE AAF + $query = db_select('users', 'u'); + $query->join('users_roles', 'ur', 'u.uid=ur.uid'); + // $query->join('field_data_field_memo', 'mem', 'u.uid=mem.entity_id'); + $query + ->fields('u', array('mail', 'uid')) + ->condition('u.status', '1') + ->condition('ur.rid', array(6, 8, 10), "IN"); + // ->condition('mem.field_memo_value', "%AAF%", "LIKE"); + $results = $query->execute()->fetchall(); + + $vals = array(); + foreach ($results as $rec) { + $aaf_query = db_select('field_data_field_memo', 'mem'); + $aaf_query + ->fields('mem', array("field_memo_value")) + ->isNotNull('field_memo_value') + ->condition('mem.entity_id', $rec->uid); + $aaf_results = $aaf_query->execute()->fetchall(); + + $aaf = false; + foreach ($aaf_results as $memo) { + if(strpos($memo->field_memo_value,'AAF') !== false){ + $aaf = true; + break; + } + } + if($aaf) + $vals[] = $rec->mail; + } + + $num_rows = count($vals); + $ret .= "

Liste des user adhérents AAF ($num_rows)

"; + $ret .= ''; + + + // inscrit daily non membre $query = db_select('users', 'u'); $query->join('users_roles', 'ur', 'u.uid=ur.uid'); $query->join('simplenews_subscriber', 'ssr', 'u.uid=ssr.uid'); $query->join('simplenews_subscription', 'ssn', 'ssr.snid=ssn.snid'); $query - // ->range(0, 5) ->fields('u', array('mail')) ->condition('u.status', '1') - ->condition('ur.rid', '7') + ->condition('ur.rid', array(3, 4, 6, 8, 10), "NOT IN") ->condition('ssn.tid', '6374') ->condition('ssn.status', '1'); @@ -76,8 +168,11 @@ function materio_user_export(){ foreach ($results as $rec) { $vals[] = $rec->mail; } - $ret = "Liste des user utilisateur inscrits au daily
"; + + $num_rows = count($vals); + $ret .= "

Liste des user non membre inscrits au daily ($num_rows)

"; $ret .= ''; + return $ret; }