Пример #1
0
 /**
  * Factory
  * 
  */
 function &singleton($caller)
 {
     if ($caller == NULL) {
         return podcaster_repositoryimpl::_singleton($r = NULL);
     }
     if (!isset($caller->plugin)) {
         $caller->plugin = podcaster_repositoryimpl::get_plugin($caller->prefix);
     }
     return podcaster_repositoryimpl::_singleton($caller);
 }
Пример #2
0
 /**
  * Factory
  */
 function &create_repository($data, $disabled = false, $rss = false)
 {
     global $CFG;
     require_once $CFG->dirroot . '/mod/podcaster/lib/repository.php';
     if (is_object($data)) {
         $info = $data;
     } else {
         // is_int the PHP Way
         if ($data === 0 || $data * 1 !== 0) {
             if (!$disabled) {
                 if (($info = get_record('podcaster_repository', 'id', $data, 'enabled', '1')) == false) {
                     return $info;
                 }
             } else {
                 if (($info = get_record('podcaster_repository', 'id', $data)) == false) {
                     return $info;
                 }
             }
         } elseif (!$disabled) {
             if (($info = get_record('podcaster_repository', 'prefix', $data, 'enabled', '1')) == false) {
                 return $info;
             }
         } else {
             if (($info = get_record('podcaster_repository', 'prefix', $data)) == false) {
                 return $info;
             }
         }
     }
     if ($rss && $info->id != $info->rss && $info->rss != 0) {
         $obj =& podcaster_repository::create_repository($info->rss, $disabled, false);
         return $obj;
     }
     $obj =& podcaster_repositoryimpl::_singleton($info);
     return $obj;
 }