Esempio n. 1
0
  /**
   * build and return the SQL query to get users data
   * 
   * @param DB_OBM $obm_q
   * @access private
   * @return string
   */
  private static function build_user_query($obm_q) {
    $date = new Of_Date();
    $date->subMonth(3);
    $query =  "SELECT
    U.userobm_id,
    U.userobm_domain_id,
    domain_name AS userobm_domain_name,
    U.userobm_timecreate,
    U.userobm_timeupdate,
    U.userobm_usercreate AS userobm_usercreate_id,
    A.userobm_login AS userobm_usercreate_login,
    U.userobm_userupdate AS userobm_userupdate_id,
    B.userobm_login AS userobm_userupdate_login,
    U.userobm_local,
    U.userobm_ext_id,
    U.userobm_system,
    U.userobm_archive,
    U.userobm_status,
    U.userobm_timelastaccess,
    U.userobm_login,
    U.userobm_nb_login_failed,
    U.userobm_password_type,
    U.userobm_password_dateexp,
    U.userobm_account_dateexp,
    U.userobm_perms,
    U.userobm_delegation_target,
    U.userobm_delegation,
    U.userobm_calendar_version,
    U.userobm_uid,
    U.userobm_gid,
    U.userobm_datebegin,
    U.userobm_hidden,
    U.userobm_kind,
    U.userobm_lastname,
    U.userobm_firstname,
    U.userobm_title,
    U.userobm_sound,
    U.userobm_company,
    U.userobm_direction,
    U.userobm_service,
    U.userobm_address1,
    U.userobm_address2,
    U.userobm_address3,
    U.userobm_zipcode,
    U.userobm_town,
    U.userobm_expresspostal,
    U.userobm_country_iso3166,
    U.userobm_phone,
    U.userobm_phone2,
    U.userobm_mobile,
    U.userobm_fax,
    U.userobm_fax2,
    U.userobm_web_perms,
    U.userobm_web_list,
    U.userobm_web_all,
    U.userobm_mail_perms,
    U.userobm_mail_ext_perms,
    U.userobm_email,
    U.userobm_mail_server_id,
    host_name AS userobm_mail_server_name,
    U.userobm_mail_quota,
    U.userobm_mail_quota_use,
    U.userobm_mail_login_date,
    U.userobm_nomade_perms,
    U.userobm_nomade_enable,
    U.userobm_nomade_local_copy,
    U.userobm_email_nomade,
    U.userobm_vacation_enable,
    U.userobm_vacation_datebegin,
    U.userobm_vacation_dateend,
    U.userobm_vacation_message,
    U.userobm_samba_perms,
    U.userobm_samba_home,
    U.userobm_samba_home_drive,
    U.userobm_samba_logon_script,
    U.userobm_host_id,
    U.userobm_description,
    U.userobm_location,
    U.userobm_education,
    (U.userobm_photo_id IS NOT NULL) AS userobm_has_photo,
    count(EventLink.eventlink_event_id) as groupware_usage
    FROM UserObm as U
    INNER JOIN Domain ON domain_id = U.userobm_domain_id
    INNER JOIN UserEntity ON userentity_user_id = userobm_id
    LEFT JOIN Host ON U.userobm_mail_server_id=host_id
    LEFT JOIN UserObm as A ON U.userobm_usercreate=A.userobm_id
    LEFT JOIN EventLink ON (eventlink_entity_id = userentity_entity_id AND eventlink_state != 'NEEDS-ACTION' AND (eventlink_timeupdate > '$date' OR eventlink_timecreate > '$date'))
      OR (eventlink_userupdate = U.userobm_id AND eventlink_timeupdate > '$date') OR (eventlink_usercreate = U.userobm_id AND eventlink_timecreate > '$date')
    LEFT JOIN UserObm as B ON U.userobm_userupdate=B.userobm_id 
    GROUP BY  
    U.userobm_id,
    U.userobm_domain_id,
    userobm_domain_name,
    U.userobm_timecreate,
    U.userobm_timeupdate,
    userobm_usercreate_id,
    userobm_usercreate_login,
    userobm_userupdate_id,
    userobm_userupdate_login,
    U.userobm_local,
    U.userobm_ext_id,
    U.userobm_system,
    U.userobm_archive,
    U.userobm_status,
    U.userobm_timelastaccess,
    U.userobm_login,
    U.userobm_nb_login_failed,
    U.userobm_password_type,
    U.userobm_password_dateexp,
    U.userobm_account_dateexp,
    U.userobm_perms,
    U.userobm_delegation_target,
    U.userobm_delegation,
    U.userobm_calendar_version,
    U.userobm_uid,
    U.userobm_gid,
    U.userobm_datebegin,
    U.userobm_hidden,
    U.userobm_kind,
    U.userobm_lastname,
    U.userobm_firstname,
    U.userobm_title,
    U.userobm_sound,
    U.userobm_company,
    U.userobm_direction,
    U.userobm_service,
    U.userobm_address1,
    U.userobm_address2,
    U.userobm_address3,
    U.userobm_zipcode,
    U.userobm_town,
    U.userobm_expresspostal,
    U.userobm_country_iso3166,
    U.userobm_phone,
    U.userobm_phone2,
    U.userobm_mobile,
    U.userobm_fax,
    U.userobm_fax2,
    U.userobm_web_perms,
    U.userobm_web_list,
    U.userobm_web_all,
    U.userobm_mail_perms,
    U.userobm_mail_ext_perms,
    U.userobm_email,
    U.userobm_mail_server_id,
    userobm_mail_server_name,
    U.userobm_mail_quota,
    U.userobm_mail_quota_use,
    U.userobm_mail_login_date,
    U.userobm_nomade_perms,
    U.userobm_nomade_enable,
    U.userobm_nomade_local_copy,
    U.userobm_email_nomade,
    U.userobm_vacation_enable,
    U.userobm_vacation_datebegin,
    U.userobm_vacation_dateend,
    U.userobm_vacation_message,
    U.userobm_samba_perms,
    U.userobm_samba_home,
    U.userobm_samba_home_drive,
    U.userobm_samba_logon_script,
    U.userobm_host_id,
    U.userobm_description,
    U.userobm_location,
    U.userobm_education,
    userobm_has_photo    
    ORDER BY 
    U.userobm_lastname,
    U.userobm_firstname
    ";

    return $query;
  }