Esempio n. 1
0
}
// Array to assign names to tables
$arr_col_name = array('usr_login_name' => $gL10n->get('SYS_USERNAME'), 'usr_photo' => $gL10n->get('PHO_PHOTO'), 'mem_begin' => $gL10n->get('SYS_START'), 'mem_end' => $gL10n->get('SYS_END'), 'mem_leader' => $gL10n->get('SYS_LEADERS'));
// Array for valid colums visible for current user.
// Needed for PDF export to set the correct colspan for the layout
// Maybe there are hidden fields.
$arrValidColumns = array();
$mainSql = '';
// Main SQL statement for lists
$str_csv = '';
// CSV file as string
$leiter = 0;
// Group has leaders
try {
    // create list configuration object and create a sql statement out of it
    $list = new ListConfiguration($gDb, $getListId);
    $mainSql = $list->getSQL($roleIds, $getShowMembers, $startDateEnglishFormat, $endDateEnglishFormat);
    // echo $mainSql; exit();
} catch (AdmException $e) {
    $e->showHtml();
}
// determine the number of users in this list
$listStatement = $gDb->query($mainSql);
$numMembers = $listStatement->rowCount();
// get all members and their data of this list in an array
$membersList = $listStatement->fetchAll();
if ($numMembers == 0) {
    // Es sind keine Daten vorhanden !
    $gMessage->show($gL10n->get('LST_NO_USER_FOUND'));
}
// define title (html) and headline
Esempio n. 2
0
        $yourLastConfigurationsGroup = true;
    } elseif ($configuration['lst_global'] == 0 && !$yourConfigurationsGroup && strlen($configuration['lst_name']) > 0) {
        $actualGroup = $gL10n->get('LST_YOUR_CONFIGURATION');
        $yourConfigurationsGroup = true;
    } elseif ($configuration['lst_global'] == 1 && !$presetConfigurationsGroup) {
        $actualGroup = $gL10n->get('LST_PRESET_CONFIGURATION');
        $presetConfigurationsGroup = true;
    }
    // if its a temporary saved configuration than show timestamp of creating as name
    if (strlen($configuration['lst_name']) === 0) {
        $objListTimestamp = new DateTime($configuration['lst_timestamp']);
        ++$numberLastConfigurations;
        // only 5 configurations without a name should be saved for each user
        if ($numberLastConfigurations > 5) {
            // delete all other configurations
            $del_list = new ListConfiguration($gDb, $configuration['lst_id']);
            $del_list->delete();
        } else {
            // now add configuration to array
            $configurationsArray[] = array($configuration['lst_id'], $objListTimestamp->format($gPreferences['system_date'] . ' ' . $gPreferences['system_time']), $actualGroup);
        }
    } else {
        // now add configuration to array
        $configurationsArray[] = array($configuration['lst_id'], $configuration['lst_name'], $actualGroup);
    }
}
$form->addSelectBox('sel_select_configuation', $gL10n->get('LST_SELECT_CONFIGURATION'), $configurationsArray, array('defaultValue' => $formValues['sel_select_configuation'], 'showContextDependentFirstEntry' => false));
// Webmasters could upgrade a configuration to a global configuration that is visible to all users
if ($gCurrentUser->isWebmaster()) {
    $form->addCheckbox('cbx_global_configuration', $gL10n->get('LST_CONFIGURATION_ALL_USERS'), $list->getValue('lst_global'), array('defaultValue' => $formValues['cbx_global_configuration'], 'helpTextIdLabel' => 'LST_PRESET_CONFIGURATION_DESC'));
}
Esempio n. 3
0
 /** Creates all necessary data for a new organization. This method can only be
  *  called once for an organization. It will create the basic categories, lists,
  *  roles, systemmails etc.
  *  @param $userId The id of the webmaster who creates the new organization.
  *                 This will be the first valid user of the new organization.
  */
 public function createBasicData($userId)
 {
     global $gL10n, $gProfileFields;
     // read id of system user from database
     $sql = 'SELECT usr_id FROM ' . TBL_USERS . '
              WHERE usr_login_name LIKE \'' . $gL10n->get('SYS_SYSTEM') . '\' ';
     $this->db->query($sql);
     $row = $this->db->fetch_array();
     $systemUserId = $row['usr_id'];
     // create all systemmail texts and write them into table adm_texts
     $systemmailsTexts = array('SYSMAIL_REGISTRATION_USER' => $gL10n->get('SYS_SYSMAIL_REGISTRATION_USER'), 'SYSMAIL_REGISTRATION_WEBMASTER' => $gL10n->get('SYS_SYSMAIL_REGISTRATION_WEBMASTER'), 'SYSMAIL_REFUSE_REGISTRATION' => $gL10n->get('SYS_SYSMAIL_REFUSE_REGISTRATION'), 'SYSMAIL_NEW_PASSWORD' => $gL10n->get('SYS_SYSMAIL_NEW_PASSWORD'), 'SYSMAIL_ACTIVATION_LINK' => $gL10n->get('SYS_SYSMAIL_ACTIVATION_LINK'));
     $text = new TableText($this->db);
     foreach ($systemmailsTexts as $key => $value) {
         // convert <br /> to a normal line feed
         $value = preg_replace('/<br[[:space:]]*\\/?[[:space:]]*>/', chr(13) . chr(10), $value);
         $text->clear();
         $text->setValue('txt_org_id', $this->getValue('org_id'));
         $text->setValue('txt_name', $key);
         $text->setValue('txt_text', $value);
         $text->save();
     }
     // create default category for roles, events and weblinks
     $sql = 'INSERT INTO ' . TBL_CATEGORIES . ' (cat_org_id, cat_type, cat_name_intern, cat_name, cat_hidden, cat_default, cat_sequence, cat_usr_id_create, cat_timestamp_create)
                                            VALUES (' . $this->getValue('org_id') . ', \'ROL\', \'COMMON\', \'SYS_COMMON\', 0, 1, 1, ' . $systemUserId . ',\'' . DATETIME_NOW . '\')';
     $this->db->query($sql);
     $categoryCommon = $this->db->insert_id();
     $sql = 'INSERT INTO ' . TBL_CATEGORIES . ' (cat_org_id, cat_type, cat_name_intern, cat_name, cat_hidden, cat_default, cat_system, cat_sequence, cat_usr_id_create, cat_timestamp_create)
                                      VALUES (' . $this->getValue('org_id') . ', \'ROL\', \'GROUPS\',  \'INS_GROUPS\', 0, 0, 0, 2, ' . $systemUserId . ',\'' . DATETIME_NOW . '\')
                                           , (' . $this->getValue('org_id') . ', \'ROL\', \'COURSES\', \'INS_COURSES\', 0, 0, 0, 3, ' . $systemUserId . ',\'' . DATETIME_NOW . '\')
                                           , (' . $this->getValue('org_id') . ', \'ROL\', \'TEAMS\',   \'INS_TEAMS\', 0, 0, 0, 4, ' . $systemUserId . ',\'' . DATETIME_NOW . '\')
                                           , (' . $this->getValue('org_id') . ', \'LNK\', \'COMMON\',  \'SYS_COMMON\', 0, 1, 0, 1, ' . $systemUserId . ',\'' . DATETIME_NOW . '\')
                                           , (' . $this->getValue('org_id') . ', \'LNK\', \'INTERN\',  \'INS_INTERN\', 1, 0, 0, 2, ' . $systemUserId . ',\'' . DATETIME_NOW . '\')
                                           , (' . $this->getValue('org_id') . ', \'DAT\', \'COMMON\',  \'SYS_COMMON\', 0, 1, 0, 1, ' . $systemUserId . ',\'' . DATETIME_NOW . '\')
                                           , (' . $this->getValue('org_id') . ', \'DAT\', \'TRAINING\',\'INS_TRAINING\', 0, 0, 0, 2, ' . $systemUserId . ',\'' . DATETIME_NOW . '\')
                                           , (' . $this->getValue('org_id') . ', \'DAT\', \'COURSES\', \'INS_COURSES\', 0, 0, 0, 3, ' . $systemUserId . ',\'' . DATETIME_NOW . '\') ';
     $this->db->query($sql);
     // create default folder for download module in database
     $sql = 'INSERT INTO ' . TBL_FOLDERS . ' (fol_org_id, fol_type, fol_name, fol_path,
                                            fol_locked, fol_public, fol_timestamp)
                                     VALUES (' . $this->getValue('org_id') . ', \'DOWNLOAD\', \'download\', \'/adm_my_files\',
                                             0,1,\'' . DATETIME_NOW . '\')';
     $this->db->query($sql);
     // now create default roles
     // Create role webmaster
     $roleWebmaster = new TableRoles($this->db);
     $roleWebmaster->setValue('rol_cat_id', $categoryCommon);
     $roleWebmaster->setValue('rol_name', $gL10n->get('SYS_WEBMASTER'));
     $roleWebmaster->setValue('rol_description', $gL10n->get('INS_DESCRIPTION_WEBMASTER'));
     $roleWebmaster->setValue('rol_assign_roles', 1);
     $roleWebmaster->setValue('rol_approve_users', 1);
     $roleWebmaster->setValue('rol_announcements', 1);
     $roleWebmaster->setValue('rol_dates', 1);
     $roleWebmaster->setValue('rol_download', 1);
     $roleWebmaster->setValue('rol_guestbook', 1);
     $roleWebmaster->setValue('rol_guestbook_comments', 1);
     $roleWebmaster->setValue('rol_photo', 1);
     $roleWebmaster->setValue('rol_weblinks', 1);
     $roleWebmaster->setValue('rol_edit_user', 1);
     $roleWebmaster->setValue('rol_mail_to_all', 1);
     $roleWebmaster->setValue('rol_mail_this_role', 3);
     $roleWebmaster->setValue('rol_profile', 1);
     $roleWebmaster->setValue('rol_this_list_view', 1);
     $roleWebmaster->setValue('rol_all_lists_view', 1);
     $roleWebmaster->setValue('rol_webmaster', 1);
     $roleWebmaster->setValue('rol_inventory', 1);
     $roleWebmaster->save();
     // Create role member
     $roleMember = new TableRoles($this->db);
     $roleMember->setValue('rol_cat_id', $categoryCommon);
     $roleMember->setValue('rol_name', $gL10n->get('SYS_MEMBER'));
     $roleMember->setValue('rol_description', $gL10n->get('INS_DESCRIPTION_MEMBER'));
     $roleMember->setValue('rol_mail_this_role', 2);
     $roleMember->setValue('rol_profile', 1);
     $roleMember->setValue('rol_this_list_view', 1);
     $roleMember->setValue('rol_default_registration', 1);
     $roleMember->save();
     // Create role board
     $roleManagement = new TableRoles($this->db);
     $roleManagement->setValue('rol_cat_id', $categoryCommon);
     $roleManagement->setValue('rol_name', $gL10n->get('INS_BOARD'));
     $roleManagement->setValue('rol_description', $gL10n->get('INS_DESCRIPTION_BOARD'));
     $roleManagement->setValue('rol_announcements', 1);
     $roleManagement->setValue('rol_dates', 1);
     $roleManagement->setValue('rol_weblinks', 1);
     $roleManagement->setValue('rol_edit_user', 1);
     $roleManagement->setValue('rol_mail_to_all', 1);
     $roleManagement->setValue('rol_mail_this_role', 2);
     $roleManagement->setValue('rol_profile', 1);
     $roleManagement->setValue('rol_this_list_view', 1);
     $roleManagement->setValue('rol_all_lists_view', 1);
     $roleManagement->save();
     // Create membership for user in role 'Webmaster' and 'Members'
     $member = new TableMembers($this->db);
     $member->startMembership($roleWebmaster->getValue('rol_id'), $userId);
     $member->startMembership($roleMember->getValue('rol_id'), $userId);
     // create object with current user field structure
     $gProfileFields = new ProfileFields($this->db, $this->getValue('org_id'));
     // create default list configurations
     $addressList = new ListConfiguration($this->db);
     $addressList->setValue('lst_name', $gL10n->get('INS_ADDRESS_LIST'));
     $addressList->setValue('lst_org_id', $this->getValue('org_id'));
     $addressList->setValue('lst_global', 1);
     $addressList->setValue('lst_default', 1);
     $addressList->addColumn(1, $gProfileFields->getProperty('LAST_NAME', 'usf_id'), 'ASC');
     $addressList->addColumn(2, $gProfileFields->getProperty('FIRST_NAME', 'usf_id'), 'ASC');
     $addressList->addColumn(3, $gProfileFields->getProperty('BIRTHDAY', 'usf_id'));
     $addressList->addColumn(4, $gProfileFields->getProperty('ADDRESS', 'usf_id'));
     $addressList->addColumn(5, $gProfileFields->getProperty('POSTCODE', 'usf_id'));
     $addressList->addColumn(6, $gProfileFields->getProperty('CITY', 'usf_id'));
     $addressList->save();
     $phoneList = new ListConfiguration($this->db);
     $phoneList->setValue('lst_name', $gL10n->get('INS_PHONE_LIST'));
     $phoneList->setValue('lst_org_id', $this->getValue('org_id'));
     $phoneList->setValue('lst_global', 1);
     $phoneList->addColumn(1, $gProfileFields->getProperty('LAST_NAME', 'usf_id'), 'ASC');
     $phoneList->addColumn(2, $gProfileFields->getProperty('FIRST_NAME', 'usf_id'), 'ASC');
     $phoneList->addColumn(3, $gProfileFields->getProperty('PHONE', 'usf_id'));
     $phoneList->addColumn(4, $gProfileFields->getProperty('MOBILE', 'usf_id'));
     $phoneList->addColumn(5, $gProfileFields->getProperty('EMAIL', 'usf_id'));
     $phoneList->addColumn(6, $gProfileFields->getProperty('FAX', 'usf_id'));
     $phoneList->save();
     $contactList = new ListConfiguration($this->db);
     $contactList->setValue('lst_name', $gL10n->get('SYS_CONTACT_DETAILS'));
     $contactList->setValue('lst_org_id', $this->getValue('org_id'));
     $contactList->setValue('lst_global', 1);
     $contactList->addColumn(1, $gProfileFields->getProperty('LAST_NAME', 'usf_id'), 'ASC');
     $contactList->addColumn(2, $gProfileFields->getProperty('FIRST_NAME', 'usf_id'), 'ASC');
     $contactList->addColumn(3, $gProfileFields->getProperty('BIRTHDAY', 'usf_id'));
     $contactList->addColumn(4, $gProfileFields->getProperty('ADDRESS', 'usf_id'));
     $contactList->addColumn(5, $gProfileFields->getProperty('POSTCODE', 'usf_id'));
     $contactList->addColumn(6, $gProfileFields->getProperty('CITY', 'usf_id'));
     $contactList->addColumn(7, $gProfileFields->getProperty('PHONE', 'usf_id'));
     $contactList->addColumn(8, $gProfileFields->getProperty('MOBILE', 'usf_id'));
     $contactList->addColumn(9, $gProfileFields->getProperty('EMAIL', 'usf_id'));
     $contactList->save();
     $formerList = new ListConfiguration($this->db);
     $formerList->setValue('lst_name', $gL10n->get('INS_MEMBERSHIP'));
     $formerList->setValue('lst_org_id', $this->getValue('org_id'));
     $formerList->setValue('lst_global', 1);
     $formerList->addColumn(1, $gProfileFields->getProperty('LAST_NAME', 'usf_id'));
     $formerList->addColumn(2, $gProfileFields->getProperty('FIRST_NAME', 'usf_id'));
     $formerList->addColumn(3, $gProfileFields->getProperty('BIRTHDAY', 'usf_id'));
     $formerList->addColumn(4, 'mem_begin');
     $formerList->addColumn(5, 'mem_end', 'DESC');
     $formerList->save();
 }
Esempio n. 4
0
$getMode = admFuncVariableIsValid($_GET, 'mode', 'int', array('requireValue' => true));
$getName = admFuncVariableIsValid($_GET, 'name', 'string');
$_SESSION['mylist_request'] = $_POST;
// Mindestens ein Feld sollte zugeordnet sein
if (!isset($_POST['column1']) || strlen($_POST['column1']) === 0) {
    $gMessage->show($gL10n->get('SYS_FIELD_EMPTY', '1. ' . $gL10n->get('LST_COLUMN')));
}
// Rolle muss beim Anzeigen gefuellt sein
if ($getMode === 2 && (!isset($_POST['sel_roles_ids']) || $_POST['sel_roles_ids'] == 0 || !is_array($_POST['sel_roles_ids']))) {
    $gMessage->show($gL10n->get('SYS_FIELD_EMPTY', $gL10n->get('SYS_ROLE')));
}
if (!isset($_POST['sel_show_members'])) {
    $_POST['sel_show_members'] = 0;
}
// Listenobjekt anlegen
$list = new ListConfiguration($gDb, $getListId);
// pruefen, ob Benutzer die Rechte hat, diese Liste zu bearbeiten
if ($getMode !== 2) {
    // globale Listen duerfen nur von Webmastern editiert werden
    if ($list->getValue('lst_global') == 1 && !$gCurrentUser->isWebmaster()) {
        $gMessage->show($gL10n->get('SYS_NO_RIGHTS'));
    } elseif ($list->getValue('lst_usr_id') != $gCurrentUser->getValue('usr_id') && $list->getValue('lst_global') == 0 && $list->getValue('lst_id') > 0) {
        $gMessage->show($gL10n->get('SYS_NO_RIGHTS'));
    }
}
// Liste speichern
if ($getMode === 1 || $getMode === 2) {
    // alle vorhandenen Spalten durchgehen
    for ($columnNumber = 1; isset($_POST['column' . $columnNumber]); ++$columnNumber) {
        if (strlen($_POST['column' . $columnNumber]) > 0) {
            $list->addColumn($columnNumber, $_POST['column' . $columnNumber], $_POST['sort' . $columnNumber], $_POST['condition' . $columnNumber]);
Esempio n. 5
0
        break;
    default:
        break;
}
// Array um den Namen der Tabellen sinnvolle Texte zuzuweisen
$arr_col_name = array('usr_login_name' => $gL10n->get('SYS_USERNAME'), 'usr_photo' => $gL10n->get('PHO_PHOTO'), 'mem_begin' => $gL10n->get('SYS_START'), 'mem_end' => $gL10n->get('SYS_END'), 'mem_leader' => $gL10n->get('SYS_LEADER'));
$mainSql = '';
// enthaelt das Haupt-Sql-Statement fuer die Liste
$str_csv = '';
// enthaelt die komplette CSV-Datei als String
$leiter = 0;
// Gruppe besitzt Leiter
$memberStatus = '';
try {
    // create list configuration object and create a sql statement out of it
    $list = new ListConfiguration($gDb, $getListId);
    $mainSql = $list->getSQL($role_ids, $getShowMembers);
    //echo $mainSql; exit();
} catch (AdmException $e) {
    $e->showHtml();
}
// determine the number of users in this list
$resultList = $gDb->query($mainSql);
$numMembers = $gDb->num_rows($resultList);
if ($numMembers == 0) {
    // Es sind keine Daten vorhanden !
    $gMessage->show($gL10n->get('LST_NO_USER_FOUND'));
}
if ($numMembers < $getStart) {
    $gMessage->show($gL10n->get('SYS_INVALID_PAGE_VIEW'));
}
Esempio n. 6
0
}
// Rolle muss beim Anzeigen gefuellt sein
if ($getMode == 2 && (isset($_POST['rol_id']) == false || $_POST['rol_id'] == 0 || is_numeric($_POST['rol_id']) == false)) {
    $gMessage->show($gL10n->get('SYS_FIELD_EMPTY', 'Rolle'));
}
if (isset($_POST['show_members']) == false) {
    $_POST['show_members'] = 0;
}
// Ehemalige
if (array_key_exists('former', $_POST)) {
    $member_status = 1;
} else {
    $member_status = 0;
}
// Listenobjekt anlegen
$list = new ListConfiguration($gDb, $getListId);
// pruefen, ob Benutzer die Rechte hat, diese Liste zu bearbeiten
if ($getMode != 2) {
    // globale Listen duerfen nur von Webmastern editiert werden
    if ($list->getValue('lst_global') == 1 && $gCurrentUser->isWebmaster() == false) {
        $gMessage->show($gL10n->get('SYS_NO_RIGHTS'));
    } elseif ($list->getValue('lst_usr_id') != $gCurrentUser->getValue('usr_id') && $list->getValue('lst_global') == 0 && $list->getValue('lst_id') > 0) {
        $gMessage->show($gL10n->get('SYS_NO_RIGHTS'));
    }
}
// Liste speichern
if ($getMode == 1 || $getMode == 2 || $getMode == 4) {
    // alle vorhandenen Spalten durchgehen
    $columnNumber = 0;
    for ($number = 1; isset($_POST['column' . $number]); $number++) {
        if (strlen($_POST['column' . $number]) > 0) {