function b_mysearch_last_search_show()
{
    include_once XOOPS_ROOT_PATH . '/modules/mysearch/include/functions.php';
    $mysearch_handler =& xoops_getmodulehandler('searches', 'mysearch');
    $visiblekeywords = 0;
    $block = array();
    $visiblekeywords = mysearch_getmoduleoption('showindex');
    if ($visiblekeywords > 0) {
        $block['visiblekeywords'] = $visiblekeywords;
        $totalcount = $mysearch_handler->getCount();
        $start = 0;
        $critere = new Criteria('mysearchid', 0, '<>');
        $critere->setSort('datesearch');
        $critere->setLimit($visiblekeywords);
        $critere->setStart($start);
        $critere->setOrder('DESC');
        $tmpmysearch = new searches();
        $elements = $mysearch_handler->getObjects($critere);
        foreach ($elements as $oneelement) {
            $search = array();
            $search['keyword'] = $oneelement->getVar('keyword');
            $search['date'] = formatTimestamp(strtotime($oneelement->getVar('datesearch')));
            $search['uid'] = $oneelement->getVar('keyword');
            $search['uname'] = $tmpmysearch->uname($oneelement->getVar('uid'));
            $search['link'] = "<a href='" . XOOPS_URL . '/search.php?query=' . $oneelement->getVar('keyword') . "&action=results' target='_blank'>";
            $block['searches'][] = $search;
            unset($search);
        }
    }
    return $block;
}
 /**
  * @brief search file
  *
  * @param query query
  * @param limit the maximum number of rows to return
  * @param offset the offset of the first row to return
  * @param uid user ID
  * @return array of item id
  */
 function search($query, $limit, $offset, $uid)
 {
     $msg = false;
     $iids = false;
     $dummy = false;
     $search_cache_id = false;
     $_SESSION['XNPSID'] = session_id();
     $member_handler =& xoops_gethandler('member');
     if (empty($GLOBALS['xoopsUser'])) {
         $GLOBALS['xoopsUser'] = $member_handler->getUser($uid);
     }
     if (xnpSearchExec('quicksearch', $query, 'all', false, $dummy, $dummy, $dummy, $search_cache_id, false, 'file')) {
         // search_cache_id -> file_ids
         $criteria = new Criteria('search_cache_id', $search_cache_id);
         $criteria->setSort('item_id');
         $criteria->setStart($offset);
         if ($limit) {
             $criteria->setLimit($limit);
         }
         $join = new XooNIpsJoinCriteria('xoonips_search_cache_file', 'file_id', 'file_id', 'LEFT');
         $file_handler =& xoonips_getormhandler('xoonips', 'file');
         $files =& $file_handler->getObjects($criteria, false, 'item_id', true, $join);
         if (false === $files) {
             return false;
         }
         $item_ids = array();
         foreach ($files as $file) {
             $item_ids[] = $file->get('item_id');
         }
         return $item_ids;
     } else {
         return false;
     }
 }
Example #3
0
 /**
  * Return All TAX
  *
  * @param integer $start Position de départ
  * @param integer $limit Nombre total d'enregistrements à renvoyer
  * @param string $order Champ sur lequel faire le tri
  * @param string $order Ordre du tri
  * @param boolean $idaskey Indique si le tableau renvoyé doit avoir pour clé l'identifiant unique de l'enregistrement
  * @return array tableau d'objets de type TVA
  */
 function getAllVats($start = 0, $limit = 0, $sort = 'vat_id', $order = 'ASC', $idaskey = true)
 {
     $critere = new Criteria('vat_id', 0, '<>');
     $critere->setLimit($limit);
     $critere->setStart($start);
     $critere->setSort($sort);
     $critere->setOrder($order);
     $tblVats = array();
     $tblVats = $this->getObjects($critere, $idaskey);
     return $tblVats;
 }
Example #4
0
 /**
  * Renvoie la liste de tous les vendeurs du module
  *
  * @param integer $start Position de départ
  * @param integer $limit Nombre total d'enregistrements à renvoyer
  * @param string $order Champ sur lequel faire le tri
  * @param string $order Ordre du tri
  * @param boolean $idaskey Indique si le tableau renvoyé doit avoir pour clé l'identifiant unique de l'enregistrement
  * @return array tableau d'objets de type stores
  */
 function getAllStores($start = 0, $limit = 0, $sort = 'store_name', $order = 'ASC', $idaskey = true)
 {
     $critere = new Criteria('store_id', 0, '<>');
     $critere->setLimit($limit);
     $critere->setStart($start);
     $critere->setSort($sort);
     $critere->setOrder($order);
     $tbl_categs = array();
     $tbl_categs = $this->getObjects($critere, $idaskey);
     return $tbl_categs;
 }
Example #5
0
 /**
  * Returns the (x) last votes
  *
  * @param integer $start Starting position
  * @param integer $limit count of items to return
  * @return array Array of votedata objects
  */
 function getLastVotes($start = 0, $limit = 0)
 {
     $tbl_datas = array();
     $criteria = new Criteria('vote_ratingid', 0, '<>');
     $criteria->setLimit($limit);
     $criteria->setStart($start);
     $criteria->setSort('vote_ratingtimestamp');
     $criteria->setOrder('DESC');
     $tbl_datas = $this->getObjects($criteria, true);
     return $tbl_datas;
 }
Example #6
0
 /**
  * Renvoie la liste de toutes les TVA du module
  *
  * @param  integer $start   Position de départ
  * @param  integer $limit   Nombre total d'enregistrements à renvoyer
  * @param  string  $order   Champ sur lequel faire le tri
  * @param  string  $order   Ordre du tri
  * @param  boolean $idaskey Indique si le tableau renvoyé doit avoir pour clé l'identifiant unique de l'enregistrement
  * @return array   tableau d'objets de type TVA
  */
 public function getAllVats(oledrion_parameters $parameters)
 {
     $parameters = $parameters->extend(new oledrion_parameters(array('start' => 0, 'limit' => 0, 'sort' => 'vat_id', 'order' => 'ASC', 'idaskey' => true)));
     $critere = new Criteria('vat_id', 0, '<>');
     $critere->setLimit($parameters['limit']);
     $critere->setStart($parameters['start']);
     $critere->setSort($parameters['sort']);
     $critere->setOrder($parameters['order']);
     $vats = array();
     $vats = $this->getObjects($critere, $parameters['idaskey']);
     return $vats;
 }
Example #7
0
 public function getAllLocation(oledrion_parameters $parameters)
 {
     $parameters = $parameters->extend(new oledrion_parameters(array('start' => 0, 'limit' => 0, 'sort' => 'location_id', 'order' => 'ASC')));
     $critere = new Criteria('location_id', 0, '<>');
     $critere->setLimit($parameters['limit']);
     $critere->setStart($parameters['start']);
     $critere->setSort($parameters['sort']);
     $critere->setOrder($parameters['order']);
     $location = array();
     $location = $this->getObjects($critere);
     return $location;
 }
Example #8
0
 /**
  * Retourne les identifiants des produits d'un fabricant
  *
  * @param intege $pm_manu_id	L'identifiant du fabricant
  * @return array	Les ID des produits
  */
 function getProductsIdsFromManufacturer($pm_manu_id, $start = 0, $limit = 0)
 {
     $ret = array();
     $criteria = new Criteria('pm_manu_id', $pm_manu_id, '=');
     $criteria->setStart($start);
     $criteria->setLimit($limit);
     $items = $this->getObjects($criteria, false, false, 'pm_product_id', false);
     if (count($items) > 0) {
         foreach ($items as $item) {
             $ret[] = $item['pm_product_id'];
         }
     }
     return $ret;
 }
Example #9
0
 /**
  * Retourne les fichiers attachés à un produit
  *
  * @param integer $file_product_id	L'Id du produit
  * @param integer $start	Position de départ
  * @param integer $limit	Nombre maxi de produits à retourner
  * @return array	tableau d'objets de type myshop_files
  */
 function getProductFiles($file_product_id, $start = 0, $limit = 0)
 {
     $criteria = new Criteria('file_product_id', $file_product_id, '=');
     $criteria->setStart($start);
     $criteria->setLimit($limit);
     return $this->getObjects($criteria);
 }
Example #10
0
	function &getMemberObjects($limit=0, $start=0, $order_by_rand=false)
	{
		$criteria = new Criteria('cm.c_commu_id', $this->getVar('c_commu_id'));
		$criteria->setLimit($limit);
		$criteria->setStart($start);
		if($order_by_rand){
			$criteria->setSort('RAND()');
		}
		return $this->handler['member']->getObjects($criteria);
	}
 /**
  * A generic shortcut to getObjects
  *
  * @author Herve Thouzard - Instant Zero
  *
  * @param  integer $start   Starting position
  * @param  integer $limit   Maximum count of elements to return
  * @param  string  $sort    Field to use for the sort
  * @param  string  $order   Sort order
  * @param  boolean $idAsKey Do we have to return an array whoses keys are the record's ID ?
  * @return array   Array of current objects
  */
 function getItems($start = 0, $limit = 0, $sort = '', $order = 'ASC', $idAsKey = true)
 {
     if (trim($order) == '') {
         if (isset($this->identifierName) && trim($this->identifierName) != '') {
             $order = $this->identifierName;
         } else {
             $order = $this->keyName;
         }
     }
     $items = array();
     $critere = new Criteria($this->keyName, 0, '<>');
     $critere->setLimit($limit);
     $critere->setStart($start);
     $critere->setSort($sort);
     $critere->setOrder($order);
     $items = $this->getObjects($critere, $idAsKey);
     return $items;
 }
Example #12
0
function upgradeDB()
{
    global $xoopsModule, $oAdminButton;
    $xoopsDB =& Database::getInstance();
    //1. Determine previous release
    //   *** Update this in sql/mysql.sql for each release **
    if (!xhelpTableExists('xhelp_meta')) {
        $ver = '0.5';
    } else {
        if (!($ver = xhelpGetMeta('version'))) {
            exit(_AM_XHELP_VERSION_ERR);
        }
    }
    $hStaff =& xhelpGetHandler('staff');
    $hMember =& xhelpGetHandler('membership');
    $hTicket =& xhelpGetHandler('ticket');
    $hXoopsMember =& xoops_gethandler('member');
    $hRole =& xhelpGetHandler('role');
    $mid = $xoopsModule->getVar('mid');
    xoops_cp_header();
    echo $oAdminButton->renderButtons('');
    echo "<h2>" . _AM_XHELP_UPDATE_DB . "</h2>";
    $ret = true;
    //2. Do All Upgrades necessary to make current
    //   Break statements are omitted on purpose
    switch ($ver) {
        case '0.5':
            set_time_limit(60);
            printf("<h3>" . _AM_XHELP_UPDATE_TO . "</h3>", '0.6');
            echo "<ul>";
            //Create meta table
            $ret = $ret && _runQuery(sprintf("CREATE TABLE %s (metakey varchar(50) NOT NULL default '', metavalue varchar(255) NOT NULL default '', PRIMARY KEY (metakey)) ENGINE=MyISAM;", $xoopsDB->prefix('xhelp_meta')), sprintf(_AM_XHELP_MSG_ADDTABLE, 'xhelp_meta'), sprintf(_AM_XHELP_MSG_ADDTABLE_ERR, 'xhelp_meta'));
            //Insert Current Version into table
            $qry = $xoopsDB->query(sprintf("INSERT INTO %s values('version', %s)", $xoopsDB->prefix('xhelp_meta'), $xoopsDB->quoteString($ver)));
            //Update xhelp_responses table
            $ret = $ret && _runQuery(sprintf("ALTER TABLE %s ADD private INT(11) NOT NULL DEFAULT '0'", $xoopsDB->prefix('xhelp_responses')), sprintf(_AM_XHELP_MSG_MODIFYTABLE, 'xhelp_responses'), sprintf(_AM_XHELP_MSG_MODIFYTABLE_ERR, 'xhelp_responses'));
            //Retrieve uid's of all staff members
            $qry = $xoopsDB->query('SELECT uid FROM ' . $xoopsDB->prefix('xhelp_staff') . ' ORDER BY uid');
            //Get email addresses in user profile
            $staff = array();
            while ($arr = $xoopsDB->fetchArray($qry)) {
                $staff[$arr['uid']] = '';
            }
            $xoopsDB->freeRecordSet($qry);
            $query = 'SELECT uid, email FROM ' . $xoopsDB->prefix('users') . ' WHERE uid IN (' . implode(array_keys($staff), ',') . ')';
            $qry = $xoopsDB->query($query);
            while ($arr = $xoopsDB->fetchArray($qry)) {
                $staff[$arr['uid']] = $arr['email'];
            }
            $xoopsDB->freeRecordSet($qry);
            //Update xhelp_staff table
            $ret = $ret && _runQuery(sprintf("ALTER TABLE %s ADD email varchar(255) NOT NULL default '' AFTER uid, ADD notify int(11) NOT NULL default '0'", $xoopsDB->prefix('xhelp_staff')), sprintf(_AM_XHELP_MSG_MODIFYTABLE, 'xhelp_staff'), sprintf(_AM_XHELP_MSG_MODIFYTABLE_ERR, 'xhelp_staff'));
            //Update existing staff records
            $staff_tbl = $xoopsDB->prefix('xhelp_staff');
            $notif_tbl = $xoopsDB->prefix('xoopsnotifications');
            $email_tpl = $xoopsModule->getInfo('_email_tpl');
            foreach ($staff as $uid => $email) {
                //get notifications for current user
                $usernotif = 0;
                $qry = $xoopsDB->query(sprintf("SELECT DISTINCT not_category, not_event FROM %s WHERE not_uid = %u AND not_category='dept' AND not_modid=%u", $notif_tbl, $uid, $mid));
                while ($arr = $xoopsDB->fetchArray($qry)) {
                    //Look for current event information in $email_tpl
                    foreach ($email_tpl as $tpl) {
                        if ($tpl['name'] == $arr['not_event'] && $tpl['category'] == $arr['not_category']) {
                            $usernotif = $usernotif | pow(2, $tpl['bit_value']);
                            break;
                        }
                    }
                }
                //Update xhelp_staff with user notifications & email address
                $ret = $ret && _runQuery(sprintf("UPDATE %s SET email = %s, notify = %u WHERE uid = %u", $staff_tbl, $xoopsDB->quoteString($email), $usernotif, $uid), sprintf(_AM_XHELP_MSG_UPDATESTAFF, $uid), sprintf(_AM_XHELP_MSG_UPDATESTAFF_ERR, $uid));
            }
            echo "</ul>";
        case '0.6':
            set_time_limit(60);
            //Do DB updates to make 0.7
            printf("<h3>" . _AM_XHELP_UPDATE_TO . "</h3>", '0.7');
            echo "<ul>";
            // change table names to lowercase
            $ret = $ret && _renameTable('xhelp_logMessages', 'xhelp_logmessages');
            $ret = $ret && _renameTable('xhelp_responseTemplates', 'xhelp_responsetemplates');
            $ret = $ret && _renameTable('xhelp_jStaffDept', 'xhelp_jstaffdept');
            $ret = $ret && _renameTable('xhelp_staffReview', 'xhelp_staffreview');
            $ret = $ret && _renameTable('xhelp_emailTpl', 'xhelp_emailtpl');
            // Remove unused table - xhelp_emailtpl
            $ret = $ret && _runQuery(sprintf("DROP TABLE %s", $xoopsDB->prefix('xhelp_emailtpl')), sprintf(_AM_XHELP_MSG_REMOVE_TABLE, 'xhelp_emailtpl'), sprintf(_AM_XHELP_MSG_NOT_REMOVE_TABLE, 'xhelp_emailtpl'));
            // xhelp_staff table - permTimestamp
            $ret = $ret && _runQuery(sprintf("ALTER TABLE %s ADD permTimestamp INT(11) NOT NULL DEFAULT '0'", $xoopsDB->prefix('xhelp_staff')), sprintf(_AM_XHELP_MSG_MODIFYTABLE, 'xhelp_staff'), sprintf(_AM_XHELP_MSG_MODIFYTABLE_ERR, 'xhelp_staff'));
            //Update xhelp_tickets table
            $ret = $ret && _runQuery(sprintf("ALTER TABLE %s MODIFY subject VARCHAR(100) NOT NULL default ''", $xoopsDB->prefix('xhelp_tickets')), sprintf(_AM_XHELP_MSG_MODIFYTABLE, 'xhelp_tickets'), sprintf(_AM_XHELP_MSG_MODIFYTABLE_ERR, 'xhelp_tickets'));
            $ret = $ret && _runQuery(sprintf("ALTER TABLE %s ADD (serverid INT(11) DEFAULT NULL,\r\n                                                             emailHash VARCHAR(100) DEFAULT NULL,\r\n                                                             email VARCHAR(100) DEFAULT NULL,\r\n                                                             overdueTime INT(11) NOT NULL DEFAULT '0',\r\n                                                             KEY emailHash (emailHash))", $xoopsDB->prefix('xhelp_tickets')), sprintf(_AM_XHELP_MSG_MODIFYTABLE, 'xhelp_tickets'), sprintf(_AM_XHELP_MSG_MODIFYTABLE_ERR, 'xhelp_tickets'));
            // Create xhelp_department_mailbox table
            $ret = $ret && _runQuery(sprintf("CREATE TABLE %s (id int(11) NOT NULL auto_increment,\r\n                                                          departmentid int(11) default NULL,\r\n                                                          emailaddress varchar(255) default NULL,\r\n                                                          server varchar(50) default NULL,\r\n                                                          serverport int(11) default NULL,\r\n                                                          username varchar(50) default NULL,\r\n                                                          password varchar(50) default NULL,\r\n                                                          priority tinyint(4) default NULL,\r\n                                                          mboxtype int(11) NOT NULL default 1,\r\n                                                          PRIMARY KEY  (id),\r\n                                                          UNIQUE KEY id (id),\r\n                                                          KEY departmentid (departmentid),\r\n                                                          KEY emailaddress (emailaddress),\r\n                                                          KEY mboxtype (mboxtype)\r\n                                                         )ENGINE=MyISAM;", $xoopsDB->prefix('xhelp_department_mailbox')), sprintf(_AM_XHELP_MSG_ADDTABLE, 'xhelp_department_mailbox'), sprintf(_AM_XHELP_MSG_ADDTABLE_ERR, 'xhelp_department_mailbox'));
            // Create xhelp_mailevent table
            $ret = $ret && _runQuery(sprintf("CREATE TABLE %s (id int(11) NOT NULL auto_increment,\r\n                                                           mbox_id int(11) NOT NULL default '0',\r\n                                                           event_desc text,\r\n                                                           event_class int(11) NOT NULL default '0',\r\n                                                           posted int(11) NOT NULL default '0',\r\n                                                           PRIMARY KEY(id)\r\n                                                          )ENGINE=MyISAM;", $xoopsDB->prefix('xhelp_mailevent')), sprintf(_AM_XHELP_MSG_ADDTABLE, 'xhelp_mailevent'), sprintf(_AM_XHELP_MSG_ADDTABLE_ERR, 'xhelp_mailevent'));
            // Create xhelp_roles table
            $ret = $ret && _runQuery(sprintf("CREATE TABLE %s (id int(11) NOT NULL auto_increment,\r\n                                                          name varchar(35) NOT NULL default '',\r\n                                                          description mediumtext,\r\n                                                          tasks int(11) NOT NULL default '0',\r\n                                                          PRIMARY KEY(id)\r\n                                                         )ENGINE=MyISAM;", $xoopsDB->prefix('xhelp_roles')), sprintf(_AM_XHELP_MSG_ADDTABLE, 'xhelp_roles'), sprintf(_AM_XHELP_MSG_ADDTABLE_ERR, 'xhelp_roles'));
            // Create xhelp_staffroles table
            $ret = $ret && _runQuery(sprintf("CREATE TABLE %s (uid int(11) NOT NULL default '0',\r\n                                                         roleid int(11) NOT NULL default '0',\r\n                                                         deptid int(11) NOT NULL default '0',\r\n                                                         PRIMARY KEY(uid, roleid, deptid)\r\n                                                        )ENGINE=MyISAM;", $xoopsDB->prefix('xhelp_staffroles')), sprintf(_AM_XHELP_MSG_ADDTABLE, 'xhelp_staffroles'), sprintf(_AM_XHELP_MSG_ADDTABLE_ERR, 'xhelp_staffroles'));
            // Add default roles to db
            if (!($hasRoles = xhelpCreateRoles())) {
                echo "<li>" . _AM_XHELP_MESSAGE_DEF_ROLES_ERROR . "</li>";
            } else {
                echo "<li>" . _AM_XHELP_MESSAGE_DEF_ROLES . "</li>";
            }
            // Set all staff members to have admin permission role
            if ($staff =& $hStaff->getObjects()) {
                foreach ($staff as $stf) {
                    $uid = $stf->getVar('uid');
                    $depts = $hMember->membershipByStaff($uid, true);
                    if ($hStaff->addStaffRole($uid, 1, 0)) {
                        echo "<li>" . sprintf(_AM_XHELP_MSG_GLOBAL_PERMS, $uid) . "</li>";
                    }
                    foreach ($depts as $dept) {
                        $deptid = $dept->getVar('id');
                        if ($hStaff->addStaffRole($uid, 1, $deptid)) {
                            // Departmental permissions
                            echo "<li>" . sprintf(_AM_XHELP_MSG_UPD_PERMS, $uid, $dept->getVar('department')) . "</li>";
                        }
                    }
                    $stf->setVar('permTimestamp', time());
                    // Set initial value for permTimestamp field
                    if (!$hStaff->insert($stf)) {
                        echo "<li>" . sprintf(_AM_XHELP_MSG_UPDATESTAFF_ERR, $uid) . "</li>";
                    } else {
                        echo "<li>" . sprintf(_AM_XHELP_MSG_UPDATESTAFF, $uid) . "</li>";
                    }
                }
            }
            echo "</ul>";
        case '0.7':
            set_time_limit(60);
            //Do DB updates to make 0.71
            printf("<h3>" . _AM_XHELP_UPDATE_TO . "</h3>", '0.71');
            echo "<ul>";
            echo "</ul>";
        case '0.71':
            set_time_limit(60);
            //Do DB updates to make 0.75
            printf("<h3>" . _AM_XHELP_UPDATE_TO . "</h3>", '0.75');
            echo "<ul>";
            //Changes for php5 compabibility
            $ret = $ret && _runQuery(sprintf("ALTER TABLE %s MODIFY lastUpdated int(11) NOT NULL default '0'", $xoopsDB->prefix('xhelp_logmessages')), sprintf(_AM_XHELP_MSG_MODIFYTABLE, 'xhelp_logmessages'), sprintf(_AM_XHELP_MSG_MODIFYTABLE_ERR, 'xhelp_logmessages'));
            $ret = $ret && _runQuery(sprintf("ALTER TABLE %s MODIFY department int(11) NOT NULL default '0'", $xoopsDB->prefix('xhelp_jstaffdept')), sprintf(_AM_XHELP_MSG_MODIFYTABLE, 'xhelp_jstaffdept'), sprintf(_AM_XHELP_MSG_MODIFYTABLE_ERR, 'xhelp_jstaffdept'));
            // Create table for email template information
            $ret = $ret && _runQuery(sprintf("CREATE TABLE %s (notif_id int(11) NOT NULL default '0',\r\n                                                           staff_setting int(11) NOT NULL default '0',\r\n                                                           user_setting int(11) NOT NULL default '0',\r\n                                                           staff_options mediumtext NOT NULL,\r\n                                                           PRIMARY KEY (notif_id)\r\n                                                          )ENGINE=MyISAM;", $xoopsDB->prefix('xhelp_notifications')), sprintf(_AM_XHELP_MSG_ADDTABLE, 'xhelp_notifications'), sprintf(_AM_XHELP_MSG_ADDTABLE_ERR, 'xhelp_notifications'));
            // Add xhelp_status table
            $ret = $ret && _runQuery(sprintf("CREATE TABLE %s (id int(11) NOT NULL auto_increment,\r\n                                                           state int(11) NOT NULL default '0',\r\n                                                           description varchar(50) NOT NULL default '',\r\n                                                           PRIMARY KEY(id),\r\n                                                           KEY state (state)\r\n                                                          )ENGINE=MyISAM;", $xoopsDB->prefix('xhelp_status')), sprintf(_AM_XHELP_MSG_ADDTABLE, 'xhelp_status'), sprintf(_AM_XHELP_MSG_ADDTABLE_ERR, 'xhelp_status'));
            // Give default statuses for upgrade
            $hStatus =& xhelpGetHandler('status');
            $startStatuses = array(_XHELP_STATUS0 => 1, _XHELP_STATUS1 => 1, _XHELP_STATUS2 => 2);
            $count = 1;
            set_time_limit(60);
            foreach ($startStatuses as $desc => $state) {
                $newStatus =& $hStatus->create();
                $newStatus->setVar('id', $count);
                $newStatus->setVar('description', $desc);
                $newStatus->setVar('state', $state);
                if (!$hStatus->insert($newStatus)) {
                    echo "<li>" . sprintf(_AM_XHELP_MSG_ADD_STATUS_ERR, $desc) . "</li>";
                } else {
                    echo "<li>" . sprintf(_AM_XHELP_MSG_ADD_STATUS, $desc) . "</li>";
                }
                $count++;
            }
            // Change old status values to new status values
            $oldStatuses = array(2 => 3, 1 => 2, 0 => 1);
            foreach ($oldStatuses as $cStatus => $newStatus) {
                $crit = new Criteria('status', $cStatus);
                $success = $hTicket->updateAll('status', $newStatus, $crit);
            }
            if ($success) {
                echo "<li>" . _AM_XHELP_MSG_CHANGED_STATUS . "</li>";
            } else {
                echo "<li>" . _AM_XHELP_MSG_CHANGED_STATUS_ERR . "</li>";
            }
            // Add xhelp_ticket_submit_emails table
            $ret = $ret && _runQuery(sprintf("CREATE TABLE %s (ticketid int(11) NOT NULL default '0',\r\n                                                           uid int(11) NOT NULL default '0',\r\n                                                           email varchar(100) NOT NULL default '',\r\n                                                           suppress int(11) NOT NULL default '0',\r\n                                                           PRIMARY KEY(ticketid, email)\r\n                                                          )ENGINE=MyISAM;", $xoopsDB->prefix('xhelp_ticket_submit_emails')), sprintf(_AM_XHELP_MSG_ADDTABLE, 'xhelp_ticket_submit_emails'), sprintf(_AM_XHELP_MSG_ADDTABLE_ERR, 'xhelp_ticket_submit_emails'));
            // Add records to xhelp_ticket_submit_emails for existing tickets
            $count = $hTicket->getCount();
            $batchsize = 100;
            $crit = new Criteria('', '');
            $crit->setLimit($batchsize);
            $i = 0;
            while ($i <= $count) {
                set_time_limit(60);
                $crit->setStart($i);
                $tickets =& $hTicket->getObjects($crit);
                $all_users = array();
                foreach ($tickets as $ticket) {
                    $all_users[$ticket->getVar('uid')] = $ticket->getVar('uid');
                }
                $crit = new Criteria('uid', "(" . implode(array_keys($all_users), ',') . ")", 'IN');
                $users =& $hXoopsMember->getUsers($crit, true);
                foreach ($users as $user) {
                    $all_users[$user->getVar('uid')] = $user->getVar('email');
                }
                unset($users);
                foreach ($tickets as $ticket) {
                    set_time_limit(60);
                    $ticket_uid = $ticket->getVar('uid');
                    if (array_key_exists($ticket_uid, $all_users)) {
                        $ticket_email = $all_users[$ticket_uid];
                        $success = $ticket->addSubmitter($ticket_email, $ticket_uid);
                    }
                }
                unset($tickets);
                //increment
                $i += $batchsize;
            }
            set_time_limit(60);
            // Update xhelp_roles Admin record with new value (2047)
            $crit = new Criteria('tasks', 511);
            $admin_roles =& $hRole->getObjects($crit);
            foreach ($admin_roles as $role) {
                $role->setVar('tasks', 2047);
                if ($hRole->insert($role)) {
                    echo "<li>" . sprintf(_AM_XHELP_MSG_UPDATE_ROLE, $role->getVar('name')) . "</li>";
                } else {
                    echo "<li>" . sprintf(_AM_XHELP_MSG_UPDATE_ROLE_ERR, $role->getVar('name')) . "</li>";
                }
            }
            set_time_limit(60);
            $ret = $ret && _runQuery(sprintf("ALTER TABLE %s ADD (active INT(11) NOT NULL DEFAULT 1,\r\n                                                          KEY active (active))", $xoopsDB->prefix('xhelp_department_mailbox')), sprintf(_AM_XHELP_MSG_MODIFYTABLE, 'xhelp_department_mailbox'), sprintf(_AM_XHELP_MSG_MODIFYTABLE_ERR, 'xhelp_department_mailbox'));
            // Add xhelp_saved_searches table
            $ret = $ret && _runQuery(sprintf("CREATE TABLE %s (id int(11) NOT NULL auto_increment,\r\n                                                           uid int(11) NOT NULL default '0',\r\n                                                           name varchar(50) NOT NULL default '',\r\n                                                           search mediumtext NOT NULL,\r\n                                                           pagenav_vars mediumtext NOT NULL,\r\n                                                           PRIMARY KEY(id)\r\n                                                          )ENGINE=MyISAM;", $xoopsDB->prefix('xhelp_saved_searches')), sprintf(_AM_XHELP_MSG_ADDTABLE, 'xhelp_saved_searches'), sprintf(_AM_XHELP_MSG_ADDTABLE_ERR, 'xhelp_saved_searches'));
            set_time_limit(60);
            $ret = $ret && _runQuery(sprintf("CREATE TABLE %s (fieldid int(11) NOT NULL default '0',\r\n                                                           deptid int(11) NOT NULL default '0',\r\n                                                           PRIMARY KEY  (fieldid, deptid)\r\n                                                          )ENGINE=MyISAM;", $xoopsDB->prefix('xhelp_ticket_field_departments')), sprintf(_AM_XHELP_MSG_ADDTABLE, 'xhelp_ticket_field_departments'), sprintf(_AM_XHELP_MSG_ADDTABLE_ERR, 'xhelp_ticket_field_departments'));
            $ret = $ret && _runQuery(sprintf("CREATE TABLE %s (ticketid int(11) NOT NULL default '0',\r\n                                                           PRIMARY KEY  (ticketid)\r\n                                                          )ENGINE=MyISAM;", $xoopsDB->prefix('xhelp_ticket_values')), sprintf(_AM_XHELP_MSG_ADDTABLE, 'xhelp_ticket_values'), sprintf(_AM_XHELP_MSG_ADDTABLE_ERR, 'xhelp_ticket_values'));
            set_time_limit(60);
            $ret = $ret && _runQuery(sprintf("CREATE TABLE %s (id int(11) NOT NULL auto_increment,\r\n                                                           name varchar(64) NOT NULL default '',\r\n                                                           description tinytext NOT NULL,\r\n                                                           fieldname varchar(64) NOT NULL default '',\r\n                                                           controltype int(11) NOT NULL default '0',\r\n                                                           datatype varchar(64) NOT NULL default '',\r\n                                                           required tinyint(1) NOT NULL default '0',\r\n                                                           fieldlength int(11) NOT NULL default '0',\r\n                                                           weight int(11) NOT NULL default '0',\r\n                                                           fieldvalues mediumtext NOT NULL,\r\n                                                           defaultvalue varchar(100) NOT NULL default '',\r\n                                                           validation mediumtext NOT NULL,\r\n                                                           PRIMARY KEY (id),\r\n                                                           KEY weight (weight)\r\n                                                          )ENGINE=MyISAM;", $xoopsDB->prefix('xhelp_ticket_fields')), sprintf(_AM_XHELP_MSG_ADDTABLE, 'xhelp_ticket_fields'), sprintf(_AM_XHELP_MSG_ADDTABLE_ERR, 'xhelp_ticket_fields'));
            set_time_limit(60);
            // Add notifications to new table
            set_time_limit(60);
            $hasNotifications = xhelpCreateNotifications();
            // Make all departments visible to all groups
            $hasDeptVisibility = xhelpCreateDepartmentVisibility();
            // Update staff permTimestamp
            $hStaff->updateAll('permTimestamp', time());
            set_time_limit(60);
            //Update xhelp_tickets table
            set_time_limit(60);
            $ret = $ret && _runQuery(sprintf("ALTER TABLE %s MODIFY subject VARCHAR(255) NOT NULL default ''", $xoopsDB->prefix('xhelp_tickets')), sprintf(_AM_XHELP_MSG_MODIFYTABLE, 'xhelp_tickets'), sprintf(_AM_XHELP_MSG_MODIFYTABLE_ERR, 'xhelp_tickets'));
        case '0.75':
            set_time_limit(60);
            // Set default department
            $xoopsModuleConfig =& xhelpGetModuleConfig();
            if (isset($xoopsModuleConfig['xhelp_defaultDept']) && $xoopsModuleConfig['xhelp_defaultDept'] != 0) {
                $ret = xhelpSetMeta('default_department', $xoopsModuleConfig['xhelp_defaultDept']);
            } else {
                $hDepartments =& xhelpGetHandler('department');
                $depts =& $hDepartments->getObjects();
                $aDepts = array();
                foreach ($depts as $dpt) {
                    $aDepts[] = $dpt->getVar('id');
                }
                $ret = xhelpSetMeta("default_department", $aDepts[0]);
            }
            $qry = $xoopsDB->query(sprintf("ALTER TABLE %s DROP PRIMARY KEY", $xoopsDB->prefix('xhelp_ticket_submit_emails')));
            $ret = $ret && _runQuery(sprintf("ALTER TABLE %s ADD PRIMARY KEY(ticketid, uid, email)", $xoopsDB->prefix('xhelp_ticket_submit_emails')), sprintf(_AM_XHELP_MSG_MODIFYTABLE, 'xhelp_ticket_submit_emails'), sprintf(_AM_XHELP_MSG_MODIFYTABLE_ERR, 'xhelp_ticket_submit_emails'));
            $ret = $ret && _runQuery(sprintf("ALTER TABLE %s MODIFY department int(11) NOT NULL default '0'", $xoopsDB->prefix('xhelp_jstaffdept')), sprintf(_AM_XHELP_MSG_MODIFYTABLE, 'xhelp_jstaffdept'), sprintf(_AM_XHELP_MSG_MODIFYTABLE_ERR, 'xhelp_jstaffdept'));
            echo "<li>" . _AM_XHELP_MSG_CHANGED_DEFAULT_DEPT . "</li>";
            // Add field to xhelp_saved_searches to determine if custom fields table is needed
            $ret = $ret && _runQuery(sprintf("ALTER TABLE %s ADD (hasCustFields int(11) NOT NULL default '0')", $xoopsDB->prefix('xhelp_saved_searches')), sprintf(_AM_XHELP_MSG_MODIFYTABLE, 'xhelp_saved_searches'), sprintf(_AM_XHELP_MSG_MODIFYTABLE_ERR, 'xhelp_saved_searches'));
            // Take existing saved searches and add 'query' field
            $hSavedSearch =& xhelpGetHandler('savedSearch');
            $savedSearches =& $hSavedSearch->getObjects();
            foreach ($savedSearches as $savedSearch) {
                set_time_limit(60);
                $crit =& unserialize($savedSearch->getVar('search'));
                if (is_object($crit)) {
                    $savedSearch->setVar('query', $crit->render());
                    if ($hSavedSearch->insert($savedSearch)) {
                        echo "<li>" . sprintf(_AM_XHELP_MSG_UPDATE_SEARCH, $savedSearch->getVar('id')) . "</li>";
                    } else {
                        echo "<li>" . sprintf(_AM_XHELP_MSG_UPDATE_SEARCH_ERR, $savedSearch->getVar('id')) . "</li>";
                    }
                }
            }
            unset($savedSearches);
            // Add ticket list table
            set_time_limit(60);
            $ret = $ret && _runQuery(sprintf("CREATE TABLE %s (id int(11) NOT NULL auto_increment,\r\n                                                           uid int(11) NOT NULL default '0',\r\n                                                           searchid int(11) NOT NULL default '0',\r\n                                                           weight int(11) NOT NULL default '0',\r\n                                                           PRIMARY KEY (id),\r\n                                                           KEY ticketList (uid, searchid)\r\n                                                          )ENGINE=MyISAM;", $xoopsDB->prefix('xhelp_ticket_lists')), sprintf(_AM_XHELP_MSG_ADDTABLE, 'xhelp_ticket_lists'), sprintf(_AM_XHELP_MSG_ADDTABLE_ERR, 'xhelp_ticket_lists'));
            // Add global ticket lists for staff members
            xhelpCreateDefaultTicketLists();
            set_time_limit(60);
            // Update xhelp_roles Admin record with new value (4095)
            $crit = new Criteria('tasks', 2047);
            $admin_roles =& $hRole->getObjects($crit);
            foreach ($admin_roles as $role) {
                $role->setVar('tasks', 4095);
                if ($hRole->insert($role)) {
                    echo "<li>" . sprintf(_AM_XHELP_MSG_UPDATE_ROLE, $role->getVar('name')) . "</li>";
                } else {
                    echo "<li>" . sprintf(_AM_XHELP_MSG_UPDATE_ROLE_ERR, $role->getVar('name')) . "</li>";
                }
            }
        case '0.77':
            // No schema changes for 0.78
        // No schema changes for 0.78
        case '0.78':
            echo "</ul>";
    }
    $newversion = round($xoopsModule->getVar('version') / 100, 2);
    //if successful, update xhelp_meta table with new ver
    if ($ret) {
        printf(_AM_XHELP_UPDATE_OK, $newversion);
        $ret = xhelpSetMeta('version', $newversion);
    } else {
        printf(_AM_XHELP_UPDATE_ERR, $newversion);
    }
    xhelpAdminFooter();
    xoops_cp_footer();
}
Example #13
0
function manageFields()
{
    global $oAdminButton, $imagearray;
    $session =& Session::singleton();
    $regex_array =& _getRegexArray();
    $hFields =& xhelpGetHandler('ticketField');
    $start = $limit = 0;
    if (isset($_GET['limit'])) {
        $limit = intval($_GET['limit']);
    }
    if (isset($_GET['start'])) {
        $start = intval($_GET['start']);
    }
    if (!$limit) {
        $limit = 15;
    }
    if (!isset($_POST['addField'])) {
        $crit = new Criteria('', '');
        $crit->setLimit($limit);
        $crit->setStart($start);
        $crit->setSort('weight');
        $crit->setOrder('ASC');
        $count = $hFields->getCount($crit);
        $fields =& $hFields->getObjects($crit);
        //Display List of Current Fields, form for new field
        xoops_cp_header();
        echo $oAdminButton->renderButtons('manfields');
        if ($count) {
            $nav = new XoopsPageNav($count, $limit, $start, 'start', "op=manageFields&amp;limit={$limit}");
            echo "<table width='100%' cellspacing='1' class='outer'>\r\n                <tr><th colspan='7'><label>" . _AM_XHELP_TEXT_MANAGE_FIELDS . "</label></th></tr>";
            echo "<tr class='head'>\r\n                <td>" . _AM_XHELP_TEXT_ID . "</td>\r\n                <td>" . _AM_XHELP_TEXT_NAME . "</td>\r\n                <td>" . _AM_XHELP_TEXT_DESCRIPTION . "</td>\r\n                <td>" . _AM_XHELP_TEXT_FIELDNAME . "</td>\r\n                <td>" . _AM_XHELP_TEXT_CONTROLTYPE . "</td>\r\n                <td>" . _AM_XHELP_TEXT_REQUIRED . "</td>\r\n                <td>" . _AM_XHELP_TEXT_ACTIONS . "</td>\r\n            </tr>";
            $req_link_params = array('op' => 'setFieldRequired', 'setrequired' => 1, 'id' => 0);
            foreach ($fields as $field) {
                $req_link_params['id'] = $field->getVar('id');
                if ($field->getVar('required')) {
                    $req_link_params['setrequired'] = 0;
                    $req_img = $imagearray['online'];
                    $req_title = _AM_XHELP_MESSAGE_DEACTIVATE;
                } else {
                    $req_link_params['setrequired'] = 1;
                    $req_img = $imagearray['offline'];
                    $req_title = _AM_XHELP_MESSAGE_ACTIVATE;
                }
                $edit_url = xhelpMakeURI(XHELP_ADMIN_URL . '/fields.php', array('op' => 'editfield', 'id' => $field->getVar('id')));
                $del_url = xhelpMakeURI(XHELP_ADMIN_URL . '/fields.php', array('op' => 'delfield', 'id' => $field->getVar('id')));
                echo "<tr class='even'><td>" . $field->getVar('id') . "</td>\r\n                    <td>" . $field->getVar('name') . "</td>\r\n                    <td>" . $field->getVar('description') . "</td>\r\n                    <td>" . $field->getVar('fieldname') . "</td>\r\n                    <td>" . xhelpGetControlLabel($field->getVar('controltype')) . "</td>\r\n                    <td><a href='" . xhelpMakeURI(XHELP_ADMIN_URL . '/fields.php', $req_link_params) . "' title='{$req_title}'>{$req_img}</a></td>\r\n                    <td><a href='{$edit_url}'>{$imagearray['editimg']}</a>\r\n                        <a href='{$del_url}'>{$imagearray['deleteimg']}</a></td>\r\n                    </tr>";
            }
            echo '</table>';
            //Render Page Nav
            echo "<div id='pagenav'>" . $nav->renderNav() . "</div><br />";
        }
        //Get Custom Field From session (if exists)
        $field_info = $session->get('xhelp_addField');
        $field_errors = $session->get('xhelp_addFieldErrors');
        $hDepts =& xhelpGetHandler('department');
        $depts =& $hDepts->getObjects();
        $deptarr = array();
        foreach ($depts as $obj) {
            $deptarr[$obj->getVar('id')] = $obj->getVar('department');
        }
        if (!$field_info === false) {
            //extract($field_info , EXTR_PREFIX_ALL , 'fld_');
            $fld_controltype = $field_info['controltype'];
            $fld_datatype = $field_info['datatype'];
            $fld_departments = $field_info['departments'];
            $fld_name = $field_info['name'];
            $fld_fieldname = $field_info['fieldname'];
            $fld_description = $field_info['description'];
            $fld_required = $field_info['required'];
            $fld_length = $field_info['length'];
            $fld_weight = $field_info['weight'];
            $fld_defaultvalue = $field_info['defaultvalue'];
            $fld_values = $field_info['values'];
            $fld_validation = $field_info['validation'];
        } else {
            $fld_controltype = '';
            $fld_datatype = '';
            $fld_departments = array_keys($deptarr);
            $fld_name = '';
            $fld_fieldname = '';
            $fld_description = '';
            $fld_required = '';
            $fld_length = '';
            $fld_weight = '';
            $fld_defaultvalue = '';
            $fld_values = '';
            $fld_validation = '';
        }
        if (!$field_errors === false) {
            xhelpRenderErrors($field_errors, xhelpMakeURI(XHELP_ADMIN_URL . '/fields.php', array('op' => 'clearAddSession')));
        }
        //Add Field Form
        $controls = xhelpGetControlArray();
        $control_select = new XoopsFormSelect(_AM_XHELP_TEXT_CONTROLTYPE, 'fld_controltype', $fld_controltype);
        foreach ($controls as $key => $control) {
            $control_select->addOption($key, $control['label']);
        }
        $datatypes = array(_XHELP_DATATYPE_TEXT => _XHELP_DATATYPE_TEXT, _XHELP_DATATYPE_NUMBER_INT => _XHELP_DATATYPE_NUMBER_INT, _XHELP_DATATYPE_NUMBER_DEC => _XHELP_DATATYPE_NUMBER_DEC);
        $datatype_select = new XoopsFormSelect(_AM_XHELP_TEXT_DATATYPE, 'fld_datatype', $fld_datatype);
        $datatype_select->addOptionArray($datatypes);
        $dept_select = new XoopsFormSelect(_AM_XHELP_TEXT_DEPARTMENTS, 'fld_departments', $fld_departments, 5, true);
        foreach ($depts as $obj) {
            $dept_select->addOptionArray($deptarr);
        }
        unset($depts);
        $form = new xhelpForm(_AM_XHELP_ADD_FIELD, 'add_field', xhelpMakeURI(XHELP_ADMIN_URL . '/fields.php', array('op' => 'managefields')));
        $nameEle = new XoopsFormText(_AM_XHELP_TEXT_NAME, 'fld_name', 30, 64, $fld_name);
        $nameEle->setDescription(_AM_XHELP_TEXT_NAME_DESC);
        $form->addElement($nameEle);
        $fieldnameEle = new XoopsFormText(_AM_XHELP_TEXT_FIELDNAME, 'fld_fieldname', 30, 64, $fld_fieldname);
        $fieldnameEle->setDescription(_AM_XHELP_TEXT_FIELDNAME_DESC);
        $form->addElement($fieldnameEle);
        $descriptionEle = new XoopsFormTextArea(_AM_XHELP_TEXT_DESCRIPTION, 'fld_description', $fld_description, 5, 60);
        $descriptionEle->setDescription(_AM_XHELP_TEXT_DESCRIPTION_DESC);
        $form->addElement($descriptionEle);
        $dept_select->setDescription(_AM_XHELP_TEXT_DEPT_DESC);
        $control_select->setDescription(_AM_XHELP_TEXT_CONTROLTYPE_DESC);
        $datatype_select->setDescription(_AM_XHELP_TEXT_DATATYPE_DESC);
        $form->addElement($dept_select);
        $form->addElement($control_select);
        $form->addElement($datatype_select);
        $required = new XoopsFormRadioYN(_AM_XHELP_TEXT_REQUIRED, 'fld_required', $fld_required);
        $required->setDescription(_AM_XHELP_TEXT_REQUIRED_DESC);
        $form->addElement($required);
        $lengthEle = new XoopsFormText(_AM_XHELP_TEXT_LENGTH, 'fld_length', 5, 5, $fld_length);
        $lengthEle->setDescription(_AM_XHELP_TEXT_LENGTH_DESC);
        $weightEle = new XoopsFormText(_AM_XHELP_TEXT_WEIGHT, 'fld_weight', 5, 5, $fld_weight);
        $weightEle->setDescription(_AM_XHELP_TEXT_WEIGHT_DESC);
        $form->addElement($lengthEle);
        $form->addElement($weightEle);
        $regex_control = new xhelpFormRegex(_AM_XHELP_TEXT_VALIDATION, 'fld_valid', $fld_validation);
        $regex_control->addOptionArray($regex_array);
        $regex_control->setDescription(_AM_XHELP_TEXT_VALIDATION_DESC);
        $form->addElement($regex_control);
        $defaultValueEle = new XoopsFormText(_AM_XHELP_TEXT_DEFAULTVALUE, 'fld_defaultvalue', 30, 100, $fld_defaultvalue);
        $defaultValueEle->setDescription(_AM_XHELP_TEXT_DEFAULTVALUE_DESC);
        $form->addElement($defaultValueEle);
        $values = new XoopsFormTextArea(_AM_XHELP_TEXT_FIELDVALUES, 'fld_values', $fld_values, 5, 60);
        $values->setDescription(_AM_XHELP_TEXT_FIELDVALUES_DESC);
        $form->addElement($values);
        $btn_tray = new XoopsFormElementTray('');
        $btn_tray->addElement(new XoopsFormButton('', 'addField', _AM_XHELP_BUTTON_SUBMIT, 'submit'));
        $form->addElement($btn_tray);
        echo $form->render();
        xhelpAdminFooter();
        xoops_cp_footer();
    } else {
        //Validate Field Information
        $has_errors = false;
        $hField =& xhelpGetHandler('ticketField');
        $values =& _parseValues($_POST['fld_values']);
        if (!($control = xhelpGetControl($_POST['fld_controltype']))) {
            $has_errors = true;
            $errors['fld_controltype'][] = _AM_XHELP_VALID_ERR_CONTROLTYPE;
        }
        $fld_needslength = $control['needs_length'];
        $fld_needsvalues = $control['needs_values'];
        //name field filled?
        if (trim($_POST['fld_name']) == '') {
            $has_errors = true;
            $errors['fld_name'][] = _AM_XHELP_VALID_ERR_NAME;
        }
        $fld_fieldname = sanitizeFieldName($_POST['fld_fieldname']);
        //fieldname filled
        if (trim($fld_fieldname) == '') {
            $has_errors = true;
            $errors['fld_fieldname'][] = _AM_XHELP_VALID_ERR_FIELDNAME;
        }
        //fieldname unique?
        $crit = new CriteriaCompo(new Criteria('fieldname', $fld_fieldname));
        if ($hField->getCount($crit)) {
            $has_errors = true;
            $errors['fld_fieldname'][] = _AM_XHELP_VALID_ERR_FIELDNAME_UNIQUE;
        }
        //Length filled
        if (intval($_POST['fld_length']) == 0 && $fld_needslength == true) {
            $has_errors = true;
            $errors['fld_length'][] = sprintf(_AM_XHELP_VALID_ERR_LENGTH, 2, 16777215);
        }
        //Departments Chosen?
        //default value in value set?
        if (count($values)) {
            if (!in_array($_POST['fld_defaultvalue'], $values, true) && !array_key_exists($_POST['fld_defaultvalue'], $values)) {
                $has_errors = true;
                $errors['fld_defaultvalue'][] = _AM_XHELP_VALID_ERR_DEFAULTVALUE;
            }
            //length larger than longest value?
            $length = intval($_POST['fld_length']);
            foreach ($values as $key => $value) {
                if (strlen($key) > $length) {
                    $has_errors = true;
                    $errors['fld_values'][] = sprintf(_AM_XHELP_VALID_ERR_VALUE_LENGTH, htmlentities($key), $length);
                }
            }
            //Values are all of the correct datatype?
        } elseif ($fld_needsvalues) {
            $has_errors = true;
            $errors['fld_values'][] = _AM_XHELP_VALID_ERR_VALUE;
        }
        if ($has_errors) {
            $afield = array();
            $afield['name'] = $_POST['fld_name'];
            $afield['description'] = $_POST['fld_description'];
            $afield['fieldname'] = $fld_fieldname;
            $afield['departments'] = $_POST['fld_departments'];
            $afield['controltype'] = $_POST['fld_controltype'];
            $afield['datatype'] = $_POST['fld_datatype'];
            $afield['required'] = $_POST['fld_required'];
            $afield['weight'] = $_POST['fld_weight'];
            $afield['defaultvalue'] = $_POST['fld_defaultvalue'];
            $afield['values'] = $_POST['fld_values'];
            $afield['length'] = $_POST['fld_length'];
            $afield['validation'] = $_POST['fld_valid_select'] == $_POST['fld_valid_txtbox'] ? $_POST['fld_valid_select'] : $_POST['fld_valid_txtbox'];
            $session->set('xhelp_addField', $afield);
            $session->set('xhelp_addFieldErrors', $errors);
            header('Location: ' . xhelpMakeURI(XHELP_ADMIN_URL . '/fields.php'));
            exit;
        }
        //Save field
        $hField =& xhelpGetHandler('ticketField');
        $field =& $hField->create();
        $field->setVar('name', $_POST['fld_name']);
        $field->setVar('description', $_POST['fld_description']);
        $field->setVar('fieldname', $fld_fieldname);
        $field->setVar('controltype', $_POST['fld_controltype']);
        $field->setVar('datatype', $_POST['fld_datatype']);
        $field->setVar('fieldlength', $_POST['fld_length']);
        $field->setVar('required', $_POST['fld_required']);
        $field->setVar('weight', $_POST['fld_weight']);
        $field->setVar('defaultvalue', $_POST['fld_defaultvalue']);
        $field->setVar('validation', $_POST['fld_valid_select'] == $_POST['fld_valid_txtbox'] ? $_POST['fld_valid_select'] : $_POST['fld_valid_txtbox']);
        $field->addValues($values);
        $field->addDepartments($_POST['fld_departments']);
        if ($hField->insert($field)) {
            _clearAddSessionVars();
            redirect_header(xhelpMakeURI(XHELP_ADMIN_URL . '/fields.php'), 3, _AM_XHELP_MSG_FIELD_ADD_OK);
        } else {
            $errors = $field->getHtmlErrors();
            redirect_header(xhelpMakeURI(XHELP_ADMIN_URL . '/fields.php'), 3, _AM_XHELP_MSG_FIELD_ADD_ERR . $errors);
        }
    }
}
 /**
  * @brief search item
  *
  * @param query query ( string or CriteriaElement )
  * @param limit the maximum number of rows to return(0 = no limit)
  * @param offset the offset of the first row to return(0 = from beginning)
  * @param uid user ID
  * @return array of item id
  */
 function search($query, $limit, $offset, $uid)
 {
     if (!$this->iteminfo) {
         return array();
     }
     $modulename = $this->iteminfo['ormcompo']['module'];
     $dummy = false;
     $search_cache_id = false;
     // save xoopsUser
     if (isset($GLOBALS['xoopsUser'])) {
         $old_xoopsUser = $GLOBALS['xoopsUser'];
     } else {
         $old_xoopsUser = null;
     }
     // prepare for xnpSearchExec
     $member_handler =& xoops_gethandler('member');
     $GLOBALS['xoopsUser'] = $member_handler->getUser($uid);
     // search
     $item_ids = array();
     if (xnpSearchExec('quicksearch', $query, $modulename, false, $dummy, $dummy, $dummy, $search_cache_id, false, 'item_metadata')) {
         $search_cache_item_handler =& xoonips_getormhandler('xoonips', 'search_cache_item');
         $criteria = new Criteria('search_cache_id', $search_cache_id);
         $criteria->setSort('item_id');
         $criteria->setStart($offset);
         if ($limit) {
             $criteria->setLimit($limit);
         }
         $search_cache_items =& $search_cache_item_handler->getObjects($criteria);
         foreach ($search_cache_items as $search_cache_item) {
             $item_ids[] = $search_cache_item->get('item_id');
         }
     }
     // restore xoopsUser
     $GLOBALS['xoopsUser'] = $old_xoopsUser;
     return $item_ids;
 }
Example #15
0
 public static function search()
 {
     $publisher =& PublisherPublisher::getInstance();
     global $limit, $start, $imagearray, $aSearchBy, $aOrderBy, $aLimitBy, $aSortBy;
     if (XoopsRequest::getString('deleteMimes', '', 'POST')) {
         $aMimes = XoopsRequest::getArray('mimes', array(), 'POST');
         $crit = new Criteria('mime_id', '(' . implode($aMimes, ',') . ')', 'IN');
         if ($publisher->getHandler('mimetype')->deleteAll($crit)) {
             header('Location: ' . PUBLISHER_ADMIN_URL . "/mimetypes.php?limit={$limit}&start={$start}");
         } else {
             redirect_header(PUBLISHER_ADMIN_URL . "/mimetypes.php?limit={$limit}&start={$start}", 3, _AM_PUBLISHER_MESSAGE_DELETE_MIME_ERROR);
         }
     }
     if (XoopsRequest::getString('add_mime', '', 'POST')) {
         //        header("Location: " . PUBLISHER_ADMIN_URL . "/mimetypes.php?op=add&start=$start&limit=$limit");
         redirect_header(PUBLISHER_ADMIN_URL . "/mimetypes.php?op=add&start={$start}&limit={$limit}", 3, _AM_PUBLISHER_MIME_CREATEF);
         //        exit();
     }
     $order = XoopsRequest::getString('order', 'ASC', 'POST');
     $sort = XoopsRequest::getString('sort', 'mime_name', 'POST');
     publisherCpHeader();
     //publisher_adminMenu(4, _AM_PUBLISHER_MIMETYPES . " > " . _AM_PUBLISHER_BUTTON_SEARCH);
     publisherOpenCollapsableBar('mimemsearchtable', 'mimesearchicon', _AM_PUBLISHER_MIME_SEARCH);
     if (!XoopsRequest::getString('mime_search', '', 'POST')) {
         echo "<form action='mimetypes.php?op=search' method='post'>";
         echo "<table width='100%' cellspacing='1' class='outer'>";
         echo "<tr><th colspan='2'>" . _AM_PUBLISHER_TEXT_SEARCH_MIME . '</th></tr>';
         echo "<tr><td class='head' width='20%'>" . _AM_PUBLISHER_TEXT_SEARCH_BY . "</td>\n        <td class='even'>\n        <select name='search_by'>";
         foreach ($aSortBy as $value => $text) {
             echo "<option value='{$value}'>{$text}</option>";
         }
         unset($value, $text);
         echo '</select>
     </td>
     </tr>';
         echo "<tr><td class='head'>" . _AM_PUBLISHER_TEXT_SEARCH_TEXT . "</td>\n        <td class='even'>\n        <input type='text' name='search_text' id='search_text' value='' />\n        </td>\n        </tr>";
         echo "<tr class='foot'>\n        <td colspan='2'>\n        <input type='submit' name='mime_search' id='mime_search' value='" . _AM_PUBLISHER_BUTTON_SEARCH . "' />\n        </td>\n        </tr>";
         echo '</table></form>';
     } else {
         $searchField = XoopsRequest::getString('search_by', '', 'POST');
         $searchText = XoopsRequest::getString('search_text', '', 'POST');
         $crit = new Criteria($searchField, "%{$searchText}%", 'LIKE');
         $crit->setSort($sort);
         $crit->setOrder($order);
         $crit->setLimit($limit);
         $crit->setStart($start);
         $mimeCount =& $publisher->getHandler('mimetype')->getCount($crit);
         $mimetypes =& $publisher->getHandler('mimetype')->getObjects($crit);
         $nav = new XoopsPageNav($mimeCount, $limit, $start, 'start', "op=search&amp;limit={$limit}&amp;order={$order}&amp;sort={$sort}&amp;mime_search=1&amp;search_by={$searchField}&amp;search_text={$searchText}");
         // Display results
         echo '<script type="text/javascript" src="' . PUBLISHER_URL . '/include/functions.js"></script>';
         echo "<table width='100%' cellspacing='1' class='outer'>";
         echo "<tr><td colspan='6' align='right'>";
         echo "<form action='" . PUBLISHER_ADMIN_URL . "/mimetypes.php?op=search' style='margin:0; padding:0;' method='post'>";
         echo '<table>';
         echo '<tr>';
         echo "<td align='right'>" . _AM_PUBLISHER_TEXT_SEARCH_BY . '</td>';
         echo "<td align='left'><select name='search_by'>";
         foreach ($aSearchBy as $value => $text) {
             $searchField == $value ? $selected = "selected='selected'" : ($selected = '');
             echo "<option value='{$value}' {$selected}>{$text}</option>";
         }
         unset($value, $text);
         echo '</select></td>';
         echo "<td align='right'>" . _AM_PUBLISHER_TEXT_SEARCH_TEXT . '</td>';
         echo "<td align='left'><input type='text' name='search_text' id='search_text' value='{$searchText}' /></td>";
         echo "<td><input type='submit' name='mime_search' id='mime_search' value='" . _AM_PUBLISHER_BUTTON_SEARCH . "' /></td>";
         echo '</tr></table></form></td></tr>';
         echo "<tr><td colspan='6'>";
         echo "<form action='" . PUBLISHER_ADMIN_URL . "/mimetypes.php?op=search' style='margin:0; padding:0;' method='post'>";
         echo "<table width='100%'>";
         echo "<tr><td align='right'>" . _AM_PUBLISHER_TEXT_SORT_BY . "\n        <select name='sort'>";
         foreach ($aSortBy as $value => $text) {
             $sort == $value ? $selected = "selected='selected'" : ($selected = '');
             echo "<option value='{$value}' {$selected}>{$text}</option>";
         }
         unset($value, $text);
         echo '</select>
     &nbsp;&nbsp;&nbsp;
     ' . _AM_PUBLISHER_TEXT_ORDER_BY . "\n        <select name='order'>";
         foreach ($aOrderBy as $value => $text) {
             $order == $value ? $selected = "selected='selected'" : ($selected = '');
             echo "<option value='{$value}' {$selected}>{$text}</option>";
         }
         unset($value, $text);
         echo '</select>
     &nbsp;&nbsp;&nbsp;
     ' . _AM_PUBLISHER_TEXT_NUMBER_PER_PAGE . "\n        <select name='limit'>";
         foreach ($aLimitBy as $value => $text) {
             $limit == $value ? $selected = "selected='selected'" : ($selected = '');
             echo "<option value='{$value}' {$selected}>{$text}</option>";
         }
         unset($value, $text);
         echo "</select>\n        <input type='submit' name='mime_sort' id='mime_sort' value='" . _AM_PUBLISHER_BUTTON_SUBMIT . "' />\n        <input type='hidden' name='mime_search' id='mime_search' value='1' />\n        <input type='hidden' name='search_by' id='search_by' value='{$searchField}' />\n        <input type='hidden' name='search_text' id='search_text' value='{$searchText}' />\n        </td>\n        </tr>";
         echo '</table>';
         echo '</td></tr>';
         if (count($mimetypes) > 0) {
             echo "<tr><th colspan='6'>" . _AM_PUBLISHER_TEXT_SEARCH_MIME . '</th></tr>';
             echo "<tr class='head'>\n            <td>" . _AM_PUBLISHER_MIME_ID . '</td>
         <td>' . _AM_PUBLISHER_MIME_NAME . "</td>\n            <td align='center'>" . _AM_PUBLISHER_MIME_EXT . "</td>\n            <td align='center'>" . _AM_PUBLISHER_MIME_ADMIN . "</td>\n            <td align='center'>" . _AM_PUBLISHER_MIME_USER . "</td>\n            <td align='center'>" . _AM_PUBLISHER_MINDEX_ACTION . '</td>
         </tr>';
             foreach ($mimetypes as $mime) {
                 echo "<tr class='even'>\n                <td><input type='checkbox' name='mimes[]' value='" . $mime->getVar('mime_id') . "' />" . $mime->getVar('mime_id') . '</td>
             <td>' . $mime->getVar('mime_name') . "</td>\n                <td align='center'>" . $mime->getVar('mime_ext') . "</td>\n                <td align='center'>\n                <a href='" . PUBLISHER_ADMIN_URL . '/mimetypes.php?op=updateMimeValue&amp;id=' . $mime->getVar('mime_id') . '&amp;mime_admin=' . $mime->getVar('mime_admin') . '&amp;limit=' . $limit . '&amp;start=' . $start . "'>\n                " . ($mime->getVar('mime_admin') ? $imagearray['online'] : $imagearray['offline']) . "</a>\n                </td>\n                <td align='center'>\n                <a href='" . PUBLISHER_ADMIN_URL . '/mimetypes.php?op=updateMimeValue&amp;id=' . $mime->getVar('mime_id') . '&amp;mime_user='******'mime_user') . '&amp;limit=' . $limit . '&amp;start=' . $start . "'>\n                " . ($mime->getVar('mime_user') ? $imagearray['online'] : $imagearray['offline']) . "</a>\n                </td>\n                <td align='center'>\n                <a href='" . PUBLISHER_ADMIN_URL . '/mimetypes.php?op=edit&amp;id=' . $mime->getVar('mime_id') . '&amp;limit=' . $limit . '&amp;start=' . $start . "'>" . $imagearray['editimg'] . "</a>\n                <a href='" . PUBLISHER_ADMIN_URL . '/mimetypes.php?op=delete&amp;id=' . $mime->getVar('mime_id') . '&amp;limit=' . $limit . '&amp;start=' . $start . "'>" . $imagearray['deleteimg'] . '</a>
             </td>
             </tr>';
             }
             //                unset($mime);
             echo "<tr class='foot'>\n            <td colspan='6' valign='top'>\n            <a href='http://www.filext.com' style='float: right;' target='_blank'>" . _AM_PUBLISHER_MIME_FINDMIMETYPE . "</a>\n            <input type='checkbox' name='checkAllMimes' value='0' onclick='selectAll(this.form,\"mimes[]\",this.checked);' />\n            <input type='submit' name='deleteMimes' id='deleteMimes' value='" . _AM_PUBLISHER_BUTTON_DELETE . "' />\n            <input type='submit' name='add_mime' id='add_mime' value='" . _AM_PUBLISHER_MIME_CREATEF . "' class='formButton' />\n            </td>\n            </tr>";
         } else {
             echo '<tr><th>' . _AM_PUBLISHER_TEXT_SEARCH_MIME . '</th></tr>';
             echo "<tr class='even'>\n            <td>" . _AM_PUBLISHER_TEXT_NO_RECORDS . '</td>
         </tr>';
         }
         echo '</table>';
         echo "<div id='pagenav'>" . $nav->renderNav() . '</div>';
     }
     publisherCloseCollapsableBar('mimesearchtable', 'mimesearchicon');
     //        include_once __DIR__ . '/admin_footer.php';
     xoops_cp_footer();
 }
Example #16
0
function manageStatus()
{
    global $oAdminButton, $aSortBy, $aOrderBy, $aLimitBy, $order, $limit, $start, $sort;
    $hStatus =& xhelpGetHandler('status');
    if (isset($_POST['changeDefaultStatus'])) {
        xhelpSetMeta("default_status", $_POST['default']);
    }
    if (isset($_POST['newStatus'])) {
        if ($_POST['desc'] == '') {
            // If no description supplied
            $message = _AM_XHELP_MESSAGE_NO_DESC;
            redirect_header(XHELP_ADMIN_URL . "/status.php?op=manageStatus", 3, $message);
        }
        $newStatus =& $hStatus->create();
        $newStatus->setVar('state', intval($_POST['state']));
        $newStatus->setVar('description', $_POST['desc']);
        if ($hStatus->insert($newStatus)) {
            header("Location: " . XHELP_ADMIN_URL . "/status.php?op=manageStatus");
        } else {
            $message = _AM_MESSAGE_ADD_STATUS_ERR;
            redirect_header(XHELP_ADMIN_URL . "/status.php?op=manageStatus", 3, $message);
        }
    }
    xoops_cp_header();
    echo $oAdminButton->renderButtons('manStatus');
    echo "<form method='post' action='" . XHELP_ADMIN_URL . "/status.php?op=manageStatus'>";
    echo "<table width='100%' cellspacing='1' class='outer'>\r\n          <tr><th colspan='2'><label>" . _AM_XHELP_TEXT_ADD_STATUS . "</label></th></tr>";
    echo "<tr><td class='head' width='20%'>" . _AM_XHELP_TEXT_DESCRIPTION . "</td>\r\n              <td class='even'>\r\n                  <input type='text' name='desc' value='' class='formButton' />\r\n              </td>\r\n          </tr>";
    echo "<tr><td class='head' width='20%'>" . _AM_XHELP_TEXT_STATE . "</td><td class='even'>\r\n              <select name='state'>\r\n              <option value='1'>" . xhelpGetState(1) . "</option>\r\n              <option value='2'>" . xhelpGetState(2) . "</option>\r\n          </select></td></tr>";
    echo "<tr><td class='foot' colspan='2'><input type='submit' name='newStatus' value='" . _AM_XHELP_TEXT_ADD_STATUS . "' class='formButton' /></td></tr>";
    echo "</table></form>";
    // Get list of existing statuses
    $crit = new Criteria('', '');
    $crit->setOrder($order);
    $crit->setSort($sort);
    $crit->setLimit($limit);
    $crit->setStart($start);
    $statuses =& $hStatus->getObjects($crit);
    $total = $hStatus->getCount($crit);
    $aStatuses = array();
    foreach ($statuses as $status) {
        $aStatuses[$status->getVar('id')] = $status->getVar('description');
    }
    if (!($default_status = xhelpGetMeta("default_status"))) {
        xhelpSetMeta("default_status", "1");
        $default_status = 1;
    }
    $form = new xhelpForm(_AM_XHELP_TEXT_DEFAULT_STATUS, 'default_status', xhelpMakeURI(XHELP_ADMIN_URL . '/status.php', array('op' => 'manageStatus')));
    $status_select = new XoopsFormSelect(_AM_XHELP_TEXT_STATUS, 'default', $default_status);
    $status_select->addOptionArray($aStatuses);
    $btn_tray = new XoopsFormElementTray('');
    $btn_tray->addElement(new XoopsFormButton('', 'changeDefaultStatus', _AM_XHELP_BUTTON_SUBMIT, 'submit'));
    $form->addElement($status_select);
    $form->addElement($btn_tray);
    $form->setLabelWidth('20%');
    echo $form->render();
    $nav = new XoopsPageNav($total, $limit, $start, 'start', "op=manageStatus&amp;limit={$limit}");
    echo "<form action='" . XHELP_ADMIN_URL . "/status.php?op=manageStatus' style='margin:0; padding:0;' method='post'>";
    echo "<table width='100%' cellspacing='1' class='outer'>";
    echo "<tr><td align='right'>" . _AM_XHELP_TEXT_SORT_BY . "\r\n                  <select name='sort'>";
    foreach ($aSortBy as $value => $text) {
        $sort == $value ? $selected = "selected='selected'" : ($selected = '');
        echo "<option value='{$value}' {$selected}>{$text}</option>";
    }
    echo "</select>\r\n                &nbsp;&nbsp;&nbsp;\r\n                  " . _AM_XHELP_TEXT_ORDER_BY . "\r\n                  <select name='order'>";
    foreach ($aOrderBy as $value => $text) {
        $order == $value ? $selected = "selected='selected'" : ($selected = '');
        echo "<option value='{$value}' {$selected}>{$text}</option>";
    }
    echo "</select>\r\n                  &nbsp;&nbsp;&nbsp;\r\n                  " . _AM_XHELP_TEXT_NUMBER_PER_PAGE . "\r\n                  <select name='limit'>";
    foreach ($aLimitBy as $value => $text) {
        $limit == $value ? $selected = "selected='selected'" : ($selected = '');
        echo "<option value='{$value}' {$selected}>{$text}</option>";
    }
    echo "</select>\r\n                  <input type='submit' name='status_sort' id='status_sort' value='" . _AM_XHELP_BUTTON_SUBMIT . "' />\r\n              </td>\r\n          </tr>";
    echo "</table></form>";
    echo "<table width='100%' cellspacing='1' class='outer'>\r\n          <tr><th colspan='4'><label>" . _AM_XHELP_TEXT_MANAGE_STATUSES . "</label></th></tr>";
    echo "<tr class='head'>\r\n              <td>" . _AM_XHELP_TEXT_ID . "</td>\r\n              <td>" . _AM_XHELP_TEXT_DESCRIPTION . "</td>\r\n              <td>" . _AM_XHELP_TEXT_STATE . "</td>\r\n              <td>" . _AM_XHELP_TEXT_ACTIONS . "</td>\r\n          </tr>";
    foreach ($statuses as $status) {
        echo "<tr class='even'><td>" . $status->getVar('id') . "</td><td>" . $status->getVar('description') . "</td>\r\n              <td>" . xhelpGetState($status->getVar('state')) . "</td>\r\n              <td>\r\n                  <a href='status.php?op=editStatus&amp;statusid=" . $status->getVar('id') . "'><img src='" . XHELP_IMAGE_URL . "/button_edit.png' title='" . _AM_XHELP_TEXT_EDIT . "' name='editStatus' /></a>&nbsp;\r\n                  <a href='status.php?op=deleteStatus&amp;statusid=" . $status->getVar('id') . "'><img src='" . XHELP_IMAGE_URL . "/button_delete.png' title='" . _AM_XHELP_TEXT_DELETE . "' name='deleteStatus' /></a></td></tr>\r\n              </td></tr>";
    }
    echo "</table>";
    echo "<div id='status_nav'>" . $nav->renderNav() . "</div>";
    xhelpAdminFooter();
    xoops_cp_footer();
}
Example #17
0
 /**
  * Retrieve a list of objects as arrays
  * @param object $criteria {@link CriteriaElement} conditions to be met
  * @param int   $limit      Max number of objects to fetch
  * @param int   $start      Which record to start at
  *
  * @return array
  */
 function getList($criteria = null, $limit = 0, $start = 0)
 {
     if ($limit > 0 || $start > 0) {
         if ($criteria == null) {
             $criteria = new Criteria($this->keyName, -1, "!=");
         }
         $criteria->setLimit($limit);
         $criteria->setStart($start);
     }
     return $this->getObjects($criteria, true, false);
 }
Example #18
0
//  GNU General Public License for more details.                             //
//                                                                           //
//  You should have received a copy of the GNU General Public License        //
//  along with this program; if not, write to the Free Software              //
//  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA //
//  ------------------------------------------------------------------------ //
include "../../mainfile.php";
$xoopsOption['template_main'] = 'mysearch_index.html';
include_once XOOPS_ROOT_PATH . '/header.php';
include_once XOOPS_ROOT_PATH . '/modules/mysearch/include/functions.php';
$mysearch_handler =& xoops_getmodulehandler('searches', 'mysearch');
$visiblekeywords = 0;
$visiblekeywords = mysearch_getmoduleoption('showindex');
$xoopsTpl->assign('visiblekeywords', $visiblekeywords);
if ($visiblekeywords > 0) {
    $totalcount = $mysearch_handler->getCount();
    $start = isset($_GET['start']) ? intval($_GET['start']) : 0;
    $critere = new Criteria('keyword');
    $critere->setSort('datesearch');
    $critere->setLimit($visiblekeywords);
    $critere->setStart($start);
    $critere->setOrder('DESC');
    include_once XOOPS_ROOT_PATH . '/class/pagenav.php';
    $pagenav = new XoopsPageNav($totalcount, $visiblekeywords, $start, 'start', '');
    $xoopsTpl->assign('pagenav', $pagenav->renderNav());
    $elements = $mysearch_handler->getObjects($critere);
    foreach ($elements as $oneelement) {
        $xoopsTpl->append('keywords', array('keyword' => $oneelement->getVar('keyword'), 'date' => formatTimestamp(strtotime($oneelement->getVar('datesearch')))));
    }
}
include_once XOOPS_ROOT_PATH . '/footer.php';
Example #19
0
        }
        include XOOPS_ROOT_PATH . '/footer.php';
        break;
    default:
        $xoopsOption['template_main'] = "vidshop_index.html";
        include XOOPS_ROOT_PATH . '/header.php';
        $criteria = new Criteria('weight', '0', '>');
        $criteria->setOrder('weight');
        $categories = $videoCatHandler->getObjects($criteria, true);
        if (is_array($categories)) {
            foreach ($categories as $key => $object) {
                $xoopsTpl->append('categories', $object->getValues());
            }
        }
        $criteria = new Criteria('uid', '0', '>');
        $criteria->setStart(rand(0, $videoHandler->getCount($criteria) - 1));
        $criteria->setLimit(1);
        $videos = $videoHandler->getObjects($criteria);
        if (is_array($videos) && is_object($videos[0])) {
            $video = array();
            $video = $videos[0]->getValues();
            $video['description'] = $myts->displayTarea($video['description'], 1, 1, 1, 1, 1);
            $xoopsTpl->assign('video', $video);
            include_once XOOPS_ROOT_PATH . "/modules/tag/include/tagbar.php";
            $xoopsTpl->assign('tagbar', tagBar($videos[0]->getVar('id'), $videos[0]->getVar('cid')));
            $_GET['id'] = $videos[0]->getVar('id');
            include_once XOOPS_ROOT_PATH . "/include/comment_view.php";
        }
        include XOOPS_ROOT_PATH . '/footer.php';
        break;
}
/**
 * get item_basic objects from database
 *
 * @access public
 * @param int $start number of skip results
 * @param int $limit number of results, zero means unlimit
 * @return array object instance
 */
function &xoonips_eventlog_get_items($start, $limit)
{
    global $xoopsDB;
    $tables['item_basic'] = $xoopsDB->prefix('xoonips_item_basic');
    $ib_handler =& xoonips_getormhandler('xoonips', 'item_basic');
    $criteria = new Criteria($tables['item_basic'] . '.item_type_id', ITID_INDEX, '>');
    $criteria->setSort($tables['item_basic'] . '.item_id');
    $criteria->setStart($start);
    if ($limit > 0) {
        $criteria->setLimit($limit);
    }
    $join_criteria = new XooNIpsJoinCriteria('xoonips_item_type', 'item_type_id', 'item_type_id', 'INNER');
    $join_criteria->cascade(new XooNIpsJoinCriteria('users', 'uid', 'uid', 'INNER'), 'xoonips_item_basic');
    $objs =& $ib_handler->getObjects($criteria, false, '', false, $join_criteria);
    return $objs;
}
Example #21
0
	function &getFriendList($limit=0, $start=0, $order_by_rand=false)
	{
		$ret = array();
		
		$criteria = new Criteria('f.uid_from', $this->getVar('uid'));
		$criteria->setLimit($limit);
		$criteria->setStart($start);
		if($order_by_rand){
			$criteria->setSort('RAND()');
		}
		
		$friend_obj_list =& $this->handler['friend']->getObjects($criteria);
		if(is_array($friend_obj_list)){
			foreach($friend_obj_list as $friend_obj){
				$friend =& $this->handler['user']->get($friend_obj->getVar('uid_to'));
				if(is_object($friend)){
					$ret[] =& $friend->getInfo();
				}
				unset($friend);
			}
		}
		return $ret;
	}
    $commentend = $commentstart + $showcomments - 1;
}
$nextXstart = $commentend + 1;
$nextXend = $nextXstart + $showcomments - 1;
$previousXstart = $commentstart - $showcomments;
$previousXend = $commentend - $showcomments;
if ($previousXstart < 1) {
    $previousXstart = 0;
    $previousXend = 0;
}
$selorder_desc = selected($commentorder, "DESC", false);
$selorder_asc = selected($commentorder, "ASC", false);
$criteria = new Criteria(1, 1);
$criteria->setSort('comment_date');
$criteria->setOrder($commentorder);
$criteria->setStart($commentstart - 1);
$criteria->setLimit($commentend - $commentstart + 1);
$commentHandler =& wp_handler('Comment');
$commentObjects =& $commentHandler->getObjects($criteria);
$comment_rows = array();
if ($commentObjects) {
    $comments_found = true;
    foreach ($commentObjects as $commentObject) {
        $row = $commentObject->getVarArray();
        $comment = $commentObject->exportWpObject();
        //$comment global is used in template_functions.
        if ($commentObject->getVar('comment_approved') == 0) {
            $row['class'] = 'class="unapproved" ';
        } else {
            $row['class'] = '';
        }
 /**
  * metadata array from search cache id
  * @access private
  * @param integer $search_cache_id search cache id
  * @param string $order_by sort field name
  * @param string $order_dir 'asc' or 'desc'
  * @param integer $start_count number of first row to get(first row is 1)
  * @param integer $end_count number of last row to get
  * @return array of metadata associative array
  */
 function getMetadataArrays($search_cache_id, $order_by, $order_dir, $start_count, $end_count)
 {
     global $xoopsDB;
     $textutil =& xoonips_getutility('text');
     $cache_handler =& xoonips_getormhandler('xoonips', 'search_cache');
     $cache_metadata_handler =& xoonips_getormhandler('xoonips', 'search_cache_metadata');
     $metadata_handler =& xoonips_getormhandler('xoonips', 'oaipmh_metadata');
     $repository_handler =& xoonips_getormhandler('xoonips', 'oaipmh_repositories');
     if (!$cache_handler->get($search_cache_id)) {
         return array();
     }
     $criteria = new Criteria('search_cache_id', $search_cache_id);
     $criteria->setStart(max(0, $start_count - 1));
     $criteria->setLimit($end_count - $start_count + 1);
     $criteria->setSort($this->getOrderByColumn($order_by));
     $criteria->setOrder($order_dir);
     $join = new XooNIpsJoinCriteria('xoonips_oaipmh_metadata', 'identifier', 'identifier', 'INNER', 'tmeta');
     $metadata_cache =& $cache_metadata_handler->getObjects($criteria, false, '', false, $join);
     if (!$metadata_cache) {
         return array();
     }
     $result = array();
     foreach ($metadata_cache as $cache) {
         $repository =& $repository_handler->get($cache->getExtraVar('repository_id'));
         if (!$repository) {
             continue;
         }
         $result[] = array('id' => $cache->getVar('identifier', 's'), 'metadata_id' => $textutil->html_special_chars($cache->getExtraVar('metadata_id')), 'title' => $textutil->html_special_chars($cache->getExtraVar('title')), 'repository_name' => $repository->getVar('repository_name', 's'), 'last_update_date' => $textutil->html_special_chars($cache->getExtraVar('last_update_date')), 'creation_date' => $textutil->html_special_chars($cache->getExtraVar('creation_date')), 'date' => $textutil->html_special_chars($cache->getExtraVar('date')), 'link' => $textutil->html_special_chars($cache->getExtraVar('link')));
     }
     return $result;
 }
Example #24
0
 /**
  * Static method
  */
 function getAllNews($limit, $start = 0, $criteria = null)
 {
     $ret = array();
     $db =& XoopsDatabaseFactory::getDatabaseConnection();
     if ($criteria == null) {
         $criteria = new Criteria();
     }
     $criteria->setLimit($limit);
     $criteria->setStart($start);
     $sql = "SELECT n.*, t.*, a.* FROM " . $db->prefix('ams_article') . " n, " . $db->prefix('ams_text') . " t, " . $db->prefix('ams_audience') . " a WHERE n.storyid=t.storyid AND n.audienceid=a.audienceid AND n.published != 0 AND t.current=1";
     if (isset($criteria) && is_subclass_of($criteria, 'criteriaelement')) {
         $render = $criteria->render();
         if ($render != "") {
             $sql .= ' AND ' . $render;
         }
         $sql .= " GROUP BY n.storyid";
         if ($criteria->getSort() != '') {
             $sql .= ' ORDER BY ' . $criteria->getSort() . ' ' . $criteria->getOrder();
         }
         $limit = $criteria->getLimit();
         $start = $criteria->getStart();
     }
     $result = $db->query($sql, $limit, $start);
     if (!$result) {
         return $ret;
     }
     while ($myrow = $db->fetchArray($result)) {
         $story = new AmsStory();
         $story->makeStory($myrow);
         $ret[$myrow['storyid']] =& $story;
         unset($story);
     }
     return $ret;
 }
Example #25
0
function manageStaff()
{
    global $xoopsModule, $xoopsUser, $oAdminButton, $displayName, $aLimitByS, $aLimitByD;
    require_once XHELP_CLASS_PATH . '/session.php';
    $_xhelpSession = new Session();
    $_xhelpSession->del("xhelp_return_page");
    $start = $limit = 0;
    $dstart = $dlimit = 0;
    $staff_search = false;
    $dept_search = false;
    if (isset($_POST['addRole'])) {
        header("Location: " . XHELP_ADMIN_URL . "/staff.php?op=addRole");
        exit;
    }
    if (isset($_POST['clearRoles'])) {
        header("Location: " . XHELP_ADMIN_URL . "/staff.php?op=clearRoles");
        exit;
    }
    if (isset($_REQUEST['limit'])) {
        $limit = intval($_REQUEST['limit']);
    }
    if (isset($_REQUEST['start'])) {
        $start = intval($_REQUEST['start']);
    }
    if (isset($_REQUEST['staff_search'])) {
        $staff_search = $_REQUEST['staff_search'];
    }
    if (isset($_REQUEST['dept_search'])) {
        $dept_search = $_REQUEST['dept_search'];
    }
    if (!$limit) {
        $limit = 20;
    }
    if (isset($_REQUEST['dlimit'])) {
        $dlimit = intval($_REQUEST['dlimit']);
    }
    if (isset($_REQUEST['dstart'])) {
        $dstart = intval($_REQUEST['dstart']);
    }
    if (!$dlimit) {
        $dlimit = 10;
    }
    $_xhelpSession->set("xhelp_return_op", "manageStaff");
    if (!isset($_POST['addStaff'])) {
        $member_handler =& xoops_gethandler('member');
        // Get member handler
        $hStaff =& xhelpGetHandler('staff');
        // Get staff handler
        $hDepartments =& xhelpGetHandler('department');
        // Get department handler
        $hRoles =& xhelpGetHandler('role');
        //Get List of depts in system
        $crit = new Criteria('', '');
        $crit->setSort('department');
        $crit->setOrder('ASC');
        $dept_count = $hDepartments->getCount($crit);
        $dept_obj =& $hDepartments->getObjects($crit);
        xoops_cp_header();
        echo $oAdminButton->renderButtons('manStaff');
        if (isset($_GET['uid'])) {
            $userid = intval($_GET['uid']);
            $uname = $xoopsUser->getUnameFromId($userid);
        } else {
            $userid = 0;
            $uname = '';
        }
        if ($dept_count > 0) {
            $userid = isset($_GET['uid']) ? intval($_GET['uid']) : 0;
            //Get List of staff members
            $crit = new Criteria('', '');
            $crit->setStart($start);
            $crit->setLimit($limit);
            $staff_obj =& $hStaff->getObjects($crit);
            $staff_count = $hStaff->getCount($crit);
            $user_count = $member_handler->getUserCount();
            $nav = new xhelpPageNav($staff_count, $limit, $start, 'start', "op=manageStaff&amp;limit={$limit}");
            //Get List of Staff Roles
            $crit = new Criteria('', '');
            $crit->setOrder('ASC');
            $crit->setSort('name');
            $roles =& $hRoles->getObjects($crit);
            echo '<script type="text/javascript" src="' . XOOPS_URL . '/modules/xhelp/include/functions.js"></script>';
            echo "<form method='post' id='manageStaff' name='manageStaff' action='staff.php?op=manageStaff'>";
            echo "<table width='100%' cellspacing='1' class='outer'>\r\n                  <tr><th colspan='2'>" . _AM_XHELP_ADD_STAFF . "</th></tr>";
            echo "<tr><td class='head' width='20%'>" . _AM_XHELP_TEXT_USER . "</td>\r\n                      <td class='even'>\r\n                          <input type='text' id='fullname' name='fullname' class='formButton' value='" . $uname . "' disabled='disabled' style='background-color:#E1E1E1;' onchange=\"window.location='staff.php?op=manageStaff&amp;uid='+user_id.value;\" />\r\n                          <input type='hidden' id='user_id' name='user_id' class='formButton' value='" . $userid . "' />";
            echo "&nbsp;<a href=\"javascript:openWithSelfMain('" . XHELP_BASE_URL . "/lookup.php?admin=1', 'lookup',400, 300);\" title='" . _AM_XHELP_TEXT_FIND_USERS . "'>" . _AM_XHELP_TEXT_FIND_USERS . "</a>\r\n                      </td>\r\n                  </tr>";
            echo "</td></tr>";
            echo "<tr><td class='head' width='20%'>" . _AM_XHELP_TEXT_ROLES . "</td>\r\n                      <td class='even'><table width='75%'>";
            if ($mainRoles = $_xhelpSession->get("xhelp_mainRoles")) {
                foreach ($roles as $role) {
                    if (!in_array($role->getVar('id'), $mainRoles)) {
                        echo "<tr><td><input type='checkbox' name='roles[]' value='" . $role->getVar('id') . "' onclick=\"xhelpRoleCustOnClick('manageStaff', 'roles[]', 'xhelp_role', '&amp;', 'xhelp_dept_cust');\" />\r\n                              <a href='staff.php?op=editRole&amp;id=" . $role->getVar('id') . "&amp;uid=" . $userid . "'>" . $role->getVar('name') . "</a> - " . $role->getVar('description') . "</td></tr>";
                    } else {
                        echo "<tr><td><input type='checkbox' name='roles[]' value='" . $role->getVar('id') . "' checked='checked' onclick=\"xhelpRoleCustOnClick('manageStaff', 'roles[]', 'xhelp_role', '&amp;', 'xhelp_dept_cust');\" />\r\n                              <a href='staff.php?op=editRole&amp;id=" . $role->getVar('id') . "&amp;uid=" . $userid . "'>" . $role->getVar('name') . "</a> - " . $role->getVar('description') . "</td></tr>";
                    }
                }
            } else {
                foreach ($roles as $role) {
                    echo "<tr><td><input type='checkbox' name='roles[]' value='" . $role->getVar('id') . "' onclick=\"xhelpRoleCustOnClick('manageStaff', 'roles[]', 'xhelp_role', '&amp;', 'xhelp_dept_cust');\" />\r\n                          <a href='staff.php?op=editRole&amp;id=" . $role->getVar('id') . "&amp;uid=" . $userid . "'>" . $role->getVar('name') . "</a> - " . $role->getVar('description') . "</td></tr>";
                }
            }
            echo "<tr><td><input type='checkbox' name='checkallRoles' value='0' onclick='selectAll(this.form,\"roles[]\",this.checked); xhelpRoleCustOnClick(\"manageStaff\", \"roles[]\", \"xhelp_role\", \"&amp;\", \"xhelp_dept_cust\");' /><b>" . _AM_XHELP_TEXT_SELECT_ALL . "</b></td></tr>";
            echo "</table></td></tr>";
            echo "<tr><td class='head' width='20%'>" . _AM_XHELP_TEXT_DEPARTMENTS . "</td>\r\n                  <td class='even' width='50%'><table width='75%'>";
            if ($mainDepts =& $_xhelpSession->get("xhelp_mainDepts")) {
                foreach ($dept_obj as $dept) {
                    $deptid = $dept->getVar('id');
                    $aDept = $_xhelpSession->get("xhelp_dept_{$deptid}");
                    $aDeptRoles = $aDept['roleNames'];
                    if (!empty($aDeptRoles) && is_array($aDeptRoles)) {
                        $deptRoles = implode(", ", $aDeptRoles);
                    } else {
                        $deptRoles = '';
                    }
                    if (!in_array($dept->getVar('id'), $mainDepts)) {
                        echo "<tr><td>\r\n                              <input type='checkbox' name='departments[]' value='" . $dept->getVar('id') . "' onclick=\"xhelpRoleCustOnClick('manageStaff', 'departments[]', 'xhelp_depts', '&amp;', 'xhelp_dept_cust');\" />\r\n                              " . $dept->getVar('department') . " [<a href='staff.php?op=customDept&amp;deptid=" . $dept->getVar('id') . "&amp;uid=" . $userid . "' class='xhelp_dept_cust'>" . _AM_XHELP_TEXT_CUSTOMIZE . "</a>] <i>" . $deptRoles . "</i>\r\n                              </td></tr>";
                    } else {
                        echo "<tr><td>\r\n                              <input type='checkbox' name='departments[]' checked='checked' value='" . $dept->getVar('id') . "' onclick=\"xhelpRoleCustOnClick('manageStaff', 'departments[]', 'xhelp_depts', '&amp;', 'xhelp_dept_cust');\" />\r\n                              " . $dept->getVar('department') . " [<a href='staff.php?op=customDept&amp;deptid=" . $dept->getVar('id') . "&amp;uid=" . $userid . "' class='xhelp_dept_cust'>" . _AM_XHELP_TEXT_CUSTOMIZE . "</a>] <i>" . $deptRoles . "</i>\r\n                              </td></tr>";
                    }
                }
            } else {
                foreach ($dept_obj as $dept) {
                    $deptid = $dept->getVar('id');
                    $aDept = $_xhelpSession->get("xhelp_dept_{$deptid}");
                    $aDeptRoles = $aDept['roleNames'];
                    if (!empty($aDeptRoles)) {
                        $deptRoles = implode(", ", $aDeptRoles);
                    } else {
                        $deptRoles = '';
                    }
                    echo "<tr><td>\r\n                          <input type='checkbox' name='departments[]' value='" . $dept->getVar('id') . "' onclick=\"xhelpRoleCustOnClick('manageStaff', 'departments[]', 'xhelp_depts', '&amp;', 'xhelp_dept_cust');\" />\r\n                          " . $dept->getVar('department') . " [<a href='staff.php?op=customDept&amp;deptid=" . $dept->getVar('id') . "&amp;uid=" . $userid . "' class='xhelp_dept_cust'>" . _AM_XHELP_TEXT_CUSTOMIZE . "</a>] <i>" . $deptRoles . "</i>\r\n                          </td></tr>";
                }
            }
            echo "<tr><td><input type='checkbox' name='checkallDepts' value='0' onclick='selectAll(this.form,\"departments[]\",this.checked);xhelpRoleCustOnClick(\"manageStaff\", \"departments[]\", \"xhelp_depts\", \"&amp;\", \"xhelp_dept_cust\");' /><b>" . _AM_XHELP_TEXT_SELECT_ALL . "</b></td></tr>";
            echo "</table></td></tr>";
            echo "<tr><td colspan='2' class='foot'>\r\n                  <input type='submit' name='addStaff' value='" . _AM_XHELP_BUTTON_ADDSTAFF . "' />\r\n                  <input type='submit' name='addRole' value='" . _AM_XHELP_BUTTON_CREATE_ROLE . "' class='formButton' />\r\n                  <input type='submit' name='clearRoles' value='" . _AM_XHELP_BUTTON_CLEAR_PERMS . "' class='formButton' />\r\n                  </td></tr>";
            echo "</table></form>";
            echo "<form method='post' id='cleanStaff' name='cleanStaff' action='staff.php?op=clearOrphanedStaff'>";
            echo "<table width='100%' cellspacing='1' class='outer'>\r\n                  <tr><th colspan='2'>" . _AM_XHELP_TEXT_MAINTENANCE . "</th></tr>";
            echo "<tr><td class='head' width='40%'>" . _AM_XHELP_TEXT_ORPHANED . "</td>\r\n                      <td class='even'><input type='submit' name='cleanStaff' value='" . _AM_XHELP_BUTTON_SUBMIT . "' /></td>\r\n                  </tr>";
            echo "</table></form>";
            if ($staff_count > 0) {
                //Get User Information for each staff member
                $staff_uids = array();
                foreach ($staff_obj as $obj) {
                    $staff_uids[] = $obj->getVar('uid');
                }
                if ($staff_search == false) {
                    $crit = new Criteria('uid', '(' . implode(',', $staff_uids) . ')', 'IN');
                } else {
                    $crit = new CriteriaCompo(new Criteria('uname', "%{$staff_search}%", 'LIKE'), 'OR');
                    $crit->add(new Criteria('name', "%{$staff_search}%", 'LIKE'), 'OR');
                    $crit->add(new Criteria('email', "%{$staff_search}%", 'LIKE'), 'OR');
                }
                $staff_users = $member_handler->getUsers($crit);
                if ($dept_search == false) {
                    $crit = new Criteria('', '');
                } else {
                    $crit = new Criteria('department', "%{$dept_search}%", 'LIKE');
                }
                $crit->setStart($dstart);
                $crit->setLimit($dlimit);
                $allDepts = $hDepartments->getObjects($crit, true);
                $dnav = new xhelpPageNav($hDepartments->getCount($crit), $dlimit, $dstart, 'dstart', "op=manageStaff&amp;start={$start}&amp;limit={$limit}&amp;dlimit={$dlimit}", "tblManageStaff");
                echo "<form action='" . XHELP_ADMIN_URL . "/staff.php?op=manageStaff' style='margin:0; padding:0;' method='post'>";
                echo "<table width='100%' cellspacing='1' class='outer'>";
                echo "<tr><td align='right'>" . _AM_XHELP_TEXT_STAFF . ": " . _AM_XHELP_BUTTON_SEARCH . " <input type='text' name='staff_search' value='{$staff_search}' />\r\n                          " . _AM_XHELP_TEXT_NUMBER_PER_PAGE . "<select name='limit'>";
                foreach ($aLimitByS as $value => $text) {
                    $limit == $value ? $selected = "selected='selected'" : ($selected = '');
                    echo "<option value='{$value}' {$selected}>{$text}</option>";
                }
                echo "</select>\r\n                            &nbsp;&nbsp;&nbsp;\r\n                            " . _AM_XHELP_TEXT_DEPARTMENTS . ": " . _AM_XHELP_BUTTON_SEARCH . " \r\n                              <input type='text' name='dept_search' value='{$dept_search}' />\r\n                            " . _AM_XHELP_TEXT_NUMBER_PER_PAGE . "\r\n                              <select name='dlimit'>";
                foreach ($aLimitByD as $value => $text) {
                    $dlimit == $value ? $selected = "selected='selected'" : ($selected = '');
                    echo "<option value='{$value}' {$selected}>{$text}</option>";
                }
                echo "</select>\r\n                            &nbsp;&nbsp;\r\n                              <input type='submit' name='staff_select' id='staff_select' value='" . _AM_XHELP_BUTTON_SUBMIT . "' />\r\n                          </td>\r\n                      </tr>";
                echo "</table></form>";
                echo "<table width='100%' cellspacing='1' class='outer' id='tblManageStaff'>\r\n                      <tr><th colspan='" . (3 + count($allDepts)) . "'><label>" . _AM_XHELP_MANAGE_STAFF . "</label></th></tr>";
                echo "<tr class='head'><td rowspan='2'>" . _AM_XHELP_TEXT_ID . "</td><td rowspan='2'>" . _AM_XHELP_TEXT_USER . "</td><td colspan='" . count($allDepts) . "'>" . _AM_XHELP_TEXT_DEPARTMENTS . " " . $dnav->renderNav() . "</td><td rowspan='2'>" . _AM_XHELP_TEXT_ACTIONS . "</td></tr>";
                echo "<tr class='head'>";
                foreach ($allDepts as $thisdept) {
                    echo "<td>" . $thisdept->getVar('department') . "</td>";
                }
                echo "</tr>";
                $hMembership =& xhelpGetHandler('membership');
                $hStaffRole =& xhelpGetHandler('staffRole');
                foreach ($staff_users as $staff) {
                    $departments = $hMembership->membershipByStaff($staff->getVar('uid'), true);
                    echo "<tr class='even'><td>" . $staff->getVar('uid') . "</td><td>" . $staff->getVar('uname') . "</td>";
                    foreach ($allDepts as $thisdept) {
                        echo "<td><img src='" . XOOPS_URL . "/modules/xhelp/images/";
                        echo array_key_exists($thisdept->getVar('id'), $departments) ? "on" : "off";
                        echo ".png' /></td>";
                    }
                    echo "<td><a href='staff.php?op=editStaff&amp;uid=" . $staff->getVar('uid') . "'><img src='" . XOOPS_URL . "/modules/xhelp/images/button_edit.png' title='" . _AM_XHELP_TEXT_EDIT . "' name='editStaff' /></a>&nbsp;\r\n                              <a href='delete.php?deleteStaff=1&amp;uid=" . $staff->getVar('uid') . "'><img src='" . XOOPS_URL . "/modules/xhelp/images/button_delete.png' title='" . _AM_XHELP_TEXT_DELETE . "' name='deleteStaff' /></a>\r\n                          </td></tr>";
                }
                echo "</table><br />";
                echo "<div id='staff_nav'>" . $nav->renderNav() . "</div>";
            }
        } else {
            echo "<div id='readOnly' class='errorMsg'>";
            echo _AM_XHELP_TEXT_MAKE_DEPTS;
            echo "</div>";
            echo "<br /><a href='department.php?op=manageDepartments'>" . _AM_XHELP_LINK_ADD_DEPT . "</a>";
        }
        xhelpAdminFooter();
        xoops_cp_footer();
    } else {
        $uid = $_POST['user_id'];
        $depts = $_POST['departments'];
        $roles = $_POST['roles'];
        //$selectAll = $_POST['selectall'];
        $hStaff =& xhelpGetHandler('staff');
        if (!isset($uid) || $uid == '') {
            redirect_header(XHELP_ADMIN_URL . '/staff.php?op=manageStaff', 3, _AM_XHELP_STAFF_ERROR_USERS);
        }
        if (!isset($depts)) {
            redirect_header(XHELP_ADMIN_URL . '/staff.php?op=manageStaff', 3, _AM_XHELP_STAFF_ERROR_DEPTARTMENTS);
        }
        if (!isset($roles)) {
            redirect_header(XHELP_ADMIN_URL . '/staff.php?op=manageStaff', 3, _AM_XHELP_STAFF_ERROR_ROLES);
        }
        if ($hStaff->isStaff($uid)) {
            redirect_header(XHELP_ADMIN_URL . '/staff.php?op=manageStaff', 3, _AM_XHELP_STAFF_EXISTS);
        }
        $member_handler =& xoops_gethandler('member');
        // Get member handler
        $newUser =& $member_handler->getUser($uid);
        $email = $newUser->getVar('email');
        if ($hStaff->addStaff($uid, $email)) {
            // $selectAll
            $message = _XHELP_MESSAGE_ADDSTAFF;
            $hMembership =& xhelpGetHandler('membership');
            //Set Department Membership
            if ($hMembership->addDeptToStaff($depts, $uid)) {
                $message = _XHELP_MESSAGE_ADDSTAFF;
            } else {
                $message = _XHELP_MESSAGE_ADDSTAFF_ERROR;
            }
            //Set Global Roles
            foreach ($roles as $role) {
                $hStaff->addStaffRole($uid, $role, 0);
            }
            //Set Department Roles
            foreach ($depts as $dept) {
                if ($custRoles = $_xhelpSession->get("xhelp_dept_{$dept}")) {
                    if ($custRoles['roles'] != -1) {
                        foreach ($custRoles['roles'] as $role) {
                            $hStaff->addStaffRole($uid, $role, $dept);
                        }
                    } else {
                        // If dept still checked, but no custom depts, give global roles to dept
                        foreach ($roles as $role) {
                            $hStaff->addStaffRole($uid, $role, $dept);
                        }
                    }
                } else {
                    foreach ($roles as $role) {
                        $hStaff->addStaffRole($uid, $role, $dept);
                    }
                }
            }
            $hTicketList =& xhelpGetHandler('ticketList');
            $hasTicketLists = $hTicketList->createStaffGlobalLists($uid);
            header("Location: " . XHELP_ADMIN_URL . "/staff.php?op=clearRoles");
        } else {
            $message = _XHELP_MESSAGE_ADDSTAFF_ERROR;
            redirect_header(XHELP_ADMIN_URL . '/staff.php?op=clearRoles', 3, $message);
        }
    }
    //end if
}
Example #26
0
function search()
{
    global $oAdminButton, $hMime, $limit, $start, $imagearray, $aSearchBy, $aOrderBy, $aLimitBy, $aSortBy;
    if (isset($_POST['deleteMimes'])) {
        $aMimes = $_POST['mimes'];
        $crit = new Criteria('mime_id', "(" . implode($aMimes, ',') . ")", "IN");
        if ($hMime->deleteAll($crit)) {
            header("Location: " . XHELP_ADMIN_URL . "/mimetypes.php?limit={$limit}&start={$start}");
        } else {
            redirect_header(XHELP_ADMIN_URL . "/mimetypes.php?limit={$limit}&start={$start}", 3, _AM_XHELP_MESSAGE_DELETE_MIME_ERROR);
        }
    }
    if (isset($_POST['add_mime'])) {
        header("Location: " . XHELP_ADMIN_URL . "/mimetypes.php?op=add&start={$start}&limit={$limit}");
        exit;
    }
    if (isset($_REQUEST['order'])) {
        $order = $_REQUEST['order'];
    } else {
        $order = "ASC";
    }
    if (isset($_REQUEST['sort'])) {
        $sort = $_REQUEST['sort'];
    } else {
        $sort = "mime_name";
    }
    xoops_cp_header();
    echo $oAdminButton->renderButtons('mimetypes');
    if (!isset($_REQUEST['mime_search'])) {
        echo "<form action='mimetypes.php?op=search' method='post'>";
        echo "<table width='100%' cellspacing='1' class='outer'>";
        echo "<tr><th colspan='2'>" . _AM_XHELP_TEXT_SEARCH_MIME . "</th></tr>";
        echo "<tr><td class='head' width='20%'>" . _AM_XHELP_TEXT_SEARCH_BY . "</td>\r\n                  <td class='even'>\r\n                      <select name='search_by'>";
        foreach ($aSortBy as $value => $text) {
            echo "<option value='{$value}'>{$text}</option>";
        }
        echo "</select>\r\n                  </td>\r\n              </tr>";
        echo "<tr><td class='head'>" . _AM_XHELP_TEXT_SEARCH_TEXT . "</td>\r\n                  <td class='even'>\r\n                      <input type='text' name='search_text' id='search_text' value='' />\r\n                  </td>\r\n              </tr>";
        echo "<tr class='foot'>\r\n                  <td colspan='2'>\r\n                      <input type='submit' name='mime_search' id='mime_search' value='" . _AM_XHELP_BUTTON_SEARCH . "' />\r\n                  </td>\r\n              </tr>";
        echo "</table></form>";
    } else {
        $search_field = $_REQUEST['search_by'];
        $search_text = $_REQUEST['search_text'];
        $crit = new Criteria($search_field, "%{$search_text}%", 'LIKE');
        $crit->setSort($sort);
        $crit->setOrder($order);
        $crit->setLimit($limit);
        $crit->setStart($start);
        $mime_count =& $hMime->getCount($crit);
        $mimetypes =& $hMime->getObjects($crit);
        $nav = new XoopsPageNav($mime_count, $limit, $start, 'start', "op=search&amp;limit={$limit}&amp;order={$order}&amp;sort={$sort}&amp;mime_search=1&amp;search_by={$search_field}&amp;search_text={$search_text}");
        // Display results
        echo '<script type="text/javascript" src="' . XHELP_BASE_URL . '/include/functions.js"></script>';
        echo "<table width='100%' cellspacing='1' class='outer'>";
        echo "<tr><td colspan='6' align='right'>";
        echo "<form action='" . XHELP_ADMIN_URL . "/mimetypes.php?op=search' style='margin:0; padding:0;' method='post'>";
        echo "<table>";
        echo "<tr>";
        echo "<td align='right'>" . _AM_XHELP_TEXT_SEARCH_BY . "</td>";
        echo "<td align='left'><select name='search_by'>";
        foreach ($aSearchBy as $value => $text) {
            $search_field == $value ? $selected = "selected='selected'" : ($selected = '');
            echo "<option value='{$value}' {$selected}>{$text}</option>";
        }
        echo "</select></td>";
        echo "<td align='right'>" . _AM_XHELP_TEXT_SEARCH_TEXT . "</td>";
        echo "<td align='left'><input type='text' name='search_text' id='search_text' value='{$search_text}' /></td>";
        echo "<td><input type='submit' name='mime_search' id='mime_search' value='" . _AM_XHELP_BUTTON_SEARCH . "' /></td>";
        echo "</tr></table></form></td></tr>";
        echo "<tr><td colspan='6'>";
        echo "<form action='" . XHELP_ADMIN_URL . "/mimetypes.php?op=search' style='margin:0; padding:0;' method='post'>";
        echo "<table width='100%'>";
        echo "<tr><td align='right'>" . _AM_XHELP_TEXT_SORT_BY . "\r\n                  <select name='sort'>";
        foreach ($aSortBy as $value => $text) {
            $sort == $value ? $selected = "selected='selected'" : ($selected = '');
            echo "<option value='{$value}' {$selected}>{$text}</option>";
        }
        echo "</select>\r\n                &nbsp;&nbsp;&nbsp;\r\n                  " . _AM_XHELP_TEXT_ORDER_BY . "\r\n                  <select name='order'>";
        foreach ($aOrderBy as $value => $text) {
            $order == $value ? $selected = "selected='selected'" : ($selected = '');
            echo "<option value='{$value}' {$selected}>{$text}</option>";
        }
        echo "</select>\r\n                  &nbsp;&nbsp;&nbsp;\r\n                  " . _AM_XHELP_TEXT_NUMBER_PER_PAGE . "\r\n                  <select name='limit'>";
        foreach ($aLimitBy as $value => $text) {
            $limit == $value ? $selected = "selected='selected'" : ($selected = '');
            echo "<option value='{$value}' {$selected}>{$text}</option>";
        }
        echo "</select>\r\n                  <input type='submit' name='mime_sort' id='mime_sort' value='" . _AM_XHELP_BUTTON_SUBMIT . "' />\r\n                  <input type='hidden' name='mime_search' id='mime_search' value='1' />\r\n                  <input type='hidden' name='search_by' id='search_by' value='{$search_field}' />\r\n                  <input type='hidden' name='search_text' id='search_text' value='{$search_text}' />\r\n              </td>\r\n          </tr>";
        echo "</table>";
        echo "</td></tr>";
        if (count($mimetypes) > 0) {
            echo "<tr><th colspan='6'>" . _AM_XHELP_TEXT_SEARCH_MIME . "</th></tr>";
            echo "<tr class='head'>\r\n                      <td>" . _AM_XHELP_MIME_ID . "</td>\r\n                      <td>" . _AM_XHELP_MIME_NAME . "</td>\r\n                      <td>" . _AM_XHELP_MIME_EXT . "</td>\r\n                      <td>" . _AM_XHELP_MIME_ADMIN . "</td>\r\n                      <td>" . _AM_XHELP_MIME_USER . "</td>\r\n                      <td>" . _AM_XHELP_MINDEX_ACTION . "</td>\r\n                  </tr>";
            foreach ($mimetypes as $mime) {
                echo "<tr class='even'>\r\n                          <td><input type='checkbox' name='mimes[]' value='" . $mime->getVar('mime_id') . "' />" . $mime->getVar('mime_id') . "</td>\r\n                          <td>" . $mime->getVar('mime_name') . "</td>\r\n                          <td>" . $mime->getVar('mime_ext') . "</td>\r\n                          <td>\r\n                              <a href='" . XHELP_ADMIN_URL . "/mimetypes.php?op=updateMimeValue&amp;id=" . $mime->getVar('mime_id') . "&amp;mime_admin=" . $mime->getVar('mime_admin') . "&amp;limit=" . $limit . "&amp;start=" . $start . "'>\r\n                              " . ($mime->getVar('mime_admin') ? $imagearray['online'] : $imagearray['offline']) . "</a>\r\n                          </td>\r\n                          <td>\r\n                              <a href='" . XHELP_ADMIN_URL . "/mimetypes.php?op=updateMimeValue&amp;id=" . $mime->getVar('mime_id') . "&amp;mime_user="******"&amp;limit=" . $limit . "&amp;start=" . $start . "'>\r\n                              " . ($mime->getVar('mime_user') ? $imagearray['online'] : $imagearray['offline']) . "</a>\r\n                          </td>\r\n                          <td>\r\n                              <a href='" . XHELP_ADMIN_URL . "/mimetypes.php?op=edit&amp;id=" . $mime->getVar('mime_id') . "&amp;limit=" . $limit . "&amp;start=" . $start . "'>" . $imagearray['editimg'] . "</a>\r\n                              <a href='" . XHELP_ADMIN_URL . "/mimetypes.php?op=delete&amp;id=" . $mime->getVar('mime_id') . "&amp;limit=" . $limit . "&amp;start=" . $start . "'>" . $imagearray['deleteimg'] . "</a>\r\n                          </td>\r\n                      </tr>";
            }
            echo "<tr class='foot'>\r\n                      <td colspan='6' valign='top'>\r\n                          <a href='http://www.filext.com' style='float: right' target='_blank'>" . _AM_XHELP_MIME_FINDMIMETYPE . "</a>\r\n                          <input type='checkbox' name='checkAllMimes' value='0' onclick='selectAll(this.form,\"mimes[]\",this.checked);' />\r\n                          <input type='submit' name='deleteMimes' id='deleteMimes' value='" . _AM_XHELP_BUTTON_DELETE . "' />\r\n                          <input type='submit' name='add_mime' id='add_mime' value='" . _AM_XHELP_MIME_CREATEF . "' class='formButton' />\r\n                      </td>\r\n                  </tr>";
        } else {
            echo "<tr><th>" . _AM_XHELP_TEXT_SEARCH_MIME . "</th></tr>";
            echo "<tr class='even'>\r\n                      <td>" . _AM_XHELP_TEXT_NO_RECORDS . "</td>\r\n                  </tr>";
        }
        echo "</table>";
        echo "<div id='pagenav'>" . $nav->renderNav() . "</div>";
    }
    xhelpAdminFooter();
    xoops_cp_footer();
}
Example #27
0
function manageDepartments()
{
    global $xoopsModule, $oAdminButton, $aSortBy, $aOrderBy, $aLimitBy, $order, $limit, $start, $sort, $dept_search;
    $module_id = $xoopsModule->getVar('mid');
    $hGroups =& xoops_gethandler('group');
    $hGroupPerm =& xoops_gethandler('groupperm');
    if (isset($_POST['addDept'])) {
        $hasErrors = false;
        $errors = array();
        $groups = isset($_POST['groups']) ? $_POST['groups'] : array();
        $hDepartments =& xhelpGetHandler('department');
        //Department Name supplied?
        if (trim($_POST['newDept']) == '') {
            $hasErrors = true;
            $errors['newDept'][] = _AM_XHELP_MESSAGE_NO_DEPT;
        } else {
            //Department Name unique?
            $crit = new Criteria('department', $_POST['newDept']);
            if ($existingDepts = $hDepartments->getCount($crit)) {
                $hasErrors = true;
                $errors['newDept'][] = _XHELP_MESSAGE_DEPT_EXISTS;
            }
        }
        if ($hasErrors) {
            $session =& Session::singleton();
            //Store existing dept info in session, reload addition page
            $aDept = array();
            $aDept['newDept'] = $_POST['newDept'];
            $aDept['groups'] = $groups;
            $session->set('xhelp_addDepartment', $aDept);
            $session->set('xhelp_addDepartmentErrors', $errors);
            header('Location: ' . xhelpMakeURI(XHELP_ADMIN_URL . '/department.php', array('op' => 'manageDepartments'), false));
            exit;
        }
        $department =& $hDepartments->create();
        $department->setVar('department', $_POST['newDept']);
        if ($hDepartments->insert($department)) {
            $deptID = $department->getVar('id');
            foreach ($groups as $group) {
                // Add new group permissions
                $hGroupPerm->addRight(_XHELP_GROUP_PERM_DEPT, $deptID, $group, $module_id);
            }
            // Set as default department?
            if (isset($_POST['defaultDept']) && $_POST['defaultDept'] == 1) {
                xhelpSetMeta("default_department", $deptID);
            }
            $hStaff =& xhelpGetHandler('staff');
            $allDeptStaff =& $hStaff->getByAllDepts();
            if (count($allDeptStaff) > 0) {
                $hMembership =& xhelpGetHandler('membership');
                if ($hMembership->addStaffToDept($allDeptStaff, $department->getVar('id'))) {
                    $message = _XHELP_MESSAGE_ADD_DEPT;
                } else {
                    $message = _AM_XHELP_MESSAGE_STAFF_UPDATE_ERROR;
                }
            } else {
                $message = _XHELP_MESSAGE_ADD_DEPT;
            }
            // Add configoption for new department
            $hConfig =& xoops_gethandler('config');
            $hConfigOption =& xoops_gethandler('configoption');
            $crit = new Criteria('conf_name', 'xhelp_defaultDept');
            $config =& $hConfig->getConfigs($crit);
            if (count($config) > 0) {
                $newOption =& $hConfigOption->create();
                $newOption->setVar('confop_name', $department->getVar('department'));
                $newOption->setVar('confop_value', $department->getVar('id'));
                $newOption->setVar('conf_id', $config[0]->getVar('conf_id'));
                if (!$hConfigOption->insert($newOption)) {
                    redirect_header(XHELP_ADMIN_URL . "/department.php?op=manageDepartments", 3, _AM_XHELP_MSG_ADD_CONFIG_ERR);
                }
            }
            _clearAddSessionVars();
            header("Location: " . XHELP_ADMIN_URL . "/department.php?op=manageDepartments");
        } else {
            $message = _XHELP_MESSAGE_ADD_DEPT_ERROR . $department->getHtmlErrors();
        }
        $deptID = $department->getVar('id');
        /* Not sure if this is needed. Already exists in if block above (ej)
           foreach($groups as $group){
           $hGroupPerm->addRight(_XHELP_GROUP_PERM_DEPT, $deptID, $group, $module_id);
           }
           */
        redirect_header(XHELP_ADMIN_URL . '/department.php?op=manageDepartments', 3, $message);
    } else {
        $hDepartments =& xhelpGetHandler('department');
        if ($dept_search == false) {
            $crit = new Criteria('', '');
        } else {
            $crit = new Criteria('department', "%{$dept_search}%", 'LIKE');
        }
        $crit->setOrder($order);
        $crit->setSort($sort);
        $crit->setLimit($limit);
        $crit->setStart($start);
        $total = $hDepartments->getCount($crit);
        $departmentInfo =& $hDepartments->getObjects($crit);
        $nav = new XoopsPageNav($total, $limit, $start, 'start', "op=manageDepartments&amp;limit={$limit}");
        // Get list of all groups
        $crit = new Criteria('', '');
        $crit->setSort('name');
        $crit->setOrder('ASC');
        $groups =& $hGroups->getObjects($crit, true);
        $aGroups = array();
        foreach ($groups as $group_id => $group) {
            $aGroups[$group_id] = $group->getVar('name');
        }
        asort($aGroups);
        // Set groups in alphabetical order
        xoops_cp_header();
        echo $oAdminButton->renderButtons('manDept');
        $session =& Session::singleton();
        $sess_dept = $session->get('xhelp_addDepartment');
        $sess_errors = $session->get('xhelp_addDepartmentErrors');
        //Display any form errors
        if (!$sess_errors === false) {
            xhelpRenderErrors($sess_errors, xhelpMakeURI(XHELP_ADMIN_URL . '/department.php', array('op' => 'clearAddSession'), false));
        }
        if (!$sess_dept === false) {
            $fld_newDept = $sess_dept['newDept'];
            $fld_groups = $sess_dept['groups'];
        } else {
            $fld_newDept = '';
            $fld_groups = array();
        }
        echo "<form method='post' action='" . XHELP_ADMIN_URL . "/department.php?op=manageDepartments'>";
        echo "<table width='100%' cellspacing='1' class='outer'>\r\n              <tr><th colspan='2'><label for='newDept'>" . _AM_XHELP_LINK_ADD_DEPT . " </label></th></tr>";
        echo "<tr><td class='head' width='20%' valign='top'>" . _AM_XHELP_TEXT_NAME . "</td><td class='even'>";
        echo "<input type='text' id='newDept' name='newDept' class='formButton' value='{$fld_newDept}' /></td></tr>";
        echo "<tr><td class='head' width='20%' valign='top'>" . _AM_XHELP_TEXT_EDIT_DEPT_PERMS . "</td><td class='even'>";
        echo "<select name='groups[]' multiple='multiple'>";
        foreach ($aGroups as $group_id => $group) {
            if (in_array($group_id, $fld_groups, true)) {
                echo "<option value='{$group_id}' selected='selected'>{$group}</option>";
            } else {
                echo "<option value='{$group_id}'>{$group}</option>";
            }
        }
        echo "</select></td></tr>";
        echo "<tr><td class='head' width='20%' valign='top'>" . _AM_XHELP_TEXT_DEFAULT_DEPT . "?</td>\r\n                  <td class='even'><input type='checkbox' name='defaultDept' id='defaultDept' value='1' /></td></tr>";
        echo "<tr><td class='foot' colspan='2'><input type='submit' name='addDept' value='" . _AM_XHELP_BUTTON_SUBMIT . "' class='formButton' /></td></tr>";
        echo "</table><br />";
        echo "</form>";
        if ($total > 0) {
            // Make sure there are departments
            echo "<form action='" . XHELP_ADMIN_URL . "/department.php?op=manageDepartments' style='margin:0; padding:0;' method='post'>";
            echo "<table width='100%' cellspacing='1' class='outer'>";
            echo "<tr><td align='right'>" . _AM_XHELP_BUTTON_SEARCH . "\r\n                          <input type='text' name='dept_search' value='{$dept_search}'/>\r\n                        &nbsp;&nbsp;&nbsp;\r\n                        " . _AM_XHELP_TEXT_SORT_BY . "\r\n                          <select name='sort'>";
            foreach ($aSortBy as $value => $text) {
                $sort == $value ? $selected = "selected='selected'" : ($selected = '');
                echo "<option value='{$value}' {$selected}>{$text}</option>";
            }
            echo "</select>\r\n                        &nbsp;&nbsp;&nbsp;\r\n                          " . _AM_XHELP_TEXT_ORDER_BY . "\r\n                          <select name='order'>";
            foreach ($aOrderBy as $value => $text) {
                $order == $value ? $selected = "selected='selected'" : ($selected = '');
                echo "<option value='{$value}' {$selected}>{$text}</option>";
            }
            echo "</select>\r\n                          &nbsp;&nbsp;&nbsp;\r\n                          " . _AM_XHELP_TEXT_NUMBER_PER_PAGE . "\r\n                          <select name='limit'>";
            foreach ($aLimitBy as $value => $text) {
                $limit == $value ? $selected = "selected='selected'" : ($selected = '');
                echo "<option value='{$value}' {$selected}>{$text}</option>";
            }
            echo "</select>\r\n                          <input type='submit' name='dept_sort' id='dept_sort' value='" . _AM_XHELP_BUTTON_SUBMIT . "' />\r\n                      </td>\r\n                  </tr>";
            echo "</table></form>";
            echo "<table width='100%' cellspacing='1' class='outer'>\r\n                  <tr><th colspan='4'>" . _AM_XHELP_EXISTING_DEPARTMENTS . "</th></tr>\r\n                  <tr><td class='head'>" . _AM_XHELP_TEXT_ID . "</td><td class='head'>" . _AM_XHELP_TEXT_DEPARTMENT . "</td><td class='head'>" . _AM_XHELP_TEXT_DEFAULT . "</td><td class='head'>" . _AM_XHELP_TEXT_ACTIONS . "</td></tr>";
            if (isset($departmentInfo)) {
                $defaultDept = xhelpGetMeta("default_department");
                foreach ($departmentInfo as $dept) {
                    echo "<tr><td class='even'>" . $dept->getVar('id') . "</td><td class='even'>" . $dept->getVar('department') . "</td>";
                    if ($dept->getVar('id') != $defaultDept) {
                        echo "<td class='even' width='10%'><a href='" . XHELP_ADMIN_URL . "/department.php?op=updateDefault&amp;id=" . $dept->getVar('id') . "'><img src='" . XHELP_IMAGE_URL . "/off.png' alt='" . _AM_XHELP_TEXT_MAKE_DEFAULT_DEPT . "' title='" . _AM_XHELP_TEXT_MAKE_DEFAULT_DEPT . "' /></a></td>";
                    } else {
                        echo "<td class='even' width='10%'><img src='" . XHELP_IMAGE_URL . "/on.png'</td>";
                    }
                    //echo "<td class='even' width='10%'><img src='".XHELP_IMAGE_URL."/". (($dept->getVar('id') == $defaultDept) ? "on.png" : "off.png")."'</td>";
                    echo "<td class='even' width='70'><a href='" . XHELP_ADMIN_URL . "/department.php?op=editDepartment&amp;deptid=" . $dept->getVar('id') . "'><img src='" . XOOPS_URL . "/modules/xhelp/images/button_edit.png' title='" . _AM_XHELP_TEXT_EDIT . "' name='editDepartment' /></a>&nbsp;&nbsp;";
                    echo "<a href='" . XHELP_ADMIN_URL . "/delete.php?deleteDept=1&amp;deptid=" . $dept->getVar('id') . "'><img src='" . XOOPS_URL . "/modules/xhelp/images/button_delete.png' title='" . _AM_XHELP_TEXT_DELETE . "' name='deleteDepartment' /></a></td></tr>";
                }
            }
        }
        echo "</td></tr></table>";
        echo "<div id='dept_nav'>" . $nav->renderNav() . "</div>";
        xhelpAdminFooter();
        xoops_cp_footer();
    }
}
Example #28
0
 /**
  * Return the collect of private message objects which appointed user received.
  * @param $uid int user id
  * @return array of XoopsPrivmessage.
  */
 function &getObjectsByFromUid($uid, $start = 0, $limit = 20, $order = 'DESC')
 {
     $criteria = new Criteria('to_userid', $uid);
     $criteria->addSort('msg_time', $order);
     $criteria->setStart($start);
     $criteria->setLimit($limit);
     $ret =& $this->getObjects($criteria);
     return $ret;
 }
Example #29
0
         exit;
     }
     $pm =& $pm_handler->get(intval($_POST['msg_id']));
     if (!is_object($pm) || $pm->getVar('to_userid') != $xoopsUser->getVar('uid') || !$pm_handler->delete($pm)) {
         exit;
     } else {
         redirect_header("viewpmsg.php", 1, _PM_DELETED);
         exit;
     }
 }
 $start = !empty($_GET['start']) ? intval($_GET['start']) : 0;
 $total_messages = !empty($_GET['total_messages']) ? intval($_GET['total_messages']) : 0;
 include XOOPS_ROOT_PATH . '/header.php';
 $criteria = new Criteria('to_userid', $xoopsUser->getVar('uid'));
 $criteria->setLimit(1);
 $criteria->setStart($start);
 $criteria->setSort('msg_time');
 $pm_arr =& $pm_handler->getObjects($criteria);
 echo "<div><h4>" . _PM_PRIVATEMESSAGE . "</h4></div><br /><a href='userinfo.php?uid=" . $xoopsUser->getVar("uid") . "'>" . _PM_PROFILE . "</a>&nbsp;<span style='font-weight:bold;'>&raquo;&raquo;</span>&nbsp;<a href='viewpmsg.php'>" . _PM_INBOX . "</a>&nbsp;<span style='font-weight:bold;'>&raquo;&raquo;</span>&nbsp;\n";
 if (empty($pm_arr)) {
     echo '<br /><br />' . _PM_YOUDONTHAVE;
 } else {
     if (!$pm_handler->setRead($pm_arr[0])) {
         //echo "failed";
     }
     echo $pm_arr[0]->getVar("subject") . "<br /><form action='readpmsg.php' method='post' name='delete" . $pm_arr[0]->getVar("msg_id") . "'><table border='0' cellpadding='4' cellspacing='1' class='outer' width='100%'><tr><th colspan='2'>" . _PM_FROM . "</th></tr><tr class='even'>\n";
     $poster = new XoopsUser($pm_arr[0]->getVar("from_userid"));
     if (!$poster->isActive()) {
         $poster = false;
     }
     echo "<td valign='top'>";
Example #30
0
 public function getAllDelivery(oledrion_parameters $parameters)
 {
     $parameters = $parameters->extend(new oledrion_parameters(array('start' => 0, 'limit' => 0, 'sort' => 'delivery_id', 'order' => 'ASC')));
     $critere = new Criteria('delivery_id', 0, '<>');
     $critere->setLimit($parameters['limit']);
     $critere->setStart($parameters['start']);
     $critere->setSort($parameters['sort']);
     $critere->setOrder($parameters['order']);
     $categories = array();
     $categories = $this->getObjects($critere);
     return $categories;
 }