181 lines
5.4 KiB
PHP
181 lines
5.4 KiB
PHP
<?php
|
|
|
|
function materio_user_registerblock(){
|
|
$return = array();
|
|
$block = block_load('materio_user','user_createaccount');
|
|
$return['block'] = drupal_render(_block_get_renderable_array(_block_render_blocks(array($block))));
|
|
drupal_json_output($return);
|
|
}
|
|
|
|
function materio_user_loginandregisterblock(){
|
|
$return = array();
|
|
$block = block_load('materio_user','user_register');
|
|
$return['block'] = drupal_render(_block_get_renderable_array(_block_render_blocks(array($block))));
|
|
drupal_json_output($return);
|
|
}
|
|
|
|
function materio_user_register_submit(){
|
|
$return = array();
|
|
$return['POST'] = $_POST;
|
|
|
|
$form_state = array( "values"=>$_POST);
|
|
drupal_form_submit($_POST['form_id'], $form_state);
|
|
|
|
// $return['form_state'] = $form_state;
|
|
|
|
$return['errors'] = form_get_errors();
|
|
if($return['errors']){
|
|
unset ($_SESSION['messages']['error']);
|
|
}else{
|
|
$messages = drupal_get_messages('status');
|
|
// $return['messages'] = $messages;
|
|
// drupal_set_message(t("Congratulations, you juste created your free materiO' account, welcome !"), 'status');
|
|
foreach ($messages['status'] as $msg) {
|
|
drupal_set_message($msg, 'status');
|
|
}
|
|
}
|
|
// after registration user is automaticly logged in, thank's to login tobogan module
|
|
|
|
drupal_json_output($return);
|
|
}
|
|
|
|
function materio_user_login_submit(){
|
|
$return = array();
|
|
$return['POST'] = $_POST;
|
|
|
|
$form_state = array("values"=>$_POST);
|
|
drupal_form_submit($_POST['form_id'], $form_state);
|
|
|
|
$return['errors'] = form_get_errors();
|
|
if($return['errors'])
|
|
unset ($_SESSION['messages']['error']);
|
|
|
|
// if user-login form succed we retreive the user uid on $form_state, then we can effectively loggin the user
|
|
if($uid = $form_state['uid'])
|
|
user_login_submit(array(), $form_state);
|
|
|
|
drupal_json_output($return);
|
|
}
|
|
|
|
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 .= "<h1>Liste de tous les user adherents et étudiants ($num_rows)</h1>";
|
|
$ret .= '<textarea cols="40" rows="30">'.implode($vals, ' ').'</textarea>';
|
|
|
|
// 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 .= "<h1>Liste des user adhérents et étudiants (sans les aaf) ($num_rows)</h1>";
|
|
$ret .= '<textarea cols="40" rows="30">'.implode($vals, ' ').'</textarea>';
|
|
|
|
|
|
// 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 .= "<h1>Liste des user adhérents AAF ($num_rows)</h1>";
|
|
$ret .= '<textarea cols="40" rows="30">'.implode($vals, ' ').'</textarea>';
|
|
|
|
|
|
// 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
|
|
->fields('u', array('mail'))
|
|
->condition('u.status', '1')
|
|
->condition('ur.rid', array(3, 4, 6, 8, 10), "NOT IN")
|
|
->condition('ssn.tid', '6374')
|
|
->condition('ssn.status', '1');
|
|
|
|
$results = $query->execute()->fetchall();
|
|
|
|
$vals = array();
|
|
foreach ($results as $rec) {
|
|
$vals[] = $rec->mail;
|
|
}
|
|
|
|
$num_rows = count($vals);
|
|
$ret .= "<h1>Liste des user non membre inscrits au daily ($num_rows)</h1>";
|
|
$ret .= '<textarea cols="40" rows="30">'.implode($vals, ' ').'</textarea>';
|
|
|
|
return $ret;
|
|
}
|
|
|
|
|
|
|