Пример #1
0
 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);
 }
Пример #2
0
        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));
Пример #3
0
 /**
  *	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());
 }
Пример #4
0
 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'];
 }
Пример #5
0
}
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";
Пример #6
0
     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";
 }
Пример #7
0
 /**
  *	Отредактировать данные.
  *
  *	@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;
 }
Пример #8
0
 /**
  * @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;
 }