public function interpret($string)
 {
     $string_array = preg_split('/(\\n|\\r)/', $string);
     $keywords = array();
     $items = 0;
     foreach ($string_array as $line) {
         $data = array();
         $match = $this->tryMatch($line);
         FB::info($match, 'MATCH FOR LINE');
         if (!array_key_exists('break', $match)) {
             if (!array_key_exists('task', $match)) {
                 $keywords[] = $match;
             } else {
                 $blurb = array_merge($keywords, $match);
                 $data['nada'] = false;
                 $data['raw'] = false;
                 $data['text'] = false;
                 $data['desc'] = null;
                 $data['date'] = null;
                 $data['keys'] = false;
                 $data['raw'] = $match['task'];
                 $data['text'] = $match['title'];
                 if (array_key_exists('time', $match)) {
                     $data['date'] = Time::strToTime($match['time']);
                 }
                 $data['keys'] = $blurb;
                 #FB::info($data,'TASK DATA');
                 TaskerHelper::addItem($data);
                 $items++;
             }
         } else {
             $pop = array_pop($keywords);
         }
         FB::log($data, 'DATA');
     }
     FB::log($keywords, 'Keywords');
     FB::log($matches, 'Interpret Tasks');
 }
Beispiel #2
0
 public function offsetGet($offset, $subset)
 {
     $helper = new TaskerHelper();
     switch ($offset) {
         case 'add':
             Site::$response = $helper->addItem();
             break;
         case 'delete':
             if (isset($_POST['id'])) {
                 Site::$response = $helper->hideItem($_POST['id']);
             }
             break;
         case 'undo':
             if (isset($_POST['id'])) {
                 Site::$response = $helper->setItemUndone($_POST['id']);
             }
             break;
         case 'do':
             if (isset($_POST['id'])) {
                 Site::$response = $helper->setItemDone($_POST['id']);
             }
             break;
         case 'tasks':
             $list = new Lists();
             $list->offsetGet($subset);
             Site::$response = $this->writeLists();
             break;
         case 'interpret':
             Site::$response = $this->interpret($_POST['raw']);
             break;
         case 'keys':
             $keys = new Keywords();
             Site::$response = $keys->outputAsideGUI();
             break;
         case 'dates':
             Site::$response = Time::getDates($_POST['dates']);
             break;
         case 'date':
             Site::$response = Time::getDateFromString(Site::$subsection);
             break;
         case 'view':
             $helper->getItem(Site::$subsection);
             break;
         case 'update':
             $helper->getItem(Site::$subsection);
             break;
         case 'import':
             self::getImportInterface();
             break;
         case 'setup':
             self::setupDB();
             break;
         default:
             #FB::error($offset, 'OFFSET NOT KNOWN');
             self::$keywords = new Keywords();
             $list = new Lists();
             $list->offsetGet($offset);
             self::getInterface();
             break;
     }
     return true;
 }