Esempio n. 1
0
 /**
  * Add an Artist to the database or get its key if it exists
  * @param name str: the name of the artist to add
  * @return     int: the primary key added or found
  */
 public function addArtist($name)
 {
     //is this name already in the collection?
     $q = Doctrine_Query::create()->select('a.id')->from('Artist a')->where('a.name = ?', $name);
     $result = $q->fetchOne();
     if (is_object($result) && $result->id > 0) {
         $retId = $result->id;
         unset($q, $result);
         return (int) $retId;
     } else {
         $item = new Artist();
         $item->name = $name;
         $item->save();
         $id = $item->getId();
         $item->free();
         unset($item, $q, $result);
         return (int) $id;
     }
 }
Esempio n. 2
0
 $saved = $track->save($dbc, "temas");
 if ($saved === TRUE) {
     // *************************
     // OBTENGO DATOS DEL TRACK
     $log->add("getting track id...");
     $trackId = $track->getId();
     // *************************
     // *************************
     // OBTENGO DATOS DEL ARTISTA
     $log->add("getting artist id...");
     if ($trackId != NULL) {
         $artist = new Artist();
         $log->add("searching db for artist=" . $track->getArtistName());
         $artist->loadFromName($dbc, $track->getArtistName());
         if ($artist->getMaches() == "1") {
             $artistId = $artist->getId();
             $log->add("found artist={$artistId}");
         } else {
             $log->add("artist not found");
             $log->add("saving new artist info...");
             $artist->setName($track->getArtistName());
             $savedArtist = $artist->save($dbc, "artistas");
             if ($savedArtist == TRUE) {
                 $artistId = $artist->getId();
                 $log->add("new artist found={$artistId}...");
             } else {
                 $artistId = NULL;
                 $log->add("ERROR saving artist");
             }
         }
     }