public function in($name) { $json = App::param($name); if (is_array($json)) { $objects = []; foreach ($json as $jsonItem) { $objects[] = $this->serializer->unserialize($jsonItem); } return $objects; } $object = $this->serializer->unserialize($json); return $object; }
<?php use Enpowi\App; use Enpowi\Modules\DataIn; use Enpowi\Types; use Enpowi\Modules\Module; Module::is(); $page = Types::Pages_Page((new DataIn())->in('page')); $page->replace(App::param('content')); echo 1;
use Enpowi\App; use Enpowi\Users\User; use Enpowi\Modules\Module; use RedBeanPHP\R; Module::is(); switch (App::param('action')) { case 'delete': foreach (App::param('emails') as $email) { (new User($email))->remove(); } echo 1; break; case 'impersonate': $user = new User(App::param('impersonateUser')); echo App::get()->authentication->impersonate($user) ? 1 : -1; break; case 'impersonateAnonymous': App::get()->authentication->impersonateAnonymous(); echo 1; break; case 'find': $beans = R::findAll('user', 'email like :like limit 5', ['like' => '%' . App::param('query') . '%']); $users = []; foreach ($beans as $bean) { $users[] = $bean->email; } echo json_encode($users); break; default: echo 0; }
use Enpowi\Users\Group; use Enpowi\Modules\DataOut; use Enpowi\Modules\Module; Module::is(); $app = App::get(); $auth = $app->authentication; $page = App::paramIs('page') ? App::paramInt('page') : 1; $users = null; if (App::paramIs('email')) { $users = [User::getByEmail(App::param('email'))]; $pages = 0; } else { $users = User::users($page); $pages = User::pages(); } (new DataOut())->add('email', App::param('email'))->add('pages', $pages)->add('page', $page)->add('users', $users)->add('availableGroups', Group::groups())->add('impersonateUser', $auth->isImpersonate() ? $auth->getUser() : [])->add('action', '')->bind(); ?> <form v-module action="users/listService" v-bind:data-done="page ? 'users/list?page=' + page : 'users/list'" class="container"> <h3><span v-t>Users</span> <a v-title="New User" href="#/users/new"><span class="glyphicon glyphicon-plus-sign"></span></a></h3> <input name="q" v-placeholder="find user" v-find="{ find: 'users/listService?action=find&q=', url: 'users/list?email=' }"
<?php use Enpowi\App; use Enpowi\Modules\DataIn; use Enpowi\Types; use Enpowi\Modules\Module; Module::is(); $post = Types::Blog_Post((new DataIn())->in('post')); $post->bean(); $user = App::user(); if ($user->hasPerm('*', '*') || $post->user()->email === $user->email) { $post->replace(App::param('content')); echo 1; } else { echo -1; }
<?php use Enpowi\Users\User; use Enpowi\App; use Enpowi\Modules\Module; Module::is(); $response = []; $user = User::getByEmailAndPassword(App::param('email'), App::param('password')); if ($user === null) { $response['paramResponse'] = ['email' => 'Invalid email or password']; $response['id'] = -1; } else { $login = $user->login(); $response['id'] = $user->id; if (App::paramIs('remember')) { App::get()->authentication->rememberUserId(); } else { App::get()->authentication->forgetUserId(); } } echo json_encode($response);
<?php require_once 'setup/run.php'; use Enpowi\App; use Enpowi\Modules\Module; $moduleName = App::param('module') ?: App::param('m'); $componentName = App::param('component') ?: App::param('c'); $path = dirname(__FILE__); $component = App::loadComponent($path, $moduleName, $componentName); if ($component !== null && !empty($component->file)) { if ($component->isActive()) { Module::run(); $component->runInit(); require_once $component->file; $paramResponse = Module::getParamResponse(); if ($paramResponse !== null) { echo json_encode(['paramResponse' => $paramResponse]); } else { $successResponse = Module::getSuccessResponse(); if ($successResponse !== null) { echo json_encode(['successResponse' => $successResponse]); } } } else { require_once $component->file; } } else { if (!defined('testing')) { echo -1; } }
<?php use Enpowi\App; use Enpowi\Modules\Module; Module::is(); echo ETM\Record::checkIn(App::param('number')) === null ? -1 : 1;
<?php use Enpowi\App; use Enpowi\Modules\Module; use Enpowi\Modules\DataOut; Module::is(); $data = (new DataOut())->add('publisher', (new \ETM\Publisher(App::param('name')))->bindRecords())->out(); ?> <div data="<?php echo $data; ?> " class="container"> <h3><span v-t>Territory History for: </span>{{ publisher.name }}</h3> <table class="table wide"> <thead> <tr> <th v-t>Territory</th> <th v-t>Out</th> <th v-t>In</th> </tr> </thead> <tbody> <tr v-repeat="record : publisher.records"> <td> <a href="#/territory/view?number={{ record.number }}">{{ record.number }}</a> </td> <td>{{ dateFormattedShort(record.out) }}</td> <td>{{ record.in ? dateFormattedShort(record.in) : '' }}</td> </tr>
<?php use Enpowi\App; use Enpowi\Modules\Module; Module::is(); $publishers = ETM\Publisher::searchByName(App::param('query')); $names = []; foreach ($publishers as $publisher) { $names[] = $publisher->name; } echo json_encode($names);
<?php use Enpowi\App; use Enpowi\Modules\Module; use Enpowi\Modules\DataOut; use ETM\Publisher; Module::is(); $data = (new DataOut())->add('publisher', new Publisher(App::param('name')))->out(); ?> <div data="<?php echo $data; ?> " class="container"> <h3><span v-t>Publisher: </span> {{ publisher.name }}</h3> <table class="table"> <tr v-show="publisher.name"> <th v-t>Name</th><td>{{ publisher.name }}</td> </tr> <tr v-show="publisher.email"> <th v-t>Email</th><td>{{ publisher.email }}</td> </tr> <tr v-show="publisher.phone"> <th v-t>Phone</th><td>{{ publisher.phone }}</td> </tr> <tr v-show="publisher.address1"> <th v-t>Address 1</th><td>{{ publisher.adddress1 }}</td> </tr> <tr v-show="publisher.adddress2"> <th v-t>Address 2</th><td>{{ publisher.adddress2 }}</td>
<?php use Enpowi\App; use Enpowi\Users\Group; use Enpowi\Users\User; use Enpowi\Modules\DataOut; use Enpowi\Modules\Module; Module::is(); $data = (new DataOut())->add('user', $user = new User(App::param('email')))->add('groups', Group::editableGroups())->out(); ?> <form listen v-module data="<?php echo $data; ?> " action="group/ofUserService" class="container"> <h3> <span v-t>Groups for: </span> {{ user.email }} </h3> <input name="user" type="hidden" value="{{ stringify( user ) }}"> <div v-repeat=" group : groups ">
<?php use Enpowi\App; use Enpowi\Modules\Module; use Enpowi\Users\User; use Enpowi\Mail; Module::is(); $email = App::param('email'); $user = User::getByEmail($email); $password = $user->resetPassword(); $mailed = (new Mail())->setArgs(['email' => $user->email, 'password' => $password])->send(function (PHPMailer $mail) use($user) { $mail->addAddress($user->email); $mail->Subject = App::$config->siteName . ' Registration'; });
<?php use Enpowi\App; use Enpowi\Users\Group; use Enpowi\Modules\Module; Module::is(); $groupName = App::param('groupName'); $reply = []; $stop = false; if (!Group::isValidGroupName($groupName)) { $reply['groupName'] = 'Invalid'; } if ($stop) { echo json_encode(['paramResponse' => $reply, 'id' => -1]); die; } $id = Group::create($groupName); echo json_encode(['id' => $id]);
<?php use Enpowi\App; use Enpowi\Users\User; use Enpowi\Forms\Utilities; use Enpowi\Modules\Module; Module::is(); $email = App::param('email'); $password = App::param('password'); $repeatPassword = App::param('repeatPassword'); $captcha = App::param('captcha'); $reply = []; $stop = false; if (!User::isEmailValid($email)) { $reply['email'] = 'Invalid'; $stop = true; } if (!User::isUnique($email)) { $reply['email'] = 'Already taken'; $stop = true; } if (!$password === $repeatPassword) { $reply['password'] = '******'; $reply['repeatPassword'] = '******'; $stop = true; } else { if (!User::isValidPassword($password)) { $reply['password'] = '******'; $reply['repeatPassword'] = '******'; $stop = true; }
<?php use Enpowi\App; use Enpowi\Mail; use Enpowi\Modules\DataOut; use Enpowi\Modules\Module; Module::is(); $user = App::$app->user(); $key = App::param('key'); $mailed = false; $isValid = $user->isValid(); $justValidated = false; if ($isValid === false) { if (empty($key)) { $mailed = (new Mail())->setArgs(['key' => $user->validationKey(), 'email' => $user->email])->send(function (PHPMailer $mail) use($user) { $mail->addAddress($user->email); $mail->Subject = App::$config->siteName . ' Registration'; }); } else { if ($user->canValidate() && $user->validationKey() === $key) { $user->setValid(true); $isValid = true; } } } (new DataOut())->add('isValid', $isValid)->add('justValidated', $justValidated)->add('mailed', $mailed)->bind(); ?> <div class="container"> <div v-show="!isValid && mailed"> <h5 v-t>Confirmation On it's way!</h5> <span v-t>We cannot wait to have you on board!</span>
<?php use Enpowi\App; use Enpowi\Users\User; use Enpowi\Modules\Module; Module::is(); $user = User::fromId(App::param('id')); require path . '/modules/user/view.php';
<?php use Enpowi\App; use Enpowi\Users\Group; use Enpowi\Modules\Module; Module::is(); switch (App::param('action')) { case 'delete': foreach (App::param('groupNames') as $groupName) { (new Group($groupName))->removePerms()->remove(); } } echo 1;
<?php use Enpowi\App; use Enpowi\Modules\Module; use ETM\Publisher; Module::is(); if (App::param('action') === 'merge') { $publisher = App::param('publisher'); $publishers = App::params('publishers'); if (Publisher::merge($publisher, $publishers) > 0) { echo 1; } else { echo 0; } }
<?php use Enpowi\App; use Enpowi\Modules\Module; use Enpowi\Modules\DataOut; use ETM\Territory; Module::is(); $data = (new DataOut())->add('territory', (new Territory(App::param('number')))->bindGeoJson())->out(); ?> <form v-module action="territory/edit_service" data-done="territory?number={{ territory.number }}" class="create container" data="<?php echo $data; ?> "> <style> .create #map { width: 100%; min-height: 500px; } </style> <table> <tr> <th><h3 v-t>Edit Territory</h3></th> <td> : </td> <td> <input v-placeholder="Number" v-model="territory.number"> <input v-placeholder="Locality" v-model="territory.locality">
<?php use Enpowi\App; use Enpowi\Modules\Module; use Enpowi\Modules\DataOut; Module::is(); $data = (new DataOut())->add('cardScale', 100)->add('territory', (new \ETM\Territory(App::param('number')))->bindGeoJson())->add('controlsVisible', false)->out(); ?> <div class="container" data="<?php echo $data; ?> "> <title>Territory {{ territory.number }}</title> <style> #card-container { margin-left: auto; margin-right: auto; position: relative; width: {{ 1000 * (cardScale / 100)}}px; } #card { width: {{ 1000 * (cardScale / 100) }}px; } #map { height: {{ 600 * (cardScale / 100) }}px; width: {{ 1000 * (cardScale / 100) }}px; } #map-mini { height: {{ 375 * (cardScale / 100) }}px; } #card-label {
<?php use Enpowi\App; use Enpowi\Modules\Module; use Enpowi\Modules\DataOut; Module::is(); //TODO: make a listener $data = (new DataOut())->add('territory', (new \ETM\Territory(App::param('number')))->bindGeoJson())->add('history', \ETM\Record::history(App::param('number')))->add('action', 0)->add('publisherName', '')->add('showPublisherLookup', false)->out(); ?> <div class="container center" data="<?php echo $data; ?> "> <title>Territory {{ territory.number }}</title> <style> #map { min-height: 400px; } table.history { width: 50%; margin-left: auto; margin-right: auto; } .glyph-btn { margin-left: 30px; } .glyph-btn img { width: 50px; }
<?php use Enpowi\Modules\DataOut; use Enpowi\App; use Enpowi\Pages\Page; use Enpowi\Modules\Module; Module::is(); $name = App::param('name'); $data = (new DataOut())->add('name', $name)->add('rendered', (new Page($name))->render())->out(); ?> <div v-module data="<?php echo $data; ?> " class="container"> <h3>{{ name }} <a v-title="History" href="#/page/history?name={{ name }}" v-show=" hasPerm('page', 'history') " class="pull-right button"><span class="glyphicon glyphicon-backward"></span></a> <a v-title="Edit" href="#/page/edit?name={{ name }}" v-show=" hasPerm('page', 'edit') " class="pull-right button"><span class="glyphicon glyphicon-edit"></span></a>
<?php use ETM; use Enpowi\App; use Enpowi\Modules\Module; Module::is(); $number = App::param('number'); $publisher = ETM\Publisher::fromName(App::param('publisherName')); echo ETM\Record::checkOut($number, $publisher) === null ? -1 : 1;
<?php use Enpowi\App; use Enpowi\Users\User; use Enpowi\Modules\Module; Module::is(); switch (App::param('action')) { case 'delete': foreach (App::param('emails') as $email) { (new User($email))->remove(); } echo 1; break; case 'impersonate': $user = new User(App::param('impersonateUser')); echo App::get()->authentication->impersonate($user) ? 1 : -1; break; case 'impersonateAnonymous': App::get()->authentication->impersonateAnonymous(); echo 1; break; default: echo 0; }
<?php use Enpowi\App; use Enpowi\Files\Image; use Enpowi\Modules\Module; Module::is(); $image = \Enpowi\Types::Files_Image(Image::getFromHash(App::param('image'))); if ($image !== null && $image->inShare()) { if (App::paramIs('thumb')) { echo $image->toThumbString(); } else { echo $image->toString(); } }
<?php use Enpowi\App; use Enpowi\Users\User; use Enpowi\Modules\Module; Module::is(); $user = App::user(); $password = App::param('password'); $passwordRepeat = App::param('passwordRepeat'); $update = App::paramBool('update'); $stop = false; Module::paramRespond('password', ''); Module::paramRespond('passwordRepeat', ''); Module::paramRespond('passwordUpdated', ''); if (empty($password)) { $stop = true; } if (!$stop && $password !== $passwordRepeat) { Module::paramRespond('passwordRepeat', 'Passwords do not match'); $stop = true; } if (!$stop && !User::isValidPassword($password)) { Module::paramRespond('password', 'Invalid'); $stop = true; } if (!$stop) { if ($update) { if ($user->updatePassword($password)) { Module::paramRespond('passwordUpdated', 'Password updated'); } }
<?php use Enpowi\Modules\DataOut; use Enpowi\Pages\Page; use Enpowi\App; use Enpowi\Modules\Module; Module::is(); $name = App::param('name'); $data = (new DataOut())->add('name', $name)->add('leftPage', Page::byId(App::param('left')))->add('rightPage', Page::byId(App::param('right')))->out(); ?> <div v-module data="<?php echo $data; ?> " class="container"> <h3><span v-t>Comparing: </span>{{ name }}</h3> <table class="table"> <thead> <tr> <th class="center"><span v-t>Edited </span>{{ leftPage.created }}</th> <th class="center"><span v-t>Edited </span>{{ rightPage.created }}</th> </tr> </thead> <tbody> <tr> <td><pre>{{ leftPage.content }}</pre></td> <td><pre>{{ rightPage.content }}</pre></td>
<?php use Enpowi\App; use Enpowi\Users\User; use Enpowi\Modules\Module; Module::is(); $email = App::param('email'); $password = App::param('password'); $reply = []; $stop = false; if (!User::isEmailValid($email)) { $reply['email'] = 'Invalid'; $stop = true; } if (!User::isUnique($email)) { $reply['email'] = 'Already taken'; $stop = true; } if (!User::isValidPassword($password)) { $reply['password'] = '******'; $reply['repeatPassword'] = '******'; $stop = true; } if ($stop) { echo json_encode(['paramResponse' => $reply, 'id' => -1]); die; } $user = User::create($email, $password); echo json_encode(['id' => $user->id]);
<?php use Enpowi\App; use Enpowi\Modules\Module; use Enpowi\Files\Gallery; Module::is(); $name = App::param('name'); $description = App::param('description'); if (!Gallery::isUnique($name)) { Module::paramRespond('name', 'Not unique'); } else { $id = Gallery::create($name, $description); Module::successRespond('g', $id); }