Пример #1
0
// Process any updates
// --- NONE ---
// Do queries and create content
$query_member_info = '
  SELECT
    *
  FROM ' . TABLE_MEMBER . '
  LEFT JOIN ' . TABLE_MEMBERSHIP_TYPES . ' USING (membership_type_id)
  WHERE
    member_id = "' . mysql_real_escape_string($member_id) . '"';
$result_member_info = @mysql_query($query_member_info, $connection) or die(debug_print("ERROR: 785033 ", array($query, mysql_error()), basename(__FILE__) . ' LINE ' . __LINE__));
$member_data_found = false;
if ($row_member_info = mysql_fetch_array($result_member_info)) {
    $member_data_found = true;
}
$renewal_info = check_membership_renewal(get_membership_info($member_id));
$member_content = '
  <div id="member_info_main">
    <div id="member_status">
      <span class="member_id">' . $row_member_info['member_id'] . '</span>
      <span class="pending">' . ($row_member_info['pending'] == 1 ? 'PENDING' : '') . '</span>
      <span class="discontinued">' . ($row_member_info['membership_discontinued'] == 1 ? 'DISCONTINUED' : '') . '</span>
    </div>
    <div id="shopping_status">
      <span class="customer_fee">' . number_format($row_member_info['customer_fee_percent'], 3) . '%</span>
      <span class="tax_exempt">' . ($row_member_info['mem_taxexempt'] == 1 ? '(TAX EXEMPT)' : '') . '</span>
      <span class="auth_type">' . implode(', ', explode(',', strtr($row_member_info['auth_type'], '_', ' '))) . '</span>
    </div>
    <div id="member_name">
      <span class="username">' . $row_member_info['username'] . '</span>
      <span class="preferred_name">' . $row_member_info['preferred_name'] . '</span>
Пример #2
0
<?php

include_once 'config_openfood.php';
session_start();
valid_auth('member');
// So paypal_utilities knows this is a local request and not a paypal request
$not_from_paypal = true;
include_once 'paypal_utilities.php';
// Do we need to post membership changes?
if ($_POST['update_membership'] == 'true') {
    include_once 'func.check_membership.php';
    renew_membership($_SESSION['member_id'], $_POST['membership_type_id']);
    // Now update our session membership values
    $membership_info = get_membership_info($_SESSION['member_id']);
    $_SESSION['renewal_info'] = check_membership_renewal($membership_info);
    // Make sure this function does not run again from the template_header.php
    $_POST['update_membership'] = 'false';
}
// Set up English grammar for ordering dates
$relative_text = '';
$close_suffix = '';
$open_suffix = '';
if (strtotime(ActiveCycle::date_open_next()) < time() && strtotime(ActiveCycle::date_closed_next()) > time()) {
    $relative_text = 'Current&nbsp;';
} elseif (strtotime(ActiveCycle::date_closed_next()) > time()) {
    $relative_text = 'Next&nbsp;';
} else {
    $relative_text = 'Prior&nbsp;';
}
if (strtotime(ActiveCycle::date_open_next()) < time()) {
    $open_suffix = 'ed';
Пример #3
0
function renew_membership($member_id, $membership_type_id)
{
    global $connection;
    // First see if the member can sign up for this particular membership_type
    $membership_info = get_membership_info($member_id);
    $renewal_info = check_membership_renewal($membership_info);
    // Compare the member's current membership_type to what they have requested
    if (!in_array($membership_type_id, explode(',', $membership_info['may_convert_to']))) {
        // Requested membership_type is not allowed for this membership_type
        return 'Requested membership_type is not allowed.';
    }
    // Check if this member can renew at the requested membership_type
    $query_membership_type = '
      SELECT
        *
      FROM
        ' . TABLE_MEMBERSHIP_TYPES . '
      WHERE (
        enabled_type = "2"
          OR enabled_type = "3")
        AND FIND_IN_SET(membership_type_id,"' . $membership_info['may_convert_to'] . '")';
    $result_membership_type = mysql_query($query_membership_type, $connection) or die(debug_print("ERROR: 683080 ", array($query_membership_type, mysql_error()), basename(__FILE__) . ' LINE ' . __LINE__));
    if (!($row_membership_type = mysql_fetch_array($result_membership_type))) {
        // Requested membership_type is not allowed
        return 'Requested membership_type is not allowed.';
    }
    // Everything is good to here... so prepare to post the membership.
    //    When switching membership types, we will use the suggested_renewal_date for the
    //    new membership_renewal_date. When keeping the same membership type, we will
    //    use the standard_renewal_date.
    if ($renewal_info['membership_expired'] == false && $renewal_info['membership_type_id'] == $row_membership_type['membership_type_id']) {
        $renewal_date = $renewal_info['standard_renewal_date'];
    } elseif ($renewal_info['suggested_renewal_date'] != '') {
        $renewal_date = $renewal_info['suggested_renewal_date'];
    } else {
        $renewal_date = date('Y-m-d', time());
    }
    // If this is a renewal, then we use the renewal costs but if it
    // is a switch to a different type, then we use the initial cost
    if ($membership_info['membership_type_id'] == $membership_type_id) {
        // Renewal
        $target_field = 'renew_cost';
    } else {
        // Switch type
        $target_field = 'initial_cost';
    }
    // Post the membership receivable
    $transaction_row = add_to_ledger(array('transaction_group_id' => '', 'source_type' => 'member', 'source_key' => $member_id, 'target_type' => 'internal', 'target_key' => 'membership_dues', 'amount' => $row_membership_type[$target_field], 'text_key' => 'membership dues', 'posted_by' => $_SESSION['member_id']));
    // Now update the members table
    $query_members = '
      UPDATE
        ' . TABLE_MEMBER . '
      SET
        last_renewal_date = "' . mysql_real_escape_string($renewal_date) . '",
        membership_type_id = "' . mysql_real_escape_string($membership_type_id) . '"
      WHERE
        member_id = "' . mysql_real_escape_string($member_id) . '"';
    $result_members = mysql_query($query_members, $connection) or die(debug_print("ERROR: 683080 ", array($query_members, mysql_error()), basename(__FILE__) . ' LINE ' . __LINE__));
    if (mysql_affected_rows()) {
        return 'Successfully updated membership.';
    }
}
Пример #4
0
function member_form($m, $errors, $mtype, $is_admin_context = false)
{
    if ($errors) {
        ?>
    <div class="error">
    <p>Votre formulaire comporte une ou plusieurs erreurs:</p>
    <ul class="errorlist">
    <?php 
        foreach ($errors as $e) {
            ?>
        <li><?php 
            echo $e;
            ?>
</li>
    <?php 
        }
        ?>
    </ul>
    </div>
    <?php 
    }
    ?>
<p>Les champs en <b>gras</b> sont obligatoires.</p>
<form method="post">
<?php 
    if (isset($m['id'])) {
        ?>
<input type="hidden" name="m" value="<?php 
        echo $m['id'];
        ?>
">
<?php 
    }
    ?>
<input type="hidden" name="member_type" value="<?php 
    echo $mtype;
    ?>
">
<?php 
    $membership_type = isset($m['type']) ? $m['type'] : '';
    if ($membership_type != '') {
        $membership_assoc = get_membership_info($membership_type);
        echo '<input type="hidden" name="membership_type_id" value="' . htmlspecialchars($membership_assoc['id']) . '">';
        echo '<p><label>Type d\'abonnement: </label> ';
        echo htmlspecialchars($membership_assoc['title']) . ' &agrave; ' . my_currency_format($membership_assoc['amount']) . '</p>';
    } else {
        echo '<p><label for="typeID">Type d\'abonnement: </label> ';
        echo '<select name="membership_type_id" id="typeID">';
        $alltype = get_all_membership_info($mtype);
        foreach ($alltype as $type) {
            if ($type['amount'] != 0 || $type['id'] == $m['membership_type_id'] || $is_admin_context) {
                echo '<option ';
                if ($type['id'] == $m['membership_type_id']) {
                    echo ' selected="selected"';
                }
                echo ' value="' . htmlspecialchars($type['id']) . '">' . $type['title'] . ' (' . my_currency_format($type['amount']) . ')</option>' . "\n";
            }
        }
        echo '</select>';
    }
    ?>
<table>
<?php 
    if ($mtype == 'individual') {
        ?>
  <tr>
    <td><b>Prénom</b>:</td>
    <td><input type="text" name="first_name" size="30" value="<?php 
        echo $m['first_name'];
        ?>
"></td>
  </tr>
  <tr>
    <td><b>Nom</b>:</td>
    <td><input type="text" name="last_name" size="30" value="<?php 
        echo $m['last_name'];
        ?>
"></td>
  </tr>
<?php 
    } else {
        ?>
  <tr>
    <td><b>Nom de l'organisation:</b></td>
    <td><input type="text" name="name" size="30" value="<?php 
        echo $m['name'];
        ?>
"></td>
  </tr>
<?php 
    }
    ?>
  <tr>
    <td><b>Courriel:</b></td>
    <td><input type="text" name="email" size="30" value="<?php 
    echo $m['email'];
    ?>
"></td>
    <td><div class="hint">Ce courriel sera ajouté automatiquement à une liste de diffusion (faible débit).</div></td>
  </tr>
  <tr>
    <td><b>Ville:</b></td>
    <td><input type="text" name="city" size="30" value="<?php 
    echo $m['city'];
    ?>
"></td>
  </tr>
  <tr>
    <td><b>Province:</b></td>
    <td>
      <select name="province">
        <option value=""></option>
        <?php 
    if (!isset($m['province'])) {
        $m['province'] = 'QC';
    }
    // default province
    foreach (get_provinces() as $abb => $name) {
        ?>
        <option value="<?php 
        echo $abb;
        ?>
"<?php 
        if ($abb == $m['province']) {
            ?>
 selected=""<?php 
        }
        ?>
><?php 
        echo $name;
        ?>
</option>
        <?php 
    }
    ?>
      </select>
    </td>
  </tr>
  <tr>
    <td>Adresse:</td>
    <td><input type="text" name="address" size="52" value="<?php 
    echo $m['address'];
    ?>
"></td>
  </tr>
  <tr>
    <td>Code postal:</td>
    <td><input type="text" name="postal_code" value="<?php 
    echo $m['postal_code'];
    ?>
"></td>
  </tr>
  <tr>
    <td>Téléphone:</td>
    <td><input type="text" name="phone" value="<?php 
    echo $m['phone'];
    ?>
"></td>
    <td></td>
  </tr>
  <tr>
    <td>Empreinte OpenPGP:</td>
    <td><input type="text" name="fingerprint" size="52" value="<?php 
    echo $m['fingerprint'];
    ?>
"></td>
    <td><div class="hint">Permettra de voter virtuellement.</div></td>
  </tr>
  <tr>
    <td><b>Mot de passe:</b></td>
    <td><input type="password" name="password"></td>
    <td><div class="hint">Vous permettra d'accéder ultérieurement à votre dossier.</div></td>
  </tr>
  <tr>
    <td><b>Répéter mot de passe:</b></td>
    <td><input type="password" name="password_repeat"></td>
  </tr>
  <?php 
    if ($mtype == 'individual') {
        ?>
  <tr>
    <td>Appartenance:</td>
    <td>
      <select name="organization_id">
        <option value="">Aucune</option>
        <?php 
        $asso_result = get_organizations();
        $org = mysql_fetch_assoc($asso_result);
        while ($org) {
            ?>
<option value="<?php 
            echo $org['member_id'];
            ?>
"<?php 
            if ($m['organization_id'] == $org['member_id']) {
                ?>
 selected=""<?php 
            }
            ?>
><?php 
            echo $org['organization_name'];
            ?>
</option><?php 
            $org = mysql_fetch_assoc($asso_result);
        }
        ?>
      </select>
    </td>
    <td><div class="hint">Ceci est à titre d'information seulement.</div></td>
  </tr>
  <?php 
    }
    ?>
  <tr>
    <td></td><td><input type="submit" value="Procéder"></td>
  </tr>
</table>
</form>
<?php 
}
Пример #5
0
     while ($row = mysql_fetch_array($result)) {
         $_SESSION['member_id'] = $row['member_id'];
         $_SESSION['producer_id_you'] = $row['producer_id'];
         $_SESSION['show_name'] = $row['preferred_name'];
         $username = $row['username'];
         $_SESSION['username'] = $username;
         $member_id = $row['member_id'];
         // Following is needed for gravatar (c.f. http://en.gravatar.com/site/implement/hash/)
         $gravatar_hash = md5(strtolower(trim($row['email_address'])));
         $_SESSION['gravatar_hash'] = $gravatar_hash;
         // Following values are used for the wordpress interface
         $password_hash = $row['password'];
         $auth_types = $row['auth_type'];
     }
     // Save the membership/renewal information into the SESSION to avoid gathering it again
     $membership_info = get_membership_info($member_id);
     $_SESSION['renewal_info'] = check_membership_renewal($membership_info);
     // Enable sumultaneous logging in to wordpress
     if (WORDPRESS_ENABLED == true) {
         // Wordpress needs these to be arrays
         $_GET = array();
         $_POST = array();
         require 'wordpress_utilities.php';
         wordpress_login($member_id, $auth_types);
     }
     // If transferring to another page, then go do that...
     if ($request_uri) {
         header('Location: ' . $request_uri);
         exit(0);
     }
 } elseif ($row_login['membership_discontinued'] == 1) {
Пример #6
0
/**
 * Display member information with his id
 * @param id  member id
 * we quit fast if the member id is 0 or not found (return immediatly)
 */
function showMemberInfo($id)
{
    if ($id === 0) {
        return;
    }
    $member = get_member($id);
    if (!$member) {
        return;
    }
    echo '<form method="post" action="index.php" accept-charset="iso8859-1" id="memberForm" onsubmit="return (this.email.value.length != 0); "><div class="formbox">';
    if ($member['first_name'] != null) {
        $member['first_name'] = stripslashes($member['first_name']);
        $member['last_name'] = stripslashes($member['last_name']);
        $wikiname = $member['first_name'] . $member['last_name'];
        $wikiname = str_replace(array('-', ' ', '\'', '.'), '', $wikiname);
        $url = config('wiki_member_url') . rawurlencode(utf8_encode($wikiname));
        // html escaped
        $html_first_name = htmlspecialchars($member['first_name']);
        $html_last_name = htmlspecialchars($member['last_name']);
        $html_wiki_url = $url;
        // already rawurlencode() + utf8
        $html_wiki_name = htmlspecialchars($wikiname);
        ?>
<p><label class="oblig">Pr&eacute;nom: </label>
   <?php 
        echo $html_first_name;
        ?>
</p>
<p><label class="oblig">Nom: </label>
   <?php 
        echo $html_last_name;
        ?>
</p>
<?php 
    } elseif ($member['organization_name'] != null) {
        $member['organization_name'] = stripslashes($member['organization_name']);
        $wikiname = $member['organization_name'];
        $wikiname = str_replace(array('-', ' ', '\'', '.'), '', $wikiname);
        $url = config('wiki_member_url') . rawurlencode(utf8_encode($wikiname));
        // to html
        $html_organization_name = htmlspecialchars($member['organization_name']);
        $html_wiki_url = $url;
        $html_wiki_name = htmlspecialchars($wikiname);
        ?>
<p><label class="oblig">Nom: </label>
   <?php 
        echo $html_organization_name;
    }
    $membership_type = isset($member['type']) ? $member['type'] : '';
    $membership_assoc = get_membership_info($membership_type);
    if ($membership_type != '') {
        $html_membership_type = htmlspecialchars($membership_assoc['title']) . ' &agrave; ' . my_currency_format($membership_assoc['amount']);
    } else {
        $html_membership_type = ' - ';
    }
    // echo status ( flags & 1 == desactive )
    $html_status = $member['flags'] & 1 ? 'Compte inactif' : 'Compte actif';
    $html_email = htmlspecialchars(stripslashes($member['email']));
    $html_city = htmlspecialchars(stripslashes($member['city']));
    $html_address = htmlspecialchars(stripslashes($member['address']));
    $html_postal_code = htmlspecialchars(stripslashes($member['postal_code']));
    $html_phone = htmlspecialchars(stripslashes($member['phone']));
    $html_fingerprint = htmlspecialchars(stripslashes($member['fingerprint']));
    $html_id = htmlspecialchars(stripslashes($member['id']));
    $html_affiliation_name = htmlspecialchars(stripslashes($member['affiliation_name']));
    // date created
    $html_date_created = htmlspecialchars(format_date($member['date_created']));
    // special case: province are a select list
    $optionsProvince = '';
    foreach (get_provinces() as $abb => $name) {
        $optionsProvince .= '<option value="' . $abb . '"';
        // selected or not?
        $optionsProvince .= $abb == $member['province'] ? 'selected="selected"' : '';
        $optionsProvince .= '>' . htmlspecialchars($name) . '</option>' . "\n";
    }
    ?>
<p><label>Page wiki: </label><a href="<?php 
    echo $html_wiki_url;
    ?>
"><?php 
    echo $html_wiki_name;
    ?>
</a></p> 
<?php 
    $enabled = ($member['flags'] & 1) == 0;
    $class = !$enabled ? 'disabled' : 'membre';
    if ($member['expiry_date'] == 0) {
        $class = 'en attente de paiement';
    } elseif (time() > $member['expiry_date']) {
        $class = 'expir&eacute;';
    }
    $btnRenew = !$enabled && count(get_unpaid_invoices($member['id'])) == 0;
    ?>
</p>
<p><label>&Eacute;tat: </label><?php 
    echo $html_status;
    ?>
 (<?php 
    echo $class;
    ?>
)
<?php 
    if ($btnRenew) {
        ?>
<input type="button" value="Renouveler" onclick="window.location='../renouveler'"/><?php 
    }
    ?>
<p><label>Type d'abonnement: </label><?php 
    echo $html_membership_type;
    ?>
</a></p> 
<p><label class="oblig">Courriel: </label>
   <input type="text" name="email" size="30" value="<?php 
    echo $html_email;
    ?>
"></p>
<p><label class="oblig">Ville: </label>
   <input type="text" name="city" size="30" value="<?php 
    echo $html_city;
    ?>
"></p>
<p><label class="oblig">Province: </label>
   <select name="province"><option value=""></option><?php 
    echo $optionsProvince;
    ?>
</select></p>
<p><label>Adresse: </label>
   <input type="text" name="address" size="52" value="<?php 
    echo $html_address;
    ?>
"></p>
<p><label>Code postal: </label>
   <input type="text" name="postal_code" size="7" value="<?php 
    echo $html_postal_code;
    ?>
"></p>
<p><label>T&eacute;l&eacute;phone: </label>
   <input type="text" name="phone" size="12" value="<?php 
    echo $html_phone;
    ?>
"></p>
<p><label>Empreinte OpenPGP: </label>
   <input type="text" name="fingerprint" size="52" value="<?php 
    echo $html_fingerprint;
    ?>
"></p>
<p><label>Demande d'adh&eacute;sion: </label>
   <span><?php 
    echo $html_date_created;
    ?>
</span></p>
<p><label>ID: </label>
   <span><?php 
    echo $html_id;
    ?>
</span></p>
<p><label>Appartenance: </label>
   <span><?php 
    if ($html_affiliation_name == '') {
        echo "Aucune";
    } else {
        echo $html_affiliation_name;
    }
    ?>
</span></p>

<p class="command">
 <input type="submit" name="cmdSave" value="Modifier">
</p>
</div></form>
<?php 
}