Merge branch 'master' of bitbucket.org:colosa/processmaker

This commit is contained in:
Erik Amaru Ortiz
2013-11-26 11:11:52 -04:00
15 changed files with 1775 additions and 13 deletions

View File

@@ -1,12 +1,11 @@
<?php
require_once 'classes/model/om/BaseOauthAccessTokens.php';
require_once ("classes" . PATH_SEP . "model" . PATH_SEP . "om" . PATH_SEP . "BaseOauthAccessTokens.php");
/**
* Skeleton subclass for representing a row from the 'OAUTH_ACCESS_TOKENS' table.
*
*
*
*
* You should add additional methods to this class to meet the
* application requirements. This class will only be generated as
@@ -14,6 +13,166 @@ require_once 'classes/model/om/BaseOauthAccessTokens.php';
*
* @package classes.model
*/
class OauthAccessTokens extends BaseOauthAccessTokens {
class OauthAccessTokens extends BaseOauthAccessTokens
{
public function load($oauthAccessTokenId)
{
try {
$oatoken = OauthAccessTokensPeer::retrieveByPK($oauthAccessTokenId);
if (!is_null($oatoken)) {
$arrayField = $oatoken->toArray(BasePeer::TYPE_FIELDNAME);
$this->fromArray($arrayField, BasePeer::TYPE_FIELDNAME);
$this->setNew(false);
return $arrayField;
} else {
throw (new Exception("The row \"$oauthAccessTokenId\" in table OAUTH_ACCESS_TOKENS doesn't exist!"));
}
} catch (Exception $e) {
throw $e;
}
}
public function update($arrayData)
{
$cnn = Propel::getConnection(OauthAccessTokensPeer::DATABASE_NAME);
try {
$cnn->begin();
$this->load($arrayData["ACCESS_TOKEN"]);
$this->fromArray($arrayData, BasePeer::TYPE_FIELDNAME);
if ($this->validate()) {
if (isset($arrayData["CLIENT_ID"])) {
$this->setClientId($arrayData["CLIENT_ID"]);
}
if (isset($arrayData["USER_ID"])) {
$this->setUserId($arrayData["USER_ID"]);
}
if (isset($arrayData["EXPIRES"])) {
$this->setExpires($arrayData["EXPIRES"]);
}
if (isset($arrayData["SCOPE"])) {
$this->setScope($arrayData["SCOPE"]);
}
$result = $this->save();
$result = ($result == 0)? (($contentResult > 0)? 1 : 0) : $result;
$cnn->commit();
return $result;
} else {
$cnn->rollback();
throw (new Exception("Failed Validation in class \"" . get_class($this) . "\"."));
}
} catch (Exception $e) {
$cnn->rollback();
throw $e;
}
}
public function remove($oauthAccessTokenId)
{
$cnn = Propel::getConnection(OauthAccessTokensPeer::DATABASE_NAME);
try {
$oclient = OauthAccessTokensPeer::retrieveByPK($oauthAccessTokenId);
if (!is_null($oclient)) {
$cnn->begin();
$result = $oclient->delete();
$cnn->commit();
return $result;
} else {
throw (new Exception("The row \"$oauthAccessTokenId\" in table OAUTH_ACCESS_TOKENS doesn't exist!"));
}
} catch (Exception $e) {
$cnn->rollback();
throw $e;
}
}
public function getAll($arrayFilterData = array(), $sortField = "", $sortDir = "", $start = 0, $limit = 25)
{
//SQL
$criteria = new Criteria("workflow");
$criteria->addSelectColumn(OauthAccessTokensPeer::ACCESS_TOKEN);
$criteria->addSelectColumn(OauthAccessTokensPeer::CLIENT_ID);
$criteria->addSelectColumn(OauthAccessTokensPeer::USER_ID);
$criteria->addSelectColumn(OauthAccessTokensPeer::EXPIRES);
$criteria->addSelectColumn(OauthAccessTokensPeer::SCOPE);
$criteria->addSelectColumn(OauthClientsPeer::CLIENT_NAME);
$criteria->addSelectColumn(OauthClientsPeer::CLIENT_DESCRIPTION);
$criteria->addJoin(OauthAccessTokensPeer::CLIENT_ID, OauthClientsPeer::CLIENT_ID, Criteria::LEFT_JOIN);
if ($arrayFilterData && isset($arrayFilterData["USER_ID"]) && $arrayFilterData["USER_ID"] != "") {
$criteria->add(OauthAccessTokensPeer::USER_ID, $arrayFilterData["USER_ID"], Criteria::EQUAL);
}
if ($sortField && $sortField != "") {
switch ($sortField) {
case "CLIENT_NAME":
case "CLIENT_DESCRIPTION":
$sortField = OauthClientsPeer::TABLE_NAME . "." . $sortField;
break;
default:
$sortField = OauthAccessTokensPeer::TABLE_NAME . "." . $sortField;
break;
}
} else {
$sortField = OauthClientsPeer::CLIENT_NAME;
}
if ($sortDir && $sortDir == "DESC") {
$criteria->addDescendingOrderByColumn($sortField);
} else {
$criteria->addAscendingOrderByColumn($sortField);
}
//Number records total
$criteriaCount = clone $criteria;
$criteriaCount->clearSelectColumns();
$criteriaCount->addSelectColumn("COUNT(" . OauthAccessTokensPeer::ACCESS_TOKEN . ") AS NUM_REC");
$rsCriteriaCount = OauthAccessTokensPeer::doSelectRS($criteriaCount);
$rsCriteriaCount->setFetchmode(ResultSet::FETCHMODE_ASSOC);
$rsCriteriaCount->next();
$row = $rsCriteriaCount->getRow();
$numRecTotal = $row["NUM_REC"];
//SQL
if ($start && $limit && $limit > 0) {
$criteria->setOffset($start);
$criteria->setLimit($limit);
}
$rsCriteria = OauthAccessTokensPeer::doSelectRS($criteria);
$rsCriteria->setFetchmode(ResultSet::FETCHMODE_ASSOC);
$arrayData = array();
while ($rsCriteria->next()) {
$arrayData[] = $rsCriteria->getRow();
}
return array("numRecTotal" => $numRecTotal, "data" => $arrayData);
}
}
// OauthAccessTokens
} // OauthAccessTokens

View File

@@ -1,12 +1,11 @@
<?php
require_once 'classes/model/om/BaseOauthClients.php';
require_once ("classes" . PATH_SEP . "model" . PATH_SEP . "om" . PATH_SEP . "BaseOauthClients.php");
/**
* Skeleton subclass for representing a row from the 'OAUTH_CLIENTS' table.
*
*
*
*
* You should add additional methods to this class to meet the
* application requirements. This class will only be generated as
@@ -14,6 +13,200 @@ require_once 'classes/model/om/BaseOauthClients.php';
*
* @package classes.model
*/
class OauthClients extends BaseOauthClients {
class OauthClients extends BaseOauthClients
{
public function load($oauthClientId)
{
try {
$oclient = OauthClientsPeer::retrieveByPK($oauthClientId);
if (!is_null($oclient)) {
$arrayField = $oclient->toArray(BasePeer::TYPE_FIELDNAME);
$this->fromArray($arrayField, BasePeer::TYPE_FIELDNAME);
$this->setNew(false);
return $arrayField;
} else {
throw (new Exception("The row \"$oauthClientId\" in table OAUTH_CLIENTS doesn't exist!"));
}
} catch (Exception $e) {
throw $e;
}
}
public function create($arrayData)
{
$cnn = Propel::getConnection(OauthClientsPeer::DATABASE_NAME);
try {
$cnn->begin();
$id = G::generateCode(32, "ALPHA");
$secret = G::generateUniqueID();
$this->setClientId($id);
$this->setClientSecret($secret);
$this->setClientName($arrayData["CLIENT_NAME"]);
$this->setClientDescription($arrayData["CLIENT_DESCRIPTION"]);
$this->setClientWebsite($arrayData["CLIENT_WEBSITE"]);
$this->setRedirectUri($arrayData["REDIRECT_URI"]);
$this->setUsrUid($arrayData["USR_UID"]);
if ($this->validate()) {
$result = $this->save();
$cnn->commit();
return array("CLIENT_ID" => $id, "CLIENT_SECRET" => $secret);
} else {
$cnn->rollback();
throw (new Exception("Failed Validation in class \"" . get_class($this) . "\"."));
}
} catch (Exception $e) {
$cnn->rollback();
throw $e;
}
}
public function update($arrayData)
{
$cnn = Propel::getConnection(OauthClientsPeer::DATABASE_NAME);
try {
$cnn->begin();
$this->load($arrayData["CLIENT_ID"]);
$this->fromArray($arrayData, BasePeer::TYPE_FIELDNAME);
if ($this->validate()) {
if (isset($arrayData["CLIENT_NAME"])) {
$this->setClientName($arrayData["CLIENT_NAME"]);
}
if (isset($arrayData["CLIENT_DESCRIPTION"])) {
$this->setClientDescription($arrayData["CLIENT_DESCRIPTION"]);
}
if (isset($arrayData["CLIENT_WEBSITE"])) {
$this->setClientWebsite($arrayData["CLIENT_WEBSITE"]);
}
if (isset($arrayData["REDIRECT_URI"])) {
$this->setRedirectUri($arrayData["REDIRECT_URI"]);
}
$result = $this->save();
$result = ($result == 0)? (($contentResult > 0)? 1 : 0) : $result;
$cnn->commit();
return $result;
} else {
$cnn->rollback();
throw (new Exception("Failed Validation in class \"" . get_class($this) . "\"."));
}
} catch (Exception $e) {
$cnn->rollback();
throw $e;
}
}
public function remove($oauthClientId)
{
$cnn = Propel::getConnection(OauthClientsPeer::DATABASE_NAME);
try {
$oclient = OauthClientsPeer::retrieveByPK($oauthClientId);
if (!is_null($oclient)) {
$cnn->begin();
$result = $oclient->delete();
$cnn->commit();
return $result;
} else {
throw (new Exception("The row \"$oauthClientId\" in table OAUTH_CLIENTS doesn't exist!"));
}
} catch (Exception $e) {
$cnn->rollback();
throw $e;
}
}
public function getAll($arrayFilterData = array(), $sortField = "", $sortDir = "", $start = 0, $limit = 25)
{
//SQL
$criteria = new Criteria("workflow");
$criteria->addSelectColumn(OauthClientsPeer::CLIENT_ID);
$criteria->addSelectColumn(OauthClientsPeer::CLIENT_SECRET);
$criteria->addSelectColumn(OauthClientsPeer::CLIENT_NAME);
$criteria->addSelectColumn(OauthClientsPeer::CLIENT_DESCRIPTION);
$criteria->addSelectColumn(OauthClientsPeer::CLIENT_WEBSITE);
$criteria->addSelectColumn(OauthClientsPeer::REDIRECT_URI);
$criteria->addSelectColumn(OauthClientsPeer::USR_UID);
if ($arrayFilterData && isset($arrayFilterData["USR_UID"]) && $arrayFilterData["USR_UID"] != "") {
$criteria->add(OauthClientsPeer::USR_UID, $arrayFilterData["USR_UID"], Criteria::EQUAL);
}
if ($arrayFilterData && isset($arrayFilterData["SEARCH"]) && $arrayFilterData["SEARCH"] != "") {
//$criteria->add(
// $criteria->getNewCriterion(OauthClientsPeer::CLIENT_NAME, "%" . $arrayFilterData["SEARCH"] . "%", Criteria::LIKE)->addOr(
// $criteria->getNewCriterion(OauthClientsPeer::CLIENT_DESCRIPTION, "%" . $arrayFilterData["SEARCH"] . "%", Criteria::LIKE))->addOr(
// $criteria->getNewCriterion(OauthClientsPeer::CLIENT_WEBSITE, "%" . $arrayFilterData["SEARCH"] . "%", Criteria::LIKE))->addOr(
// $criteria->getNewCriterion(OauthClientsPeer::REDIRECT_URI, "%" . $arrayFilterData["SEARCH"] . "%", Criteria::LIKE))
//);
$criteria->add(
$criteria->getNewCriterion(OauthClientsPeer::CLIENT_NAME, "%" . $arrayFilterData["SEARCH"] . "%", Criteria::LIKE)->addOr(
$criteria->getNewCriterion(OauthClientsPeer::CLIENT_DESCRIPTION, "%" . $arrayFilterData["SEARCH"] . "%", Criteria::LIKE))
);
}
$sortField = ($sortField && $sortField != "")? OauthClientsPeer::TABLE_NAME . "." . $sortField : OauthClientsPeer::CLIENT_NAME;
if ($sortDir && $sortDir == "DESC") {
$criteria->addDescendingOrderByColumn($sortField);
} else {
$criteria->addAscendingOrderByColumn($sortField);
}
//Number records total
$criteriaCount = clone $criteria;
$criteriaCount->clearSelectColumns();
$criteriaCount->addSelectColumn("COUNT(" . OauthClientsPeer::CLIENT_ID . ") AS NUM_REC");
$rsCriteriaCount = OauthClientsPeer::doSelectRS($criteriaCount);
$rsCriteriaCount->setFetchmode(ResultSet::FETCHMODE_ASSOC);
$rsCriteriaCount->next();
$row = $rsCriteriaCount->getRow();
$numRecTotal = $row["NUM_REC"];
//SQL
if ($start && $limit && $limit > 0) {
$criteria->setOffset($start);
$criteria->setLimit($limit);
}
$rsCriteria = OauthClientsPeer::doSelectRS($criteria);
$rsCriteria->setFetchmode(ResultSet::FETCHMODE_ASSOC);
$arrayData = array();
while ($rsCriteria->next()) {
$arrayData[] = $rsCriteria->getRow();
}
return array("numRecTotal" => $numRecTotal, "data" => $arrayData);
}
}
// OauthClients
} // OauthClients

View File

@@ -0,0 +1,17 @@
<?php
$config = array();
$config["pageSize"] = 20;
$arrayScope = array(
array("value" => "view_processes", "label" => "View Processes"),
array("value" => "edit_processes", "label" => "Edit Processes")
);
$headPublisher = &headPublisher::getSingleton();
$headPublisher->addContent("oauth2" . PATH_SEP . "accessTokenSetup"); //Adding a HTML file .html
$headPublisher->addExtJsScript("oauth2" . PATH_SEP . "accessTokenSetup", false); //Adding a JavaScript file .js
$headPublisher->assign("CONFIG", $config);
$headPublisher->assign("SCOPE", $arrayScope);
G::RenderPage("publish", "extJs");

View File

@@ -0,0 +1,63 @@
<?php
$option = (isset($_POST["option"]))? $_POST["option"] : "";
$response = array();
switch ($option) {
case "UPD":
$oauthAccessTokenId = $_POST["oauthAccessTokenId"];
$scope = $_POST["scope"];
try {
$arrayData = array(
"ACCESS_TOKEN" => $oauthAccessTokenId,
"SCOPE" => $scope
);
$oatoken = new OauthAccessTokens();
$result = $oatoken->update($arrayData);
$response["status"] = "OK";
} catch (Exception $e) {
$response["status"] = "ERROR";
$response["message"] = $e->getMessage();
}
break;
case "DEL":
$oauthAccessTokenId = $_POST["oauthAccessTokenId"];
try {
$oatoken = new OauthAccessTokens();
$result = $oatoken->remove($oauthAccessTokenId);
$response["status"] = "OK";
} catch (Exception $e) {
$response["status"] = "ERROR";
$response["message"] = $e->getMessage();
}
break;
case "LST":
$pageSize = $_POST["pageSize"];
$sortField = (isset($_POST["sort"]))? $_POST["sort"]: "";
$sortDir = (isset($_POST["dir"]))? $_POST["dir"]: "";
$start = (isset($_POST["start"]))? $_POST["start"]: 0;
$limit = (isset($_POST["limit"]))? $_POST["limit"]: $pageSize;
try {
$oatoken = new OauthAccessTokens();
$result = $oatoken->getAll(array("USER_ID" => $_SESSION["USER_LOGGED"]), $sortField, $sortDir, $start, $limit);
$response["status"] = "OK";
$response["success"] = true;
$response["resultTotal"] = $result["numRecTotal"];
$response["resultRoot"] = $result["data"];
} catch (Exception $e) {
$response["status"] = "ERROR";
$response["message"] = $e->getMessage();
}
break;
}
echo G::json_encode($response);

View File

@@ -0,0 +1,12 @@
<?php
$config = array();
$config["pageSize"] = 20;
$headPublisher = &headPublisher::getSingleton();
$headPublisher->addContent("oauth2" . PATH_SEP . "clientSetup"); //Adding a HTML file .html
$headPublisher->addExtJsScript("oauth2" . PATH_SEP . "clientSetup", false); //Adding a JavaScript file .js
$headPublisher->assign("CONFIG", $config);
$headPublisher->assign("CREATE_CLIENT", (isset($_GET["create_app"]))? 1 : 0);
G::RenderPage("publish", "extJs");

View File

@@ -0,0 +1,97 @@
<?php
$option = (isset($_POST["option"]))? $_POST["option"] : "";
$response = array();
switch ($option) {
case "INS":
$name = $_POST["name"];
$description = $_POST["description"];
$webSite = $_POST["webSite"];
$redirectUri = $_POST["redirectUri"];
try {
$arrayData = array(
//"CLIENT_ID" => "",
"CLIENT_NAME" => $name,
"CLIENT_DESCRIPTION" => $description,
"CLIENT_WEBSITE" => $webSite,
"REDIRECT_URI" => $redirectUri,
"USR_UID" => $_SESSION["USER_LOGGED"]
);
$oclient = new OauthClients();
$result = $oclient->create($arrayData);
$response["status"] = "OK";
$response["data"] = $result;
} catch (Exception $e) {
$response["status"] = "ERROR";
$response["message"] = $e->getMessage();
}
break;
case "UPD":
$oauthClientId = $_POST["oauthClientId"];
$name = $_POST["name"];
$description = $_POST["description"];
$webSite = $_POST["webSite"];
$redirectUri = $_POST["redirectUri"];
try {
$arrayData = array(
"CLIENT_ID" => $oauthClientId,
"CLIENT_NAME" => $name,
"CLIENT_DESCRIPTION" => $description,
"CLIENT_WEBSITE" => $webSite,
"REDIRECT_URI" => $redirectUri,
"USR_UID" => $_SESSION["USER_LOGGED"]
);
$oclient = new OauthClients();
$result = $oclient->update($arrayData);
$response["status"] = "OK";
} catch (Exception $e) {
$response["status"] = "ERROR";
$response["message"] = $e->getMessage();
}
break;
case "DEL":
$oauthClientId = $_POST["oauthClientId"];
try {
$oclient = new OauthClients();
$result = $oclient->remove($oauthClientId);
$response["status"] = "OK";
} catch (Exception $e) {
$response["status"] = "ERROR";
$response["message"] = $e->getMessage();
}
break;
case "LST":
$pageSize = $_POST["pageSize"];
$search = $_POST["search"];
$sortField = (isset($_POST["sort"]))? $_POST["sort"]: "";
$sortDir = (isset($_POST["dir"]))? $_POST["dir"]: "";
$start = (isset($_POST["start"]))? $_POST["start"]: 0;
$limit = (isset($_POST["limit"]))? $_POST["limit"]: $pageSize;
try {
$oclient = new OauthClients();
$result = $oclient->getAll(array("USR_UID" => $_SESSION["USER_LOGGED"], "SEARCH" => $search), $sortField, $sortDir, $start, $limit);
$response["status"] = "OK";
$response["success"] = true;
$response["resultTotal"] = $result["numRecTotal"];
$response["resultRoot"] = $result["data"];
} catch (Exception $e) {
$response["status"] = "ERROR";
$response["message"] = $e->getMessage();
}
break;
}
echo G::json_encode($response);

View File

@@ -0,0 +1,8 @@
<?php
$headPublisher = &headPublisher::getSingleton();
$headPublisher->addContent("users" . PATH_SEP . "userMain"); //Adding a html file .html
$headPublisher->addExtJsScript("users" . PATH_SEP . "userMain", true); //Adding a javascript file .js
$headPublisher->assign("CREATE_CLIENT", (isset($_GET["create_app"]))? 1 : 0);
G::RenderPage("publish", "extJs");

View File

@@ -52,7 +52,7 @@ class Server implements iAuthenticate
$this->server->addGrantType(new \OAuth2\GrantType\AuthorizationCode($this->storage));
// Add the "Client Credentials" grant type (it is the simplest of the grant types)
$this->server->addGrantType(new \OAuth2\GrantType\ClientCredentials($this->storage));
//$this->server->addGrantType(new \OAuth2\GrantType\ClientCredentials($this->storage));
// Add the "Refresh token" grant type
$this->server->addGrantType(new \OAuth2\GrantType\RefreshToken($this->storage));

View File

@@ -0,0 +1,2 @@
<div></div>

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1 @@
<div></div>

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1 @@
<div></div>

View File

@@ -0,0 +1,74 @@
Ext.namespace("userMain");
userMain.application = {
init: function ()
{
var treepnlMenu = new Ext.tree.TreePanel({
id: "treepnlMenu",
region: "west",
//title: "",
width: 240,
collapsible: true,
collapseMode: "mini",
hideCollapseTool: true,
split: true,
rootVisible: false,
loader: new Ext.tree.TreeLoader(),
root: new Ext.tree.AsyncTreeNode({
expanded: true,
children: [
{
id: "nodeInfo",
text: "Personal Information",
leaf: true,
url: "../users/usersInit"
},
{
id: "nodeApplication",
text: "Applications",
leaf: true,
url: "../oauth2/accessTokenSetup"
}
]
}),
listeners: {
click: function (node, evt)
{
document.getElementById("iframe").src = node.attributes.url;
},
afterrender: function (treepnl)
{
var index = (CREATE_CLIENT == 1)? 1 : 0;
var node = treepnl.getRootNode().childNodes[index];
node.select();
setTimeout(function () { document.getElementById("iframe").src = (CREATE_CLIENT == 1)? "../oauth2/clientSetup?create_app" : node.attributes.url; }, 5);
}
}
});
var viewport = new Ext.Viewport({
layout: "border",
items: [
treepnlMenu,
{
xtype: "iframepanel",
id: "iframepnlIframe",
region: "center",
frameConfig: {
name: "iframe",
id: "iframe"
},
deferredRender: false
}
]
});
}
}
Ext.onReady(userMain.application.init, userMain.application);

View File

@@ -12,7 +12,7 @@
}
</style>
<body onresize="autoResizeScreen()" onload="autoResizeScreen()">
<iframe name="frameMain" id="frameMain" src ="../users/usersInit" width="100%" height="200" frameborder="0">
<iframe name="frameMain" id="frameMain" src ="../users/userMain<?php echo ((isset($_GET["create_app"]))? "?create_app" : ""); ?>" width="100%" height="200" frameborder="0">
<p>Your browser does not support iframes.</p>
</iframe>
</body>
@@ -21,7 +21,7 @@
h = getStyle(document.getElementById('pm_menu'),'top');
h = h.replace("px", "");
h = parseInt(h) + 18;
if ( document.getElementById('pm_submenu') )
if ( document.getElementById('pm_submenu') )
document.getElementById('pm_submenu').style.display = 'none';
document.documentElement.style.overflowY = 'hidden';
function autoResizeScreen()