コード例 #1
0
ファイル: login.php プロジェクト: davidaq/coopdev
 function chkLogin()
 {
     $u = $_POST['username'];
     if (!data_exists("user/{$u}/pwd")) {
         return LANG('No such user');
     }
     $p = password($_POST['password']);
     if ($p != data_read("user/{$u}/pwd")) {
         return LANG('Password wrong');
     }
     $_SESSION[USER_SESSION] = $u;
     return false;
 }
コード例 #2
0
ファイル: register.php プロジェクト: davidaq/coopdev
 function chkRegister()
 {
     if (!preg_match('/^[0-9a-zA-Z_]+$/', $_POST['username'])) {
         return LANG('Username must only contain English alphabets, underscore and numbers');
     }
     $u = $_POST['username'];
     if (data_exists("user/{$u}/pwd")) {
         return LANG('User exists');
     }
     if (!isset($_POST['password'][2])) {
         return LANG('Password must be at least 3 charaters long');
     }
     if ($_POST['password'] != $_POST['retype']) {
         return LANG('Password retype doesn\'t match');
     }
     $p = password($_POST['password']);
     data_save("user/{$u}/pwd", $p);
     $_SESSION[USER_SESSION] = $u;
 }
コード例 #3
0
ファイル: status.php プロジェクト: davidaq/coopdev
function list_status($start = NULL, $limit = 50)
{
    $last = last_post_id();
    if ($limit > 0) {
        if (!$start) {
            $start = $last + 1;
        }
        $step = -1;
    } else {
        $limit = -$limit;
        if (!$start) {
            $start = $last - $limit;
        }
        if ($start < 0) {
            $start = 0;
        }
        $n = $last - $start;
        if ($limit > $n) {
            $limit = $n;
        }
        $step = 1;
    }
    $start += $step;
    $ret = array();
    $id = $start;
    while ($limit > 0 && $id > 0 && $id <= $last) {
        if (data_exists("status/post_{$id}")) {
            $item = json_decode(data_read("status/post_{$id}"), true);
            $item['id'] = $id;
            $item['type_lang'] = LANG($item['type']);
            $item['human_time'] = human_time($item['date']);
            $ret[] = $item;
            $limit--;
        }
        $id += $step;
    }
    if ($step > 0) {
        $ret = array_reverse($ret);
    }
    return $ret;
}
コード例 #4
0
ファイル: team.php プロジェクト: davidaq/coopdev
<?php

$data = array();
$data['list'] = array();
$list =& $data['list'];
foreach (data_list('user') as $k => $v) {
    if (data_exists($k . '/info')) {
        $item = json_decode(data_read($k . '/info'), true);
        if (file_exists("data/user/{$v}/avatar.jpg")) {
            $item['avatar'] = BASE . "data/user/{$v}/avatar.jpg";
        } else {
            $item['avatar'] = BASE . 'res/images/default-avatar.jpg';
        }
        $item['o'] = iconv('utf-8', 'gbk', $item['name']);
        $list[] = $item;
    }
}
function sortFunc($a, $b)
{
    return strcmp($b['o'], $a['o']);
}
usort($list, 'sortFunc');
die(tpl('team', $data));
コード例 #5
0
ファイル: ticket.php プロジェクト: davidaq/coopdev
        }
        $item = json_decode(data_read($k), true);
        $item['content'] = $item['content'][0];
        $item['id'] = $v;
        $ret[] = $item;
        $c++;
        if ($c >= 10) {
            break;
        }
    }
    die(json_encode($ret));
} elseif (isset($_POST['rmtag'])) {
    data_remove('ticket/tag/' . base64_encode($_POST['rmtag']));
    die;
} elseif (isset($_GET['id'])) {
    if (!data_exists('ticket/t_' . $_GET['id'])) {
        die(tpl('404', array('hehe' => '123')));
    }
    $tags = data_list('ticket/tag');
    foreach ($tags as &$v) {
        $v = base64_decode($v);
    }
    $item = json_decode(data_read('ticket/t_' . $_GET['id']), true);
    $item['id'] = $_GET['id'];
    die(tpl('show-ticket', array('tags' => $tags, 'ticket' => $item)));
} else {
    $tags = data_list('ticket/tag');
    foreach ($tags as &$v) {
        $v = base64_decode($v);
    }
    die(tpl('ticket', array('tags' => $tags)));
コード例 #6
0
ファイル: calendar.php プロジェクト: davidaq/coopdev
        } else {
            $o = array();
        }
        $c = iescape($_POST['content']);
        $lines = explode("\n", $c);
        $t = $lines[0];
        unset($lines[0]);
        $c = implode('</br>', $lines);
        $o[] = array('title' => $t, 'content' => $c, 'user' => user('id'));
        data_save($dataitem, json_encode($o));
        post_status(LANG('modify the calendar at %%', $_POST['date']));
    }
} elseif ($_GET['action'] == 'delete') {
    if (user() && user('verified') && posted('date', 'key')) {
        $dataitem = 'calendar/' . $_POST['date'];
        if (data_exists($dataitem)) {
            $o = json_decode(data_read($dataitem), true);
        } else {
            $o = array();
        }
        if (isset($o[$_POST['key']])) {
            unset($o[$_POST['key']]);
        }
        if (count($o) <= 0) {
            data_remove($dataitem);
        } else {
            data_save($dataitem, json_encode($o));
        }
        post_status(LANG('modify the calendar at %%', $_POST['date']));
    }
}
コード例 #7
0
ファイル: calendar.php プロジェクト: davidaq/coopdev
    $days[] = array('year' => $prevyear, 'month' => $prevmonth, 'day' => $prevlastday - $i + 1);
}
for ($i = 1; $i <= $lastday; $i++) {
    $days[] = array('active' => true, 'year' => $year, 'month' => $month, 'day' => $i);
}
$j = 1;
for ($i = count($days); $i < 42; $i++) {
    $days[] = array('year' => $nextyear, 'month' => $nextmonth, 'day' => $j++);
}
$ny = date('Y', time()) * 1;
$nm = date('m', time()) * 1;
$nd = date('d', time()) * 1;
foreach ($days as &$day) {
    $y = $day['year'];
    $m = $day['month'];
    $d = $day['day'];
    if ($y == $ny && $m == $nm && $d == $nd) {
        $day['istoday'] = true;
    }
    if (data_exists("calendar/{$y}-{$m}-{$d}")) {
        $day['mark'] = json_decode(data_read("calendar/{$y}-{$m}-{$d}"), true);
    }
}
$ret['days'] = $days;
$ret['year'] = $year;
$ret['month'] = $month;
$ret['prevyear'] = $prevyear;
$ret['prevmonth'] = $prevmonth;
$ret['nextyear'] = $nextyear;
$ret['nextmonth'] = $nextmonth;
die(json_encode($ret));
コード例 #8
0
ファイル: functions.php プロジェクト: sdgdsffdsfff/json-db
function join_single_data($db_name, $table_name, $data, $force_empty = false)
{
    if (data_exists($db_name, $table_name, $data)) {
        return update_current_data($db_name, $table_name, $data, $force_empty);
    } else {
        return create_new_data($db_name, $table_name, $data);
    }
}
コード例 #9
0
ファイル: wiki.php プロジェクト: davidaq/coopdev
            unset($odata[$id]);
            data_save("wiki/{$query}/attachments", json_encode($odata));
        }
    }
    sync_end();
    unlink("data/wiki/{$query}/att_{$id}");
    die;
}
/********************
 * Upload attachment
 ********************/
if (isset($_GET['upload']) && user('verified')) {
    $xdata = json_decode($_SERVER['HTTP_X_DATA'], true);
    $id = $_GET['upload'];
    sync_begin();
    if (data_exists("wiki/{$query}/attachments")) {
        $odata = json_decode(data_read("wiki/{$query}/attachments"), true);
    } else {
        $odata = array();
    }
    $odata[$id] = array('name' => urldecode($xdata['name']), 'size' => $xdata['size']);
    data_save("wiki/{$query}/attachments", json_encode($odata));
    sync_end();
    file_put_contents("data/wiki/{$query}/att_{$id}", file_get_contents('php://input'));
    die;
}
/*****************
 * Get Attachment
 *****************/
if (isset($_GET['x'])) {
    $id = $_GET['x'];
コード例 #10
0
ファイル: index.php プロジェクト: davidaq/coopdev
function getUser($u)
{
    if (data_exists("user/{$u}/pwd")) {
        $id = $u;
        if (!data_exists("user/{$u}/info")) {
            $u = array('name' => $u, 'title' => LANG('Unidentified'), 'verified' => false);
        } else {
            $u = json_decode(data_read("user/{$u}/info"), true);
        }
        $u['id'] = $id;
        if (file_exists("data/user/{$id}/avatar.jpg")) {
            $u['avatar'] = BASE . "data/user/{$id}/avatar.jpg";
        } else {
            $u['avatar'] = BASE . 'res/images/default-avatar.jpg';
        }
        return $u;
    }
    return NULL;
}