Ejemplo n.º 1
0
 public function verifyTitleDashlet($data)
 {
     $response = new stdclass();
     $this->setResponseType("json");
     $response->message = "OK";
     $criteria = new Criteria("workflow");
     $criteria->addSelectColumn(DashletInstancePeer::DAS_INS_UID);
     $criteria->addSelectColumn(DashletInstancePeer::DAS_INS_ADDITIONAL_PROPERTIES);
     $rsCriteria = DashletInstancePeer::doSelectRS($criteria);
     $rsCriteria->setFetchmode(ResultSet::FETCHMODE_ASSOC);
     while ($rsCriteria->next()) {
         $row = $rsCriteria->getRow();
         $arrayField = unserialize($row["DAS_INS_ADDITIONAL_PROPERTIES"]);
         if (isset($arrayField["DAS_INS_TITLE"]) && $arrayField["DAS_INS_TITLE"] != "" && $data->DAS_INS_UID != $row["DAS_INS_UID"]) {
             if ($data->DAS_INS_TITLE == $arrayField["DAS_INS_TITLE"]) {
                 $response->message = "ERROR";
             }
         }
     }
     return $response;
 }
Ejemplo n.º 2
0
 public function getDashletsInstancesForUser($userUid)
 {
     try {
         $dashletsInstances = array();
         // Include required classes
         require_once 'classes/model/Department.php';
         require_once 'classes/model/Users.php';
         // Check for "public" dashlets
         $criteria = new Criteria('workflow');
         $criteria->addSelectColumn(DashletInstancePeer::DAS_INS_UID);
         $criteria->addSelectColumn(DashletInstancePeer::DAS_INS_ADDITIONAL_PROPERTIES);
         $criteria->addSelectColumn(DashletPeer::DAS_CLASS);
         $criteria->addSelectColumn(DashletPeer::DAS_TITLE);
         $criteria->addJoin(DashletInstancePeer::DAS_UID, DashletPeer::DAS_UID, Criteria::INNER_JOIN);
         $criteria->add(DashletInstancePeer::DAS_INS_OWNER_TYPE, 'EVERYBODY');
         $dataset = DashletInstancePeer::doSelectRS($criteria);
         $dataset->setFetchmode(ResultSet::FETCHMODE_ASSOC);
         $dataset->next();
         while ($row = $dataset->getRow()) {
             if (!isset($dashletsInstances[$row['DAS_INS_UID']])) {
                 $arrayField = unserialize($row["DAS_INS_ADDITIONAL_PROPERTIES"]);
                 $row['DAS_XTEMPLATE'] = $this->getXTemplate($row['DAS_CLASS']);
                 $row["DAS_TITLE"] = isset($arrayField["DAS_INS_TITLE"]) && !empty($arrayField["DAS_INS_TITLE"]) ? $arrayField["DAS_INS_TITLE"] : $row["DAS_TITLE"];
                 $row["DAS_TITLE"] = $row["DAS_TITLE"] . (isset($arrayField["DAS_INS_SUBTITLE"]) && !empty($arrayField["DAS_INS_SUBTITLE"]) ? str_replace("@@USR_USERNAME", $_SESSION["USR_USERNAME"], $arrayField["DAS_INS_SUBTITLE"]) : null);
                 $dashletsInstances[$row['DAS_INS_UID']] = $row;
             }
             $dataset->next();
         }
         // Check for the direct assignments
         $usersInstance = new Users();
         $criteria = new Criteria('workflow');
         $criteria->addSelectColumn(DashletInstancePeer::DAS_INS_UID);
         $criteria->addSelectColumn(DashletInstancePeer::DAS_INS_ADDITIONAL_PROPERTIES);
         $criteria->addSelectColumn(DashletPeer::DAS_CLASS);
         $criteria->addSelectColumn(DashletPeer::DAS_TITLE);
         $criteria->addJoin(DashletInstancePeer::DAS_UID, DashletPeer::DAS_UID, Criteria::INNER_JOIN);
         $criteria->add(DashletInstancePeer::DAS_INS_OWNER_TYPE, 'USER');
         $criteria->add(DashletInstancePeer::DAS_INS_OWNER_UID, $userUid);
         $dataset = DashletInstancePeer::doSelectRS($criteria);
         $dataset->setFetchmode(ResultSet::FETCHMODE_ASSOC);
         $dataset->next();
         while ($row = $dataset->getRow()) {
             if (!isset($dashletsInstances[$row['DAS_INS_UID']])) {
                 $arrayField = unserialize($row["DAS_INS_ADDITIONAL_PROPERTIES"]);
                 $row['DAS_XTEMPLATE'] = $this->getXTemplate($row['DAS_CLASS']);
                 $row["DAS_TITLE"] = isset($arrayField["DAS_INS_TITLE"]) && !empty($arrayField["DAS_INS_TITLE"]) ? $arrayField["DAS_INS_TITLE"] : $row["DAS_TITLE"];
                 $row["DAS_TITLE"] = $row["DAS_TITLE"] . (isset($arrayField["DAS_INS_SUBTITLE"]) && !empty($arrayField["DAS_INS_SUBTITLE"]) ? str_replace("@@USR_USERNAME", $_SESSION["USR_USERNAME"], $arrayField["DAS_INS_SUBTITLE"]) : null);
                 $dashletsInstances[$row['DAS_INS_UID']] = $row;
             }
             $dataset->next();
         }
         // Check for department assigments
         $departmentInstance = new Department();
         $departments = $departmentInstance->getDepartmentsForUser($userUid);
         foreach ($departments as $depUid => $department) {
             $criteria = new Criteria('workflow');
             $criteria->addSelectColumn(DashletInstancePeer::DAS_INS_UID);
             $criteria->addSelectColumn(DashletInstancePeer::DAS_INS_ADDITIONAL_PROPERTIES);
             $criteria->addSelectColumn(DashletPeer::DAS_CLASS);
             $criteria->addSelectColumn(DashletPeer::DAS_TITLE);
             $criteria->addJoin(DashletInstancePeer::DAS_UID, DashletPeer::DAS_UID, Criteria::INNER_JOIN);
             $criteria->add(DashletInstancePeer::DAS_INS_OWNER_TYPE, 'DEPARTMENT');
             $criteria->add(DashletInstancePeer::DAS_INS_OWNER_UID, $depUid);
             $dataset = DashletInstancePeer::doSelectRS($criteria);
             $dataset->setFetchmode(ResultSet::FETCHMODE_ASSOC);
             $dataset->next();
             while ($row = $dataset->getRow()) {
                 if (!isset($dashletsInstances[$row['DAS_INS_UID']])) {
                     $arrayField = unserialize($row["DAS_INS_ADDITIONAL_PROPERTIES"]);
                     $row['DAS_XTEMPLATE'] = $this->getXTemplate($row['DAS_CLASS']);
                     $row["DAS_TITLE"] = isset($arrayField["DAS_INS_TITLE"]) && !empty($arrayField["DAS_INS_TITLE"]) ? $arrayField["DAS_INS_TITLE"] : $row["DAS_TITLE"];
                     $row["DAS_TITLE"] = $row["DAS_TITLE"] . (isset($arrayField["DAS_INS_SUBTITLE"]) && !empty($arrayField["DAS_INS_SUBTITLE"]) ? str_replace("@@USR_USERNAME", $_SESSION["USR_USERNAME"], $arrayField["DAS_INS_SUBTITLE"]) : null);
                     $dashletsInstances[$row['DAS_INS_UID']] = $row;
                 }
                 $dataset->next();
             }
         }
         // Check for group assignments
         G::LoadClass('groups');
         $groupsInstance = new Groups();
         $groups = $groupsInstance->getGroupsForUser($userUid);
         foreach ($groups as $grpUid => $group) {
             $criteria = new Criteria('workflow');
             $criteria->addSelectColumn(DashletInstancePeer::DAS_INS_UID);
             $criteria->addSelectColumn(DashletInstancePeer::DAS_INS_ADDITIONAL_PROPERTIES);
             $criteria->addSelectColumn(DashletPeer::DAS_CLASS);
             $criteria->addSelectColumn(DashletPeer::DAS_TITLE);
             $criteria->addJoin(DashletInstancePeer::DAS_UID, DashletPeer::DAS_UID, Criteria::INNER_JOIN);
             $criteria->add(DashletInstancePeer::DAS_INS_OWNER_TYPE, 'GROUP');
             $criteria->add(DashletInstancePeer::DAS_INS_OWNER_UID, $grpUid);
             $dataset = DashletInstancePeer::doSelectRS($criteria);
             $dataset->setFetchmode(ResultSet::FETCHMODE_ASSOC);
             $dataset->next();
             while ($row = $dataset->getRow()) {
                 if (!isset($dashletsInstances[$row['DAS_INS_UID']])) {
                     $arrayField = unserialize($row["DAS_INS_ADDITIONAL_PROPERTIES"]);
                     $row['DAS_XTEMPLATE'] = $this->getXTemplate($row['DAS_CLASS']);
                     $row["DAS_TITLE"] = isset($arrayField["DAS_INS_TITLE"]) && !empty($arrayField["DAS_INS_TITLE"]) ? $arrayField["DAS_INS_TITLE"] : $row["DAS_TITLE"];
                     $row["DAS_TITLE"] = $row["DAS_TITLE"] . (isset($arrayField["DAS_INS_SUBTITLE"]) && !empty($arrayField["DAS_INS_SUBTITLE"]) ? str_replace("@@USR_USERNAME", $_SESSION["USR_USERNAME"], $arrayField["DAS_INS_SUBTITLE"]) : null);
                     $dashletsInstances[$row['DAS_INS_UID']] = $row;
                 }
                 $dataset->next();
             }
         }
         // Check for role assigments
         // ToDo: Next release
         // Check for permission assigments
         // ToDo: Next release
         return array_values($dashletsInstances);
     } catch (Exception $error) {
         throw $error;
     }
 }
 /**
  * Method to do selects.
  *
  * @param      Criteria $criteria The Criteria object used to build the SELECT statement.
  * @param      Connection $con
  * @return     array Array of selected Objects
  * @throws     PropelException Any exceptions caught during processing will be
  *       rethrown wrapped into a PropelException.
  */
 public static function doSelect(Criteria $criteria, $con = null)
 {
     return DashletInstancePeer::populateObjects(DashletInstancePeer::doSelectRS($criteria, $con));
 }