本文整理汇总了PHP中Lib::table方法的典型用法代码示例。如果您正苦于以下问题:PHP Lib::table方法的具体用法?PHP Lib::table怎么用?PHP Lib::table使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Lib
的用法示例。
在下文中一共展示了Lib::table方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: populateSlackUsers
public function populateSlackUsers()
{
$identifier = Lib::cookie(Lib::hash(Config::$userkey));
$user = Lib::table('user');
$isLoggedIn = !empty($identifier) && $user->load(array('identifier' => $identifier));
if (!$isLoggedIn || $user->role != USER_ROLE_ADMIN) {
echo 'You are not authorized';
exit;
}
$helper = Lib::helper('slack');
$users = $helper->getUsers();
if ($users === false) {
echo $helper->error;
exit;
}
foreach ($users as $user) {
$table = Lib::table('slackuser');
$table->load(array('slack_id' => $user->id));
$table->team_id = $user->team_id;
$table->name = $user->name;
$table->email = $user->email;
$table->store();
}
echo 'Imported ' . count($users) . ' users.';
exit;
}
示例2: main
public function main()
{
$this->meta[] = array('name' => 'google-signin-client_id', 'content' => Config::$googleClientId . '.apps.googleusercontent.com');
$cookie = Lib::cookie();
$identifier = $cookie->get(Lib::hash(Config::$userkey));
$user = Lib::table('user');
$isLoggedIn = !empty($identifier) && $user->load(array('identifier' => $identifier));
$this->set('user', $user);
$this->set('isLoggedIn', $isLoggedIn);
$this->js[] = $isLoggedIn ? 'inbox' : 'login';
if ($isLoggedIn) {
array_shift($this->js);
$id = Req::get('id');
if (empty($id)) {
Lib::redirect('index');
}
$report = Lib::table('report');
if (!$report->load($id)) {
$this->template = 'no-report';
return;
}
$report->init();
$assignees = Lib::model('user')->getProjectAssignees($report->project_id);
$projectTable = Lib::table('project');
$projectTable->load($report->project_id);
$this->set('report', $report);
$this->set('assignees', $assignees);
$this->set('project', $projectTable);
}
}
示例3: saveAssignees
public function saveAssignees()
{
$keys = array('project', 'setting');
if (!Req::haspost($keys)) {
return $this->fail('Insufficient data.');
}
$identifier = Lib::cookie(Lib::hash(Config::$userkey));
$user = Lib::table('user');
$isLoggedIn = !empty($identifier) && $user->load(array('identifier' => $identifier));
if (!$isLoggedIn || $user->role != USER_ROLE_ADMIN) {
return $this->fail('You are not authorized.');
}
$project = Req::post('project');
$setting = json_decode(Req::post('setting'));
$projectTable = Lib::table('project');
if ($project !== 'all' && $project !== '-1' && !$projectTable->load(array('name' => $project))) {
return $this->fail('No such project.');
}
if ($project !== 'all') {
$projectAssignee = Lib::table('project_assignee');
$projectAssignee->load(array('user_id' => $setting->id, 'project_id' => $projectTable->id));
if ($setting->value) {
$projectAssignee->store();
} else {
$projectAssignee->delete();
}
}
return $this->success();
}
示例4: main
public function main()
{
$filterProject = Req::get('project');
if (empty($filterProject)) {
$this->template = 'empty-project';
return;
}
$projectTable = Lib::table('project');
if (!$projectTable->load(array('name' => $filterProject))) {
$this->set('name', $filterProject);
$this->template = 'new-project';
return;
}
$this->meta[] = array('name' => 'google-signin-client_id', 'content' => Config::$googleClientId . '.apps.googleusercontent.com');
$cookie = Lib::cookie();
$identifier = $cookie->get(Lib::hash(Config::$userkey));
$user = Lib::table('user');
$isLoggedIn = !empty($identifier) && $user->load(array('identifier' => $identifier));
$this->set('user', $user);
$this->set('filterProject', $filterProject);
$this->set('filterSettingsProject', $filterProject);
$this->set('isLoggedIn', $isLoggedIn);
if (!$isLoggedIn) {
$this->js[] = 'login';
}
if ($isLoggedIn) {
$this->js[] = 'inbox';
$this->js[] = 'settings';
array_shift($this->js);
$userModel = Lib::model('user');
$assignees = $userModel->getProjectAssignees($projectTable->id);
$users = $userModel->getUsers();
$filterState = $cookie->get('filter-state', 'pending');
$filterAssignee = $cookie->get('filter-assignee', empty($assignees[$user->id]) ? 'all' : $user->id);
$filterSort = $cookie->get('filter-sort', 'asc');
$reportModel = Lib::model('report');
$reports = $reportModel->getItems(array('state' => constant('STATE_' . strtoupper($filterState)), 'assignee_id' => $filterAssignee, 'order' => 'date', 'direction' => $filterSort, 'project_id' => $projectTable->id));
$userSettingsTable = Lib::table('user_settings');
if (!$userSettingsTable->load(array('user_id' => $user->id, 'project_id' => $projectTable->id))) {
$userSettingsTable->load(array('user_id' => $user->id, 'project_id' => 0));
}
$userSettings = $userSettingsTable->getData();
if ($userSettings['color'] !== 'cyan' && $userSettings['color'] !== 'custom') {
$this->css[] = 'theme-' . str_replace(' ', '', $userSettings['color']);
}
$categories = Lib::model('category')->getCategories(['projectid' => $projectTable->id]);
$this->set('filterState', $filterState);
$this->set('filterAssignee', $filterAssignee);
$this->set('filterSort', $filterSort);
$this->set('reports', $reports);
$this->set('assignees', $assignees);
$this->set('userSettings', $userSettings);
$this->set('users', $users);
$this->set('projectTable', $projectTable);
$this->set('categories', $categories);
}
}
示例5: to
public function to($userid)
{
$userTable = Lib::table('user');
$userTable->load($userid);
$table = Lib::table('slackuser');
if ($table->load(array('email' => $userTable->email))) {
$this->channel = '@' . $table->name;
}
}
示例6: send
public static function send($data)
{
if (!$data['to'] || !$data['text']) {
return false;
}
$slackTable = Lib::table('slackuser');
if ($slackTable->load(['email' => $data['to']])) {
// Send slack
$slackMessage = Lib::helper('slack')->newMessage();
$slackMessage->channel = '@' . $slackTable->name;
$slackMessage->text = $data['text'];
$messageKeys = ['username', 'icon_emoji'];
foreach ($messageKeys as $mKey) {
if (!empty($data[$mKey])) {
$slackMessage->{$mKey} = $data[$mKey];
}
}
if (!empty($data['attachments'])) {
$attachmentKeys = ['fallback', 'color', 'title', 'title_link', 'text'];
foreach ($data['attachments'] as $attach) {
$attachment = $slackMessage->newAttachment();
foreach ($attachmentKeys as $aKey) {
if (!empty($attach[$aKey])) {
$attachment->{$aKey} = $attach[$aKey];
}
}
if (!empty($attach['fields'])) {
foreach ($attach['fields'] as $fieldKey => $fieldValue) {
$attachment->newField($fieldKey, $fieldValue);
}
}
}
}
$slackMessage->send();
} else {
// Send email
$mail = Lib::helper('mail')->newMessage();
$mail->recipientEmail = $data['to'];
$mail->subject = 'Report Notification';
$mail->body = '<p>' . $data['text'] . '</p>';
$attachments = '';
foreach ($data['attachments'] as $attach) {
if (empty($attach['title']) || empty($attach['title_link'])) {
continue;
}
$attachments .= '<p><a href="' . $attach['title_link'] . '">' . $attach['title'] . '</a></p>';
}
if (!empty($attachments)) {
$mail->body .= '<p><strong><u>Attachments</u></strong></p>';
$mail->body .= $attachments;
}
$mail->body .= '<p style="font-size: 10px;">Do not reply to this email.</p>';
$mail->send();
}
return true;
}
示例7: attach
public function attach($key, $file)
{
$fileObject = Lib::file($file['tmp_name'], $file['name']);
$copiedFile = $fileObject->copy(Config::getBasePath() . '/' . Config::$attachmentFolder, $key . '-' . $file['name']);
$attachmentTable = Lib::table('comment_attachment');
$attachmentTable->link($this);
$attachmentTable->filename = $copiedFile->filename;
$attachmentTable->name = $file['name'];
$attachmentTable->store();
}
示例8: getCategory
public function getCategory()
{
static $categories = [];
if (!isset($categories[$this->category_id])) {
$category = Lib::table('category');
$category->load($this->category_id);
$categories[$this->category_id] = $category;
}
return $categories[$this->category_id];
}
示例9: main
public function main()
{
$key = Lib::hash(Config::$adminkey);
$cookie = Lib::cookie();
$identifier = $cookie->get($key);
$admin = Lib::table('admin');
$logged = !empty($identifier) && $admin->load(array('identifier' => $identifier));
$type = Req::get('type');
$ref = Req::get('ref');
if (!empty($ref)) {
if ($logged) {
$segments = explode('/', base64_decode($ref));
$base = array_shift($segments);
$type = array_shift($segments);
$subtype = array_shift($segments);
$options = array();
if (!empty($type)) {
$options['type'] = $type;
}
if (!empty($subtype)) {
$options['subtype'] = $subtype;
}
Lib::redirect($base, $options);
return;
}
return $this->form();
}
if (!$logged) {
if (empty($type)) {
return $this->form();
}
$options = array('view' => 'admin');
if (!empty($type)) {
$options['type'] = $type;
}
$subtype = Req::get('subtype');
if (!empty($subtype)) {
$options['subtype'] = $subtype;
}
$ref = Lib::url('admin', $options);
return Lib::redirect('admin', array('view' => 'admin', 'ref' => base64_encode($ref)));
}
if (empty($type)) {
$type = 'index';
}
if (!is_callable(array($this, $type))) {
return Lib::redirect('error');
}
return $this->{$type}();
}
示例10: saveProjectTitle
public function saveProjectTitle()
{
$keys = array('project-title', 'project-name');
$post = Req::post($keys);
if (empty($post['project-name'])) {
Lib::redirect('page', array('view' => 'embed'));
}
if (empty($post['project-title'])) {
Lib::redirect('page', array('view' => 'embed', 'project' => $post['project-name']));
}
$projectTable = Lib::table('project');
$projectTable->load(array('name' => $post['project-name']));
$projectTable->title = $post['project-title'];
$projectTable->store();
Lib::redirect('page', array('view' => 'embed', 'project' => $post['project-name']));
}
示例11: update
public function update()
{
if (!Req::haspost(['id', 'name'])) {
return $this->fail('Insufficient data.');
}
$identifier = Lib::cookie(Lib::hash(Config::$userkey));
$user = Lib::table('user');
$isLoggedIn = !empty($identifier) && $user->load(['identifier' => $identifier]);
if (!$isLoggedIn || $user->role != USER_ROLE_ADMIN) {
return $this->fail('You are not authorized.');
}
$id = Req::post('id');
$name = Req::post('name');
$table = Lib::table('category');
if (!$table->load($id)) {
return $this->false('Invalid data.');
}
$table->name = $name;
$table->store();
return $this->success();
}
示例12: create
public function create()
{
$keys = array('username', 'password');
if (!Req::haspost($keys)) {
return $this->fail();
}
$referral = Req::post('referral');
if (empty($referral) && Lib::model('admin')->hasAdmins()) {
return $this->fail();
}
$post = Req::post($keys);
extract($post);
$admin = Lib::table('admin');
$admin->username = $username;
$admin->setPassword($password);
if (!$admin->store()) {
return $this->fail();
}
$admin->login();
return $this->success();
}
示例13: getSettings
public function getSettings($project = null)
{
$projectId = 0;
if ($project instanceof ProjectTable) {
$projectId = $project->id;
} else {
if (!empty($project) && $project !== 'all' && $project !== '-1') {
$projectTable = Lib::table('project');
$projectTable->load(array('name' => $project));
$projectId = $projectTable->id;
}
if ($project === '-1') {
$projectId = '-1';
}
}
$userSettingsTable = Lib::table('user_settings');
if (empty($project) || $project === 'all' || !$userSettingsTable->load(array('user_id' => $this->id, 'project_id' => $projectId))) {
$userSettingsTable->load(array('user_id' => $this->id, 'project_id' => 0));
}
return $userSettingsTable;
}
示例14: css
public function css()
{
header('Content-Type: text/css');
$script = Req::get('script');
switch ($script) {
case 'theme-custom':
$identifier = Lib::cookie(Lib::hash(Config::$userkey));
$user = Lib::table('user');
$isLoggedIn = !empty($identifier) && $user->load(array('identifier' => $identifier));
if (!$isLoggedIn) {
echo '';
return;
}
$project = Req::get('name');
$projectTable = Lib::table('project');
if ($project !== 'all' && $project !== '-1' && !$projectTable->load(array('name' => $project))) {
echo '';
return;
}
$userSettingsTable = Lib::table('user_settings');
if ($project === '-1') {
$projectTable->id = '-1';
}
if (!$userSettingsTable->load(array('user_id' => $user->id, 'project_id' => $project === 'all' ? 0 : $projectTable->id)) && $project !== 'all') {
$userSettingsTable->load(array('user_id' => $user->id, 'project_id' => 0));
}
$userSettings = $userSettingsTable->getData();
$basecss = $this->output('css/theme-custom');
$keys = array(50, 100, 200, 300, 400, 500, 600, 700, 800, 900);
$search = array();
$replace = array();
foreach ($keys as $key) {
$search[] = '"@@color' . $key . '"';
$replace[] = '#' . $userSettings['color' . $key];
}
$css = str_replace($search, $replace, $basecss);
echo $css;
break;
}
}
示例15: getRow
public function getRow($sql, $bindTable = true)
{
$result = $this->db->query($sql);
if ($result === false) {
throw new Exception($this->db->error);
}
if ($result->num_rows === 0) {
return array();
}
$tables = array();
if (!empty($this->tablename) && $bindTable) {
while ($row = $result->fetch_object()) {
$table = Lib::table($this->tablename);
$table->bind($row);
return $table;
}
} else {
while ($row = $result->fetch_object()) {
return $row;
}
}
}