Example #1
0
/**
 * 名簿をエクスポート
 *
 * @return string
 */
function service_member_export()
{
    // 名簿を取得
    $members = select_members(array('where' => 'members.public = 1', 'order_by' => 'members.id'), array('associate' => true));
    // CSV形式に整形
    $data = mb_convert_encoding('"ID","登録日時","更新日時","削除","クラスID","名前","名前(フリガナ)","成績","生年月日","メールアドレス","電話番号","メモ","画像1","画像2","公開","クラス名","分類ID"', 'SJIS-WIN', 'UTF-8');
    $data .= "\n";
    foreach ($members as $member) {
        $flag = false;
        foreach ($member as $key => $value) {
            if ($flag) {
                $data .= ',';
            }
            if ($key === 'grade') {
                $value = $GLOBALS['config']['options']['member']['grades'][$value];
            } elseif ($key === 'public') {
                $value = $GLOBALS['config']['options']['member']['publics'][$value];
            } elseif ($key === 'category_sets') {
                $value = implode(',', $value);
            }
            $data .= '"' . ($value !== '' ? str_replace('"', '""', mb_convert_encoding($value, 'SJIS-WIN', 'UTF-8')) : '') . '"';
            $flag = true;
        }
        $data .= "\n";
    }
    return $data;
}
Example #2
0
<?php

if (empty($_GET['id'])) {
    // 名簿を取得
    $members = select_members(array('select' => 'DISTINCT members.id, members.name', 'where' => array('members.class_id = :class_id AND members.public = 1', array('class_id' => $_GET['class_id'])), 'order_by' => 'members.id'), array('associate' => true));
    header('Content-Type: application/json; charset=' . MAIN_CHARSET);
    echo json_encode(array('status' => 'OK', 'members' => $members));
    exit;
} else {
    // 名簿を取得
    $members = select_members(array('where' => array('members.id = :id AND members.public = 1', array('id' => $_GET['id']))), array('associate' => true));
    if (empty($members)) {
        warning('名簿が見つかりません。');
    } else {
        $_view['member'] = $members[0];
    }
}
// タイトル
$_view['title'] = '名簿表示';
Example #3
0
}
// ページを取得
if (isset($_GET['page'])) {
    $_GET['page'] = intval($_GET['page']);
} else {
    $_GET['page'] = 1;
    $_SESSION['bulk']['member'] = array();
}
// 名簿を取得
if (empty($_GET['class_id'])) {
    $where = null;
} else {
    $where = array('members.class_id = :class_id', array('class_id' => $_GET['class_id']));
}
$_view['members'] = select_members(array('where' => $where, 'order_by' => 'id', 'limit' => array(':offset, :limit', array('offset' => $GLOBALS['config']['limits']['member'] * ($_GET['page'] - 1), 'limit' => $GLOBALS['config']['limits']['member']))), array('associate' => true));
$_view['member_count'] = select_members(array('select' => 'COUNT(DISTINCT members.id) AS count', 'where' => $where), array('associate' => true));
$_view['member_count'] = $_view['member_count'][0]['count'];
$_view['member_page'] = ceil($_view['member_count'] / $GLOBALS['config']['limits']['member']);
// 教室を取得
$classes = select_classes(array('order_by' => 'sort, id'));
$class_sets = array();
foreach ($classes as $class) {
    $class_sets[$class['id']] = $class;
}
$_view['class_sets'] = $class_sets;
$_view['classes'] = $classes;
// 分類を取得
$categories = select_categories(array('order_by' => 'sort, id'));
$category_sets = array();
foreach ($categories as $category) {
    $category_sets[$category['id']] = $category;
Example #4
0
                $_SESSION['bulk']['member'][$id] = true;
            } else {
                unset($_SESSION['bulk']['member'][$id]);
            }
        }
    } else {
        if ($_POST['checked'] === '1') {
            $_SESSION['bulk']['member'][$_POST['id']] = true;
        } else {
            unset($_SESSION['bulk']['member'][$_POST['id']]);
        }
    }
    ok();
} elseif (!empty($_SESSION['bulk']['member'])) {
    // 処理対象を取得
    $_view['members'] = select_members(array('where' => 'members.id IN(' . implode(',', array_map('db_escape', array_keys($_SESSION['bulk']['member']))) . ')', 'order_by' => 'members.id'), array('associate' => true));
    $_view['member_bulks'] = array_keys($_SESSION['bulk']['member']);
    // 教室を取得
    $classes = select_classes(array('order_by' => 'sort, id'));
    $class_sets = array();
    foreach ($classes as $class) {
        $class_sets[$class['id']] = $class;
    }
    $_view['class_sets'] = $class_sets;
    $_view['classes'] = $classes;
    // 分類を取得
    $categories = select_categories(array('order_by' => 'sort, id'));
    $category_sets = array();
    foreach ($categories as $category) {
        $category_sets[$category['id']] = $category;
    }
Example #5
0
     foreach (array_keys($GLOBALS['config']['file_permissions'][$_GET['format']]) as $permission) {
         if (preg_match($GLOBALS['config']['file_permissions'][$_GET['format']][$permission]['regexp'], $_SESSION['file'][$_GET['target']][$_GET['key']]['name'])) {
             // マイムタイプ
             $mime = $GLOBALS['config']['file_permissions'][$_GET['format']][$permission]['mime'];
             break;
         }
     }
     // コンテンツ
     $content = $_SESSION['file'][$_GET['target']][$_GET['key']]['data'];
 } elseif (isset($_GET['id'])) {
     // 登録内容からファイルを取得
     $results = array();
     if ($_GET['target'] === 'class') {
         $results = select_classes(array('where' => array('id = :id', array('id' => $_GET['id']))));
     } elseif ($_GET['target'] === 'member') {
         $results = select_members(array('where' => array('id = :id', array('id' => $_GET['id']))));
     }
     if (empty($results)) {
         warning('データが見つかりません。');
     } else {
         $result = $results[0];
     }
     $file = $GLOBALS['config']['file_targets'][$_GET['target']] . intval($_GET['id']) . '/' . $result[$_GET['key']];
     if (is_file($file)) {
         foreach (array_keys($GLOBALS['config']['file_permissions'][$_GET['format']]) as $permission) {
             if (preg_match($GLOBALS['config']['file_permissions'][$_GET['format']][$permission]['regexp'], $result[$_GET['key']])) {
                 // マイムタイプ
                 $mime = $GLOBALS['config']['file_permissions'][$_GET['format']][$permission]['mime'];
                 break;
             }
         }
Example #6
0
<?php

// コードを取得
if (isset($_params[1])) {
    $_GET['code'] = $_params[1];
}
if (!isset($_GET['code']) || !preg_match('/^[\\w\\-]+$/', $_GET['code'])) {
    error('不正なアクセスです。');
}
// ページを取得
if (isset($_GET['page'])) {
    $_GET['page'] = intval($_GET['page']);
} else {
    $_GET['page'] = 1;
}
// 教室を取得
$classes = select_classes(array('where' => array('code = :code', array('code' => $_GET['code']))));
if (empty($classes)) {
    warning('教室が見つかりません。');
} else {
    $_view['class'] = $classes[0];
}
// 名簿を取得
$_view['members'] = select_members(array('where' => array('members.class_id = :class_id AND members.public = 1', array('class_id' => $_view['class']['id'])), 'order_by' => 'members.id', 'limit' => array(':offset, :limit', array('offset' => $GLOBALS['config']['limits']['member'] * ($_GET['page'] - 1), 'limit' => $GLOBALS['config']['limits']['member']))), array('associate' => true));
$_view['member_count'] = select_members(array('select' => 'COUNT(*) AS count', 'where' => array('members.class_id = :class_id AND members.public = 1', array('class_id' => $_view['class']['id']))), array('associate' => true));
$_view['member_count'] = $_view['member_count'][0]['count'];
$_view['member_page'] = ceil($_view['member_count'] / $GLOBALS['config']['limits']['member']);
// タイトル
$_view['title'] = $_view['class']['name'];
function mass_subscribe()
{
    global $vars, $db, $t, $config;
    $vars = unserialize($vars['vars']);
    if (!check_form()) {
        display_form();
        return;
    }
    $added = 0;
    foreach (select_members() as $member_id => $m) {
        switch ($vars['assign_date']) {
            case 'SAME':
                $b = $m['begin_date'];
                $e = $m['expire_date'];
                break;
            case 'FIXED':
                $b = date('Y-m-d', strtotime($vars['period_begin']));
                $e = date('Y-m-d', strtotime($vars['period_end']));
                break;
            case 'LIFETIME':
                $b = date('Y-m-d');
                $e = '2037-12-31';
                break;
            default:
                die("Unknown assign_date method - internal error");
        }
        //        print "$b=$e<br />";
        $p = array('member_id' => $member_id, 'product_id' => $vars['product_id'], 'begin_date' => $b, 'expire_date' => $e, 'completed' => 1, 'paysys_id' => 'manual', 'receipt_id' => $vars['receipt_id'], 'amount' => $vars['amount']);
        $db->add_payment($p);
        $added++;
    }
    admin_log("Mass Subscribe {$sf} to Product #{$vars['product_id']}", "products", $vars['product_id']);
    $t->assign('text', "{$added} subscriptions added succesfully.");
    $t->assign('link', "products.php");
    $t->display("admin/mass_subscribed.html");
}