public function loadById($id) { $query = M('Db')->createQuery('rm_equipment')->what('*')->where('id = ?', $id); $request = M('Store')->requestQuery(M('Store')->factorySimple(), $query); $data = iteratorToArray($request); return $this->create($data[0], 1); }
return $x - 1; } } function ___breed($type, $id) { $obj = iterFirst(M('Store')->requestQuery(M('Store')->factoryObject(), M('Db')->createQuery(M('user')->table($type . '_breed'))->what('*')->where('id = ?', $id))); return !isNull($obj) ? $obj->name : L('user.undefined_breed'); } function ___weight($type, $id) { $obj = iterFirst(M('Store')->requestQuery(M('Store')->factoryObject(), M('Db')->createQuery(M('user')->table($type . '_size'))->what('*')->where('id = ?', $id))); return !isNull($obj) ? $obj->name : L('user.undefined_weight'); } if (!me()->id() || !MC('User')->checkAccessHistoryInterface(me())) { goU('main'); } $user_id = p('user_id'); if (!$user_id || isNull($obUser = M('User')->loadUserById($user_id))) { goU('main'); } $pages = iteratorToArray($obUser->getHistory()->sort('stamp', 'ASC')); $stamp = $pages[___page(p('page'), count($pages))]->stamp; $obUserHistory = $obUser->getUserByStamp($stamp); if (!MC('User')->canAccessToViewProfile($obUser)) { goU('main'); } if (isNull($obStamp = M('Store')->history()->getStampByNumber($stamp))) { goU('main'); } $obPrev = M('Store')->history()->getObjectPrviousStamp($obUser, $stamp); show('user/history/details', array('obUser' => $obUser, 'obUserHistory' => $obUserHistory, 'obUserHistoryPrev' => $obUser->getUserByStamp(isNull($obPrev) ? 0 : $obPrev->stamp), 'obFamilyHistoryList' => $obUser->getFamilyByStamp($stamp), 'obFamilyHistoryListPrev' => $obUser->getFamilyByStamp(isNull($obPrev) ? 0 : $obPrev->stamp), 'obStamp' => $obStamp));
/** * Retrievs a list of all possible branches of RM_Barcode_Entity. * * @param RM_Barcode_Entity obEntity * @return array **/ public function getBranches(RM_Barcode_Entity $obEntity) { $map = qw2('generaltype>g owner>o brand>b subbrand>s variant>v garbage>gb'); $query = M('Db')->createQuery($this->_tables['barcode'] . ' AS ba'); foreach ($map as $name => $key) { $query->what(sprintf("%s.id as %s_id, %s.name as %s_name", $key, $name, $key, $name)); $query->join('ba', sprintf("LEFT JOIN %s %s ON %s.id = ba.%s", $this->_tables[$name], $key, $key, $this->_fields['barcode'][$name . '_id'])); $query->group('ba.' . $this->_fields['barcode'][$name . '_id']); $query->order($key . '.name ASC'); if ($name == $obEntity->type()) { break; } } $query->what('COUNT(*) as barcodes_qty'); $query->where($this->_fields['barcode'][$obEntity->type() . '_id'] . ' = ?', $obEntity->id()); $query->limit(300); return iteratorToArray($query->execute()); }
public function calculateMedian($fields) { $aggregate_data = $this->getAggregateData(); if (!isset($aggregate_data[$fields['agg_field_name']]['median'])) { $result = NULL; $__request = $this->cloneRequest(); $__request->getQuery()->what($fields['agg_field_name']); if ($aggregate_data['total'] % 2 == 0) { $__request->getQuery()->offset($aggregate_data['total'] / 2)->limit(2)->order($fields['agg_field_name'] . ' ASC'); $arr = iteratorToArray($__request); if ($arr && !isNull($arr)) { $price = NULL; $i = 0; foreach ($arr as $item) { $price += $item[$fields['agg_field_name']]; $i++; } //$result = number_format($price/$i,2); $result = sprintf("%.2f", $price / $i); } } else { $__request->getQuery()->offset(floor($aggregate_data['total'] / 2) + 1)->limit(1)->order($fields['agg_field_name'] . ' ASC'); $arr = iterFirst($__request); if ($arr && !isNull($arr)) { $result = sprintf("%.2f", $arr[$fields['agg_field_name']]); } //$result = number_format($arr[$fields['agg_field_name']],2); } $this->_aggregateData[$fields['agg_field_name']]['median'] = $result; } unset($aggregate_data); return $this->_aggregateData[$fields['agg_field_name']]['median']; }
} if ($settings['id'] == 16) { $sql = "CREATE TABLE " . $settings['tmp_table'] . " ( user_id INT, UNIQUE (user_id) ) SELECT user_id FROM\n\tpanelie_user \n\twhere city_id=13 and is_tester=0 and status_id=10 and internet_connection_type='other' and user_id not in ({$quickReaders})\n\tORDER BY user_id"; } else { $sql = "CREATE TABLE " . $settings['tmp_table'] . " ( user_id INT, UNIQUE (user_id) ) SELECT user_id FROM\n\t\tpanelie_user \n\t\twhere user_id in (" . $userList . ") and user_id not in ({$quickReaders})\n\t\tORDER BY user_id"; } $dbh->exec($sql); if ($settings['no_send_groups']) { $no_send_groups = $settings['no_send_groups']; $dbh->exec("DELETE FROM " . $settings['tmp_table'] . " WHERE user_id IN(SELECT DISTINCT u.user_id AS user_id FROM panelie_user_role ur, panelie_role r, panelie_user u WHERE r.id IN(" . $no_send_groups . ") AND ur.role_id = r.id AND u.user_id = ur.user_id)"); } if ($settings['no_send_users']) { $dbh->exec("DELETE FROM " . $settings['tmp_table'] . " WHERE user_id IN(" . $settings['no_send_users'] . ")"); } echo "GET MAILING LIST\n"; $users = iteratorToArray($dbh->query("SELECT m.*, f.sex FROM " . $settings['tmp_table'] . " m, panelie_user_family f WHERE f.user_id = m.user_id AND f.is_panelist = 1 ORDER BY m.user_id")); // to me test message! /*$users = iteratorToArray( $dbh->query("SELECT m.*, f.sex FROM panelie_user m, panelie_user_family f WHERE (m.user_id = 7586 OR m.user_id = 2662) AND f.user_id = m.user_id AND f.is_panelist = 1 ORDER BY m.user_id") );*/ echo "COUNT USERS: " . count($users) . "\n"; if (count($users) == 0) { exit; } $cannot = 0; $sent = 0; $sleep = 0; foreach ($users as $user) { /* if($user['sex']==2) continue;*/ $obRecipient = M('User')->loadUserById($user['user_id']); if (isNull($obRecipient)) { echo "No such user with user = "******"\n";
echo " OK\n"; } // посчитать кол-во звонков администраторов if ($display) { echo "Count calls"; } $where = "AND phone_call = 1"; $dbh->exec(str_replace('%where%', $where, $sql), 'calls', $day); if ($display) { echo " OK\n"; } ################################################################### if ($display) { echo "Count stat for {$day}: "; } $arr = iteratorToArray($dbh->query("SELECT COUNT(*) as count FROM rm_tmp_ticket_stat")); if ($display) { echo $arr[0]['count'] . "\n"; } // переместить данные в основную таблицу if ($display) { echo "Move data to main table"; } $dbh->exec("DELETE FROM {$main_table} WHERE day = ?", $day); $dbh->exec("INSERT INTO {$main_table} (day, user_id, city_id, data_type, data) SELECT day, user_id, city_id, data_type, data FROM rm_tmp_ticket_stat WHERE day = ?", $day); if ($display) { echo " OK\n"; } if ($display) { echo "\n"; }
/** * Отредактировать данные. * * @param array $data * @return void **/ public function editData($post = array()) { if (!isset($post['data'])) { return FALSE; } $pkey = $this->_list->edit_varname; // purchase_id? if ($this->_list->base) { M('Db')->setCurrentConnection($this->_list->base); } $u = 0; // кол-во обновленных записей /* print '<pre>'; print_r($post['data']); exit;*/ foreach ($post['data'] as $k => $v) { $update_id = intval($v[$pkey]); $updateArray = array(); unset($obUser); if ($update_id) { $current = iteratorToArray(M('Db')->query('SELECT * FROM ' . $this->_table . ' WHERE ' . $pkey . ' = ?', $update_id)); if (!$current) { continue; } // Заметка администратора $note = TF(@$v['note'], 'sh'); if ($note) { if (!isset($obUser)) { $obUser = M('User')->loadUserById($update_id); } $obNote = M('AdminNote')->createNote(array('user_id' => $obUser->id(), 'body' => $note), me()); if ($obNote->save()) { $updateArray['note'] = $note; } } // Установить/сбросить дату выезда if (isset($v['plan_date'])) { if (@$v['plan_date']['reset']) { $updateArray['plan_date'] = NULL; } else { if (@$v['plan_date']['Day']) { if (!@$v['plan_date']['Year']) { $v['plan_date']['Year'] = date('Y'); } if (!@$v['plan_date']['Month']) { $v['plan_date']['Month'] = date('m'); } $plan_date = $v['plan_date']['Year'] . '-' . $v['plan_date']['Month'] . '-' . $v['plan_date']['Day']; $plan_date = M('Tools')->date()->dbDate($plan_date); if ($current[0]['plan_date'] != $plan_date) { $updateArray['plan_date'] = $plan_date; } } } } // Результат if (isset($v['equipment_removed'])) { $equipment_removed = intval($v['equipment_removed']); if ($v['reason'] == 1 || $v['reason'] == 2) { // Снятие оборудования if ($current[0]['equipment_removed'] != $equipment_removed) { if (!isset($obUser)) { $obUser = M('User')->loadUserById($update_id); } $obUser->equipment_removed = $equipment_removed; if ($equipment_removed > 0) { $obUser->equipment = 0; $updateArray['equipment'] = 0; $updateArray['plan_date'] = NULL; } $obUser->save(); $updateArray['equipment_removed'] = $equipment_removed; } } else { if ($v['reason'] == 3) { // Ремонт if ($equipment_removed) { if (!isset($obUser)) { $obUser = M('User')->loadUserById($update_id); } $obUser->repair_status = 0; $obUser->save(); M('Db')->query('DELETE FROM ' . $this->_table . ' WHERE ' . $pkey . ' = ?', $update_id); $u++; continue; //$updateArray['plan_date'] = NULL; } } } } // Обновить отчет if ($updateArray) { $keys = $values = array(); foreach ($updateArray as $kk => $vv) { $keys[] = $kk . " = ?"; $values[] = $vv; } $values[] = $update_id; M('Db')->query('UPDATE ' . $this->_table . ' SET ' . implode(',', $keys) . ' WHERE ' . $pkey . ' = ?', $values); $u++; } } $this->markAbnormalData(); } if (@$error) { error($error); } //if ($u) message($u . ' entries was successfully updated!' . print_r($updateArray, 1)); return TRUE; }
/** * @see RM_Ticket_Facade::getUnreadArray */ public function getUnreadArray(RM_Account_iUser $obUser) { $result = array(); $arr = iteratorToArray(M('Db')->query("SELECT ticket_id FROM " . $this->_tables['new'] . " WHERE user_id = ?", $obUser->id())); foreach ($arr as $item) { $result[] = $item['ticket_id']; } return $result; }