//here we are defining the available charts, the dashboard setup will call this function to know the charts function getAvailableReports() { return array ( array('uid' => '{className}Report_1', 'title' => '{className} Test Report (users)'), //array('uid' => '{className}Report_2', 'title' => '{className} Test Report (groups)') ); } function getReport($reportName) { $obj = new StdClass(); switch ($reportName) { case '{className}Report_1': $obj->title = '{className} Test Report (users)'; break; case '{className}Report_2': $obj->title = '{className} Test Report (users)'; break; default: $obj->title = 'default ....'; break; } return $obj; } function {className}Report_1() { global $G_PUBLISH; require_once 'classes/model/Users.php'; $sDelimiter = DBAdapter::getStringDelimiter(); $aUsers = array(); $aUsers[] = array('USR_UID' => 'char', 'USR_NAME' => 'char', 'USR_FIRSTNAME' => 'char', 'USR_LASTNAME' => 'char', 'USR_EMAIL' => 'char', 'USR_ROLE' => 'char',); $con = Propel::getConnection('workflow'); $sql = 'SELECT USR_UID,USR_USERNAME,USR_FIRSTNAME,USR_LASTNAME,USR_EMAIL,USR_ROLE FROM USERS'; $stmt = $con->createStatement(); $rs = $stmt->executeQuery($sql, ResultSet::FETCHMODE_ASSOC); $rs->next(); $row = $rs->getRow(); while (is_array($row)) { $aUsers[] = array('USR_UID' => $row['USR_UID'], 'USR_NAME' => $row['USR_USERNAME'], 'USR_FIRSTNAME' => $row['USR_FIRSTNAME'], 'USR_LASTNAME' => $row['USR_LASTNAME'], 'USR_EMAIL' => $row['USR_EMAIL'], 'USR_ROLE' => $row['USR_ROLE']); $rs->next(); $row = $rs->getRow(); } global $_DBArray; $_DBArray['users'] = $aUsers; $_SESSION['_DBArray'] = $_DBArray; G::LoadClass('ArrayPeer'); $oCriteria = new Criteria('dbarray'); $oCriteria->setDBArrayTable('users'); $oCriteria->addDescendingOrderByColumn('USR_USERNAME'); $G_PUBLISH = new Publisher; $G_PUBLISH->AddContent('propeltable', 'paged-table', '{className}/report', $oCriteria); G::RenderPage('publish'); return 1; } } ?>