Changeset 3970 for branches/2.2.0.1/contactcenter/inc/class.ui_data.inc.php
- Timestamp:
- 04/11/11 11:47:31 (13 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/2.2.0.1/contactcenter/inc/class.ui_data.inc.php
r3795 r3970 410 410 $ids = false; 411 411 $ids = $this->search($_GET['data']); 412 return $this->get_cards_data('search', '1', $ids); 412 $data = unserialize($_GET['data']); 413 $dontPaginate = false; 414 if (isset($data['ccAddGroup'])){ 415 $dontPaginate = true; 416 } 417 return $this->get_cards_data('search', '1', $ids, $dontPaginate); 413 418 414 419 case 'email_win': … … 479 484 480 485 */ 481 function set_catalog($id_catalog )486 function set_catalog($id_catalog, $echo=true) 482 487 { 483 488 $id_catalog = str_replace('\\"', '"', $id_catalog); … … 515 520 } 516 521 517 echo serialize(array( 518 'status' => 'ok', 519 'catalog' => $catalog_info['class'], 520 'external' => $catalog_info['external']?true:false, 521 'resetCC_actual_letter' => $resetCC_actual_letter, 522 'perms' => $perms 523 )); 522 if ($echo) 523 { 524 echo serialize(array( 525 'status' => 'ok', 526 'catalog' => $catalog_info['class'], 527 'external' => $catalog_info['external']?true:false, 528 'resetCC_actual_letter' => $resetCC_actual_letter, 529 'perms' => $perms 530 )); 531 } 532 else 533 { 534 return serialize(array( 535 'status' => 'ok', 536 'catalog' => $catalog_info['class'], 537 'external' => $catalog_info['external']?true:false, 538 'resetCC_actual_letter' => $resetCC_actual_letter, 539 'perms' => $perms 540 )); 541 } 524 542 525 543 return; … … 678 696 using the new array 'msg','status','data' schema. 679 697 */ 680 function get_cards_data($letter, $page, $ids )698 function get_cards_data($letter, $page, $ids, $dontPaginate = false) 681 699 { 682 700 if( $ids ) … … 1203 1221 { 1204 1222 //echo 'N_entries: '.$n_entries.'<br>'; 1205 $this->page_info['n_pages'] = ceil( $n_entries/($this->page_info['n_cards']? $this->page_info['n_cards'] : 1));1223 $this->page_info['n_pages'] = ceil(($n_entries/($this->page_info['n_cards']) && !$dontPaginate ? $this->page_info['n_cards'] : 1)); 1206 1224 } 1207 1225 else … … 1273 1291 $this->page_info['actual_letter'] = $letter; 1274 1292 $this->page_info['actual_entries'] = $ids; 1275 $this->page_info['n_pages'] = ceil( count($ids)/($this->page_info['n_cards']? $this->page_info['n_cards'] : 1));1293 $this->page_info['n_pages'] = ceil((count($ids)/($this->page_info['n_cards']) && !$dontPaginate ? $this->page_info['n_cards'] : 1)); 1276 1294 } 1277 1295 } … … 1307 1325 1308 1326 //echo 'Page: '.$page.'<br>'; 1309 $id_i = (($page-1)*$this->page_info['n_cards']);1310 $id_f = $id_i + $this->page_info['n_cards'];1311 1327 $n_entries = count($this->page_info['actual_entries']); 1328 $n_cards = $dontPaginate? $n_entries : $this->page_info['n_cards']; 1329 $id_i = (($page-1)*$n_cards); 1330 $id_f = $id_i + $n_cards; 1312 1331 1313 1332 //echo 'ID_I: '.$id_i.'<br>'; … … 1583 1602 $final[8] = $this->page_info['actual_catalog']['class']; 1584 1603 $final[9] = $count; 1604 $final[11] = $this->bo->catalog_level; 1585 1605 1586 1606 … … 1827 1847 @param string $sdata Serialized data 1828 1848 */ 1829 function quick_add($sdata )1849 function quick_add($sdata, $echo=true) 1830 1850 { 1831 1851 … … 1839 1859 if (!$tdata) 1840 1860 { 1861 if ($echo) 1862 { 1841 1863 echo serialize(array( 1842 1864 'msg' => lang('Problems on adding your Contact. Invalid Data came from client. No Contact added!'), 1843 1865 'status' => 'abort' 1844 1866 )); 1845 1867 1846 1868 return; 1869 } 1870 else 1871 { 1872 return serialize(array( 1873 'msg' => lang('Problems on adding your Contact. Invalid Data came from client. No Contact added!'), 1874 'status' => 'abort' 1875 )); 1876 } 1847 1877 } 1848 1878 … … 1855 1885 $str_contact = "\r\n - ".implode("\r\n - ",$contact); 1856 1886 1887 if ($echo) 1888 { 1857 1889 echo serialize(array( 1858 1890 'msg' => lang('Problems on adding your Contact. The email "%1" already exists in: %2',$tdata[4], $str_contact), … … 1861 1893 1862 1894 return; 1895 } 1896 else 1897 { 1898 return serialize(array( 1899 'msg' => lang('Problems on adding your Contact. The email "%1" already exists in: %2',$tdata[4], $str_contact), 1900 'status' => 'alreadyExists', 1901 'id_connection' => $contact[1] 1902 )); 1903 } 1863 1904 } 1864 1905 … … 1873 1914 $boPeople = CreateObject('contactcenter.bo_people_catalog'); 1874 1915 1875 if ($boPeople ->quick_add($data)) 1876 { 1877 $this->page_info['changed'] = true; 1878 1879 echo serialize(array( 1880 'msg' => lang('Entry added with success!'), 1881 'status' => 'ok' 1882 )); 1916 $result = $boPeople->quick_add($data); 1917 if ($result) 1918 { 1919 $this->page_info['changed'] = true; 1920 1921 if ($echo) 1922 { 1923 echo serialize(array( 1924 'msg' => lang('Entry added with success!'), 1925 'status' => 'ok' 1926 )); 1927 } 1928 else 1929 { 1930 return serialize(array( 1931 'msg' => lang('Entry added with success!'), 1932 'status' => 'ok', 1933 'conn' => $boPeople->get_connections($result) 1934 )); 1935 } 1883 1936 } 1884 1937 else 1885 1938 { 1886 echo serialize(array( 1887 'msg' => lang('Problems on adding your Contact. No Contact added!'), 1888 'status' => 'error' 1889 )); 1939 if ($echo) 1940 { 1941 echo serialize(array( 1942 'msg' => lang('Problems on adding your Contact. No Contact added!'), 1943 'status' => 'error' 1944 )); 1945 } 1946 else 1947 { 1948 echo serialize(array( 1949 'msg' => lang('Problems on adding your Contact. No Contact added!'), 1950 'status' => 'error' 1951 )); 1952 } 1890 1953 } 1891 1954 … … 1924 1987 $data['contact_in_list'] = $new_tdata[1]; 1925 1988 $data['id_group'] = $new_tdata[2]; 1926 1989 $acumulatedErrors = ''; 1990 1991 $actualCatalog = $this->get_actual_catalog(); 1992 for ($i = 0; $i < count($data['contact_in_list']); $i++) 1993 { 1994 if (preg_match('/ldap:.*:.*/', $data['contact_in_list'][$i])) // from ldap 1995 { 1996 list(, $level, $dn) = explode(':', $data['contact_in_list'][$i]); 1997 1998 // pesquisa os dados, insere no catálogo e modifica 1999 // a entrada em $data['contact_in_list'][$i] 2000 $set_catalog = $this->set_catalog($level, false); 2001 $contact_data = unserialize($this->get_catalog_add_contact($dn, false)); 2002 $tmp_contact[] = $contact_data[0][0]; 2003 $tmp_contact[] = $contact_data[1][0]; 2004 $tmp_contact[] = $contact_data[2][0]; 2005 $tmp_contact[] = $contact_data[3][0]; 2006 $tmp_contact[] = $contact_data[4][0]; 2007 2008 // Determinar o id_connection 2009 $id_contact = unserialize($this->quick_add(serialize($tmp_contact), false)); 2010 2011 switch ($id_contact['status']) 2012 { 2013 case 'ok' : 2014 foreach ($id_contact['conn'] as $connection) 2015 { 2016 if ($connection['id_type'] == 1) 2017 { 2018 $data['contact_in_list'][$i] = $connection['id_connection']; 2019 } 2020 } 2021 break; 2022 2023 case 'alreadyExists': // if e-mail exists get their id_connection from people_catalog 2024 $data['contact_in_list'][$i] = $id_contact['id_connection']; 2025 2026 default: 2027 $acumulatedErrors += $id_contact['msg']."\n"; 2028 } 2029 unset($tmp_contact); 2030 2031 } 2032 } 2033 $set_catalog = $this->set_catalog($actualCatalog['data'], false); // retorna ao catálogo original. 1927 2034 $boGroup = CreateObject('contactcenter.bo_group_manager'); 1928 2035 $id = $boGroup -> add_group($data); … … 1940 2047 { 1941 2048 echo serialize(array( 1942 'msg' => lang('Problems on adding your Group. Be sure that a group with this name do not exists'), 2049 'msg' => lang('Problems on adding your Contact. No Contact added!'). 2050 "\n".$acumulatedErrors, 1943 2051 'status' => 'error' 1944 2052 )); … … 3456 3564 } 3457 3565 3458 function get_catalog_add_contact($id ){3566 function get_catalog_add_contact($id, $echo=true){ 3459 3567 3460 3568 $array_participants = array(); … … 3475 3583 3476 3584 ldap_close($ds); 3477 echo serialize($array_participants); 3585 if ($echo) 3586 { 3587 echo serialize($array_participants); 3588 } 3589 else 3590 { 3591 return serialize($array_participants); 3592 } 3478 3593 } 3479 3594
Note: See TracChangeset
for help on using the changeset viewer.