コード例 #1
0
ファイル: Dictionary.php プロジェクト: knatorski/SMS
 protected function _synchronizedDictionary($id_backendapplication, $dict_code, $def_code, $dictData)
 {
     $dictionaryObj = new Dictionary();
     $dictionaryEntryObj = new DictionaryEntry();
     $dictionaryRow = $dictionaryObj->fetchRow('ghost = false AND id_backend_application = ' . $id_backendapplication . ' AND code = \'' . $dict_code . '\'');
     //dodanie definicji słownika jeśli nie istnieje.
     if (!$dictionaryRow) {
         $values = array('id_backend_application' => $id_backendapplication, 'def' => $def_code, 'code' => $dict_code, 'dictionary_name' => $dict_code);
         $new_id = $dictionaryObj->getAdapter()->query('SELECT MAX(id)+1 as max FROM dictionary')->fetch();
         $values['id'] = $new_id['max'];
         $dictionaryRow = $dictionaryObj->createRow($values);
         $dictionaryRow->save();
     }
     //pobranie wszytkich rekordów ze słonika.
     $baseDictionary = new Base_Dictionary($id_backendapplication);
     $dictApplication = $baseDictionary->setSource($dict_code, array(), null, 'id_entry', array('id'))->getDictionary();
     // dodanie nowych rekordów oraz update istniejących.
     foreach ($dictData as $key => $row) {
         if (isset($dictApplication[$row['id_entry']])) {
             $rowObj = $dictionaryEntryObj->fetchRow('id_dictionary = ' . $dictionaryRow->id . ' AND id_entry = \'' . $row['id_entry'] . '\' AND ghost = false');
             $rowObj->setFromArray(array('entry' => $row['entry']));
             unset($dictApplication[$row['id_entry']]);
         } else {
             $row['id_dictionary'] = $dictionaryRow->id;
             $rowObj = $dictionaryEntryObj->createRow($row);
             $rowObj->save();
         }
     }
     // usuwanie niepotrzebnych wpisów.
     foreach ($dictApplication as $key => $row) {
         $rowObj = $dictionaryEntryObj->fetchRow('id_dictionary = ' . $dictionaryRow->id . ' AND id_entry = \'' . $key . '\' and ghost = false');
         $rowObj->delete();
     }
 }
コード例 #2
0
ファイル: Dictionary.php プロジェクト: knatorski/SMS
 public function getDictionaryEntries()
 {
     $branch = new DictionaryEntry();
     $select = $branch->select()->where('id_dictionary = ?', $this->id)->where('ghost = false')->order(array('id_entry'));
     return $select;
 }