Example #1
0
function phonebook_hook_phonebook_search_group($uid, $keyword = "", $count = 0, $exact = FALSE)
{
    $ret = array();
    $keyword = phonebook_code_clean($keyword);
    if ($keyword) {
        $user_mobile = user_getfieldbyuid($uid, 'mobile');
        if ($exact) {
            $keyword_sql = "\n\t\t\t\tname='" . $keyword . "' OR\n\t\t\t\tcode='" . $keyword . "'";
        } else {
            $keyword_sql = "\n\t\t\t\tname LIKE '%" . $keyword . "%' OR\n\t\t\t\tcode LIKE '%" . $keyword . "%'";
        }
        $db_query = "\n\t\t\tSELECT DISTINCT id AS gpid, name AS group_name, code, flag_sender\n\t\t\tFROM " . _DB_PREF_ . "_featurePhonebook_group\n\t\t\tWHERE (\n\t\t\t\tuid='{$uid}' OR\n\t\t\t\tid in (\n\t\t\t\t\tSELECT B.id AS id FROM " . _DB_PREF_ . "_featurePhonebook AS A\n\t\t\t\t\tLEFT JOIN " . _DB_PREF_ . "_featurePhonebook_group_contacts AS C ON A.id=C.pid\n\t\t\t\t\tLEFT JOIN " . _DB_PREF_ . "_featurePhonebook_group AS B ON B.id=C.gpid\n\t\t\t\t\tWHERE A.mobile LIKE '%" . core_mobile_matcher_format($user_mobile) . "' AND B.flag_sender='1'\n\t\t\t\t) OR (\n\t\t\t\tuid <>'{$uid}' AND flag_sender>'1'\n\t\t\t\t)\n\t\t\t) AND (" . $keyword_sql . ")";
        if ($count > 0) {
            $db_query .= " LIMIT " . $count;
        }
        $db_result = dba_query($db_query);
        while ($db_row = dba_fetch_array($db_result)) {
            $ret[] = $db_row;
        }
    }
    return $ret;
}
Example #2
0
function user_mobile2uid($mobile)
{
    if ($mobile) {
        $db_query = "SELECT uid FROM " . _DB_PREF_ . "_tblUser WHERE flag_deleted='0' AND mobile LIKE '%" . core_mobile_matcher_format($mobile) . "'";
        $db_result = dba_query($db_query);
        $db_row = dba_fetch_array($db_result);
        $uid = $db_row['uid'];
    }
    return $uid;
}
Example #3
0
     $content = "\n\t\t\t<h2>" . _('Phonebook') . "</h2>\n\t\t\t<h3>" . _('Edit contact') . "</h3>\n\t\t\t<form action=\"index.php?app=main&inc=feature_phonebook&op=actions&go=edit\" name=fm_addphone method=POST>\n\t\t\t" . _CSRF_FORM_ . "\n\t\t\t<input type=hidden name=pid value=\"" . $pid . "\">\n\t\t\t<table class=playsms-table>\n\t\t\t<tbody>\n\t\t\t<tr><td class=label-sizer>" . _('Group') . "</td><td><select name=gpids[] multiple>{$list_of_group}</select></td></tr>\n\t\t\t<tr><td>" . _mandatory(_('Name')) . "</td><td><input type=text name=name value=\"" . $list[0]['name'] . "\"></td></tr>\n\t\t\t<tr><td>" . _mandatory(_('Mobile')) . "</td><td><input type=text name=mobile maxlength=20 value=\"" . $list[0]['mobile'] . "\"></td></tr>\n\t\t\t<tr><td>" . _('Email') . "</td><td><input type=text name=email value=\"" . $list[0]['email'] . "\"></td></tr>\n\t\t\t<tr><td>" . _('Tags') . "</td><td><input type=text name=tags value=\"" . $list[0]['tags'] . "\"> " . _hint(_('Multiple entries separated by space')) . "</td></tr>\n\t\t\t</tbody>\n\t\t\t</table>\n\t\t\t<p><input type=submit class=button value=\"" . _('Save') . "\"></p>\n\t\t\t</form>\n\t\t\t" . _back('index.php?app=main&inc=feature_phonebook&op=phonebook_list');
     if ($err = TRUE) {
         _p(_dialog());
     }
     _p($content);
     break;
 case "actions":
     $nav = themes_nav_session();
     $search = themes_search_session();
     $go = $_REQUEST['go'];
     switch ($go) {
         case 'export':
             $fields = 'DISTINCT A.id AS pid, A.uid AS uid, A.name AS name, A.mobile AS mobile, A.email AS email, B.code AS code, A.tags AS tags';
             $join = 'LEFT JOIN ' . _DB_PREF_ . '_featurePhonebook_group_contacts AS C ON A.id=C.pid ';
             $join .= 'LEFT JOIN ' . _DB_PREF_ . '_featurePhonebook_group AS B ON B.id=C.gpid';
             $conditions = array('( A.uid' => $user_config['uid'] . "' OR B.id in (\n\t\t\t\t\t\tSELECT B.id AS id FROM " . _DB_PREF_ . "_featurePhonebook AS A\n\t\t\t\t\t\t" . $join . "\n\t\t\t\t\t\tWHERE A.mobile LIKE '%" . core_mobile_matcher_format($user_config['mobile']) . "'\n\t\t\t\t\t\tAND B.flag_sender='1'\n\t\t\t\t\t\t) OR ( A.uid <>'" . $user_config['uid'] . "' AND B.flag_sender>'1' ) ) AND '1'='1");
             $keywords = $search['dba_keywords'];
             $extras = array('ORDER BY' => 'A.name, mobile', 'LIMIT' => $phonebook_row_limit);
             $list = dba_search(_DB_PREF_ . '_featurePhonebook AS A', $fields, $conditions, $keywords, $extras, $join);
             $data[0] = array(_('Name'), _('Mobile'), _('Email'), _('Group code'), _('Tags'));
             for ($i = 0; $i < count($list); $i++) {
                 $j = $i + 1;
                 $data[$j] = array($list[$i]['name'], sendsms_getvalidnumber($list[$i]['mobile']), $list[$i]['email'], $list[$i]['code'], phonebook_tags_clean($list[$i]['tags']));
             }
             $content = core_csv_format($data);
             $fn = 'phonebook-' . $core_config['datetime']['now_stamp'] . '.csv';
             core_download($content, $fn, 'text/csv');
             break;
         case 'add':
             $uid = $user_config['uid'];
             $gpids = $_POST['gpids'];