/**
  * Import relevant properties from given exercise
  *
  * @param ilObjExercise $a_test
  * @return object
  */
 public static function createFromExercise(ilObjExercise $a_exercise, $a_user_id)
 {
     global $lng;
     $lng->loadLanguageModule("exercise");
     $newObj = new self();
     $newObj->setTitle($a_exercise->getTitle());
     $newObj->setDescription($a_exercise->getDescription());
     include_once "Services/Tracking/classes/class.ilLPMarks.php";
     $lp_marks = new ilLPMarks($a_exercise->getId(), $a_user_id);
     $newObj->setProperty("issued_on", new ilDate($lp_marks->getStatusChanged(), IL_CAL_DATETIME));
     // create certificate
     include_once "Services/Certificate/classes/class.ilCertificate.php";
     include_once "Modules/Exercise/classes/class.ilExerciseCertificateAdapter.php";
     $certificate = new ilCertificate(new ilExerciseCertificateAdapter($a_exercise));
     $certificate = $certificate->outCertificate(array("user_id" => $a_user_id), false);
     // save pdf file
     if ($certificate) {
         // we need the object id for storing the certificate file
         $newObj->create();
         $path = self::initStorage($newObj->getId(), "certificate");
         $file_name = "exc_" . $a_exercise->getId() . "_" . $a_user_id . ".pdf";
         if (file_put_contents($path . $file_name, $certificate)) {
             $newObj->setProperty("file", $file_name);
             $newObj->update();
             return $newObj;
         }
         // file creation failed, so remove to object, too
         $newObj->delete();
     }
     // remove if certificate works
     $newObj->create();
     return $newObj;
 }
Example #2
0
 public static function add($data)
 {
     $model = new self();
     $data['pid'] = 0;
     $data['auth'] = ' ';
     return $model->create($data);
 }
Example #3
0
 public static function record($type, $user_id)
 {
     $active = new self();
     $active->user_id = $user_id;
     $active->type = $type;
     $active->create();
 }
Example #4
0
 /**
  * Wrapper for creating a support group.
  * It will check if the support group doesn't exist yet, if the tag or name already exists then NAME_TAKEN  or TAG_TAKEN will be returned.
  * If the name is bigger than 20 characters or smaller than 4 and the tag greater than 7 or smaller than 2 a SIZE_ERROR will be returned.
  * Else it will return SUCCESS
  * @return a string that specifies if it was a success or not (SUCCESS, SIZE_ERROR, NAME_TAKEN or TAG_TAKEN )
  */
 public static function createSupportGroup($name, $tag, $groupemail, $imap_mailserver, $imap_username, $imap_password)
 {
     //error_log( "Error at line " . __LINE__ . " in file " . __FILE__);
     if (strlen($name) <= 21 && strlen($name) >= 4 && strlen($tag) <= 8 && strlen($tag) >= 2) {
         $notExists = self::supportGroup_EntryNotExists($name, $tag);
         //error_log( "Error at line " . __LINE__ . " in file " . __FILE__);
         if ($notExists == "SUCCESS") {
             $sGroup = new self();
             $values = array('Name' => $name, 'Tag' => $tag, 'GroupEmail' => $groupemail, 'IMAP_MailServer' => $imap_mailserver, 'IMAP_Username' => $imap_username, 'IMAP_Password' => $imap_password);
             $sGroup->setName($values['Name']);
             $sGroup->setTag($values['Tag']);
             $sGroup->setGroupEmail($values['GroupEmail']);
             $sGroup->setIMAP_MailServer($values['IMAP_MailServer']);
             $sGroup->setIMAP_Username($values['IMAP_Username']);
             //encrypt password!
             global $cfg;
             $crypter = new MyCrypt($cfg['crypt']);
             $enc_password = $crypter->encrypt($values['IMAP_Password']);
             $sGroup->setIMAP_Password($enc_password);
             $sGroup->create();
             //error_log( "Error at line " . __LINE__ . " in file " . __FILE__);
         } else {
             //error_log( "Error at line " . __LINE__ . " in file " . __FILE__);
             //return NAME_TAKEN  or TAG_TAKEN
             return $notExists;
         }
     } else {
         //error_log( "Error at line " . __LINE__ . " in file " . __FILE__);
         //RETURN ERROR that indicates SIZE
         return "SIZE_ERROR";
     }
 }
 /**
  * Import relevant properties from given test
  *
  * @param ilObjTest $a_test
  * @return object
  */
 public static function createFromTest(ilObjTest $a_test, $a_user_id)
 {
     global $lng;
     $lng->loadLanguageModule("wsp");
     $newObj = new self();
     $newObj->setTitle($lng->txt("wsp_type_tstv") . " \"" . $a_test->getTitle() . "\"");
     $newObj->setDescription($a_test->getDescription());
     $active_id = $a_test->getActiveIdOfUser($a_user_id);
     $pass = ilObjTest::_getResultPass($active_id);
     $date = $a_test->getPassFinishDate($active_id, $pass);
     $newObj->setProperty("issued_on", new ilDate($date, IL_CAL_UNIX));
     // create certificate
     include_once "Services/Certificate/classes/class.ilCertificate.php";
     include_once "Modules/Test/classes/class.ilTestCertificateAdapter.php";
     $certificate = new ilCertificate(new ilTestCertificateAdapter($a_test));
     $certificate = $certificate->outCertificate(array("active_id" => $active_id, "pass" => $pass), false);
     // save pdf file
     if ($certificate) {
         // we need the object id for storing the certificate file
         $newObj->create();
         $path = self::initStorage($newObj->getId(), "certificate");
         $file_name = "tst_" . $a_test->getId() . "_" . $a_user_id . "_" . $active_id . ".pdf";
         if (file_put_contents($path . $file_name, $certificate)) {
             $newObj->setProperty("file", $file_name);
             $newObj->update();
             return $newObj;
         }
         // file creation failed, so remove to object, too
         $newObj->delete();
     }
 }
Example #6
0
 public static function add($data)
 {
     $model = new self();
     unset($data['repassword']);
     $data['status'] = 1;
     return $model->create($data);
 }
Example #7
0
 /**
  * @param string          $format
  * @param OutputInterface $output
  * @param array           $rows
  */
 public static function render($format, OutputInterface $output, array $rows)
 {
     $factory = new self();
     if (!($renderer = $factory->create($format))) {
         throw new InvalidArgumentException(sprintf('Unknown format %s, known formats are: %s', var_export($format)), implode(',', self::getFormats()));
     }
     $renderer->render($output, $rows);
 }
 /**
  * Get MTF Object Manager instance
  *
  * @return ObjectManager
  */
 public static function getObjectManager()
 {
     if (!($objectManager = ObjectManager::getInstance())) {
         $objectManagerFactory = new self();
         $objectManager = $objectManagerFactory->create();
     }
     return $objectManager;
 }
 public static function get()
 {
     if (!isset(self::$driver)) {
         $i = new self();
         self::$driver = $i->create();
     }
     return self::$driver;
 }
 public static function add($params)
 {
     $handle = new self();
     foreach ($params as $key => $value) {
         $handle->{$key} = $value;
     }
     $handle->create($params);
 }
Example #11
0
 /**
  * @return \Doctrine\ORM\EntityManager
  */
 public static function instance()
 {
     if (is_null(self::$entityManagerInstance)) {
         $entityManager = new self();
         self::$entityManagerInstance = $entityManager->create();
     }
     return self::$entityManagerInstance;
 }
Example #12
0
 public static function createOrUpdate($siteId, $links)
 {
     // dd( $links );
     $links->filter(function ($link) use($siteId) {
         return self::isSameHost($link, $siteId);
     })->each(function ($link) use($siteId) {
         $saveWebpage = new self();
         $saveWebpage->create($siteId, $link);
     });
 }
Example #13
0
 /**
  * @param $name
  * @param $value
  */
 public static function set($name, $value)
 {
     $obj = new self($name);
     $obj->setValue($value);
     if (self::where(array('name' => $name))->hasSets()) {
         $obj->update();
     } else {
         $obj->create();
     }
 }
Example #14
0
 /**
  * Batch create of properties from variables array
  * @param VariableCollection $variableCollection Array of variable definition
  * @return array Array of created properties
  */
 public static function createFromCollection(VariableCollection $variableCollection)
 {
     $properties = [];
     /** @var Variable $variable */
     foreach ($variableCollection as $variable) {
         $property = new self($variable->getName(), $variable->getType(), $variable->getVisibility());
         $properties[] = $property->create();
     }
     return $properties;
 }
 private function createSubFolders()
 {
     $ok = true;
     foreach ($this->subFolders as $folder) {
         $dir = new self($this->getPath() . $folder);
         if (!$dir->create()) {
             $ok = false;
         }
     }
     return $ok;
 }
Example #16
0
 /**
  * Delete all specified paths and create them again with specified permission
  *
  * @param array $paths      Paths
  * @param int   $permission Value for CHMOD
  *
  * @return $this
  */
 public function flush(array $paths, $permission = 0777)
 {
     foreach ($paths as $path) {
         $dir = new self($path);
         $dir->getRoot()->remove();
     }
     foreach ($paths as $path) {
         $dir = new self($path);
         $dir->create($permission);
     }
     return $this;
 }
Example #17
0
 public static function add($object_guid, $person, $role)
 {
     $mc = self::new_collector('objectGuid', $object_guid);
     $mc->add_constraint('role', '=', $role);
     $mc->add_constraint('person', '=', $person);
     $mc->execute();
     if ($mc->count() > 0) {
         //Resource is already present, aborting silently
         return;
     }
     $new_role = new self();
     $new_role->person = $person;
     $new_role->role = $role;
     $new_role->objectGuid = $object_guid;
     return $new_role->create();
 }
Example #18
0
 /**
  * Add a new email address to the DB
  * @param $data
  * @return bool
  */
 public static function addEmailAddress($data)
 {
     $email = new self();
     foreach ($data as $key => $value) {
         $email->{$key} = $value;
     }
     try {
         if ($email->create()) {
             return $email;
         }
     } catch (Exception $e) {
         // Do nothing, return default of false
         // @TODO: Possibly log the error
     }
     return false;
 }
Example #19
0
 /**
  * Add a new currency to the DB
  * @param $data
  * @return bool
  */
 public static function addCurrency($data)
 {
     $currency = new self();
     foreach ($data as $key => $value) {
         $currency->{$key} = $value;
     }
     $currency->status = 'enabled';
     try {
         if ($currency->create()) {
             return $currency;
         }
     } catch (Exception $e) {
         // Do nothing, return default of false
         // @TODO: Possibly log the error
     }
     return false;
 }
Example #20
0
 public function addConfig($name, $value, $title, $extra, $group, $sort, $remark, $type)
 {
     $item = new self();
     $item->variable_name = $name;
     $item->variable_value = $value;
     $item->variable_title = $title;
     $item->extra = $extra;
     $item->group = $group;
     $item->sort = $sort;
     $item->remark = $remark;
     $item->type = $type;
     $item->status = 0;
     if ($item->create() == false) {
         $this->error = "添加配置项出错";
         return false;
     }
     return true;
 }
Example #21
0
 /**
  * 保存数据
  * @param array $attr
  * @param object $o
  * @return array
  */
 static function dataSave($attr, $o = false)
 {
     $return = array('status' => false, 'message' => null);
     $columnMap = null;
     if (!$o) {
         // 插入
         $o = new self();
         if ($o->create($attr) == false) {
             $return['message'] = join($o->getMessages(), '<br>');
         }
     } else {
         // 更新
         if ($o->update($attr) == false) {
             $return['message'] = join($o->getMessages(), '<br>');
         }
     }
     if (is_null($return['message'])) {
         $return['status'] = true;
     }
     return $return;
 }
 /**
  * Import relevant properties from given learning module
  *
  * @param ilObjSAHSLearningModule $a_lm
  * @return object
  */
 public static function createFromSCORMLM(ilObjSAHSLearningModule $a_lm, $a_user_id)
 {
     global $lng;
     $lng->loadLanguageModule("sahs");
     $newObj = new self();
     $newObj->setTitle($a_lm->getTitle());
     $newObj->setDescription($a_lm->getDescription());
     include_once "Services/Tracking/classes/class.ilLPMarks.php";
     $lp_marks = new ilLPMarks($a_lm->getId(), $a_user_id);
     $newObj->setProperty("issued_on", new ilDate($lp_marks->getStatusChanged(), IL_CAL_DATETIME));
     // create certificate
     if (!stristr(get_class($a_lm), "2004")) {
         $last_access = ilObjSCORMLearningModule::_lookupLastAccess($a_lm->getId(), $a_user_id);
     } else {
         $last_access = ilObjSCORM2004LearningModule::_lookupLastAccess($a_lm->getId(), $a_user_id);
     }
     $params = array("user_data" => ilObjUser::_lookupFields($a_user_id), "last_access" => $last_access);
     include_once "Services/Certificate/classes/class.ilCertificate.php";
     include_once "Modules/ScormAicc/classes/class.ilSCORMCertificateAdapter.php";
     $certificate = new ilCertificate(new ilSCORMCertificateAdapter($a_lm));
     $certificate = $certificate->outCertificate($params, false);
     // save pdf file
     if ($certificate) {
         // we need the object id for storing the certificate file
         $newObj->create();
         $path = self::initStorage($newObj->getId(), "certificate");
         $file_name = "sahs_" . $a_lm->getId() . "_" . $a_user_id . ".pdf";
         if (file_put_contents($path . $file_name, $certificate)) {
             $newObj->setProperty("file", $file_name);
             $newObj->update();
             return $newObj;
         }
         // file creation failed, so remove to object, too
         $newObj->delete();
     }
 }
Example #23
0
 /**
  * @param $jobid
  */
 public static function start_cli($jobid)
 {
     if (php_sapi_name() != 'cli') {
         return;
     }
     //define DOING_CRON to prevent caching
     if (!defined('DOING_CRON')) {
         define('DOING_CRON', true);
     }
     //load text domain
     $log_level = get_site_option('backwpup_cfg_loglevel', 'normal_translated');
     if (strstr($log_level, 'translated')) {
         BackWPup::load_text_domain();
     } else {
         add_filter('override_load_textdomain', '__return_true');
         $GLOBALS['l10n'] = array();
     }
     $jobid = absint($jobid);
     //Logs Folder
     $log_folder = get_site_option('backwpup_cfg_logfolder');
     $log_folder = BackWPup_File::get_absolute_path($log_folder);
     //check job id exists
     $jobids = BackWPup_Option::get_job_ids();
     if (!in_array($jobid, $jobids, true)) {
         die(__('Wrong BackWPup JobID', 'backwpup'));
     }
     //check folders
     $log_folder_message = BackWPup_File::check_folder($log_folder);
     if (!empty($log_folder_message)) {
         die($log_folder_message);
     }
     $log_folder_message = BackWPup_File::check_folder(BackWPup::get_plugin_data('TEMP'), true);
     if (!empty($log_folder_message)) {
         die($log_folder_message);
     }
     //check running job
     if (file_exists(BackWPup::get_plugin_data('running_file'))) {
         die(__('A BackWPup job is already running', 'backwpup'));
     }
     //start class
     $backwpup_job_object = new self();
     $backwpup_job_object->create('runcli', (int) $jobid);
     $backwpup_job_object->run();
 }
Example #24
0
 /**
  * Short description for 'createInstance'
  *
  * Long description (if any) ...
  *
  * @param	  unknown $toolname Parameter description (if any) ...
  * @param	  unknown $instance Parameter description (if any) ...
  * @return	 mixed Return description (if any) ...
  */
 public static function createInstance($toolname, $instance)
 {
     if (empty($toolname)) {
         return false;
     }
     if (empty($instance)) {
         return false;
     }
     $newinstance = new self();
     $newinstance->toolname = $toolname;
     $newinstance->instance = $instance;
     if ($newinstance->create()) {
         return $newinstance;
     }
     return false;
 }
Example #25
0
 /**
  * Fine a specific record, or create it
  * if not found
  *
  * @param   string  $type
  * @param   string  $authenticator
  * @param   string  $domain
  * @return  mixed
  */
 public static function find_or_create($type, $authenticator, $domain = null)
 {
     $hzad = new self();
     $hzad->type = $type;
     $hzad->authenticator = $authenticator;
     $hzad->domain = $domain;
     $hzad->read();
     if (empty($hzad->id) && !$hzad->create()) {
         return false;
     }
     return $hzad;
 }
Example #26
0
 /**
  * Find a record, creating it if not found.
  *
  * @param   string  $type
  * @param   string  $authenticator
  * @param   string  $domain
  * @param   string  $username
  * @return  mixed   Object on success, False on failure
  */
 public static function find_or_create($type, $authenticator, $domain, $username)
 {
     $hzad = Domain::find_or_create($type, $authenticator, $domain);
     if (!is_object($hzad)) {
         return false;
     }
     if (empty($username)) {
         return false;
     }
     $hzal = new self();
     $hzal->username = $username;
     $hzal->auth_domain_id = $hzad->id;
     $hzal->read();
     if (empty($hzal->id) && !$hzal->create()) {
         return false;
     }
     return $hzal;
 }
Example #27
0
 /**
  * @param int $jobid
  */
 public static function start_wp_cron($jobid = 0)
 {
     if (!defined('DOING_CRON') || !DOING_CRON) {
         return;
     }
     //load text domain
     $log_level = get_site_option('backwpup_cfg_loglevel');
     if (strstr($log_level, 'translated')) {
         BackWPup::load_text_domain();
     }
     if (!empty($jobid)) {
         //check folders
         $log_folder = get_site_option('backwpup_cfg_logfolder');
         $folder_message_log = BackWPup_File::check_folder(BackWPup_File::get_absolute_path($log_folder));
         $folder_message_temp = BackWPup_File::check_folder(BackWPup::get_plugin_data('TEMP'), TRUE);
         if (!empty($folder_message_log) || !empty($folder_message_temp)) {
             BackWPup_Admin::message($folder_message_log, TRUE);
             BackWPup_Admin::message($folder_message_temp, TRUE);
             return;
         }
     }
     // Should be preventing doubled running job's on http requests
     $random = rand(1, 9) * 100000;
     usleep($random);
     //get running job
     $backwpup_job_object = self::get_working_data();
     //start/restart class
     if (empty($backwpup_job_object) && !empty($jobid)) {
         //schedule restart event
         wp_schedule_single_event(time() + 60, 'backwpup_cron', array('id' => 'restart'));
         //start job
         $backwpup_job_object = new self();
         $backwpup_job_object->create('cronrun', (int) $jobid);
     }
     if (is_object($backwpup_job_object) && $backwpup_job_object instanceof BackWPup_Job) {
         $backwpup_job_object->run();
     }
 }
Example #28
0
    public static function createFromStruct(array $projectData, $generateUid = true)
    {
        $projectData["prj_name"] = trim($projectData["prj_name"]);
        if ($projectData["prj_name"] == '') {
            throw new \Exception("`prj_name` is required but it is empty.");
        }
        if (\Process::existsByProTitle($projectData["prj_name"])) {
            throw new \Exception("Project with name: {$projectData["prj_name"]}, already exists.");
        }
        $activities = $projectData['diagrams']['0']['activities'];
        foreach ($activities as $value) {
            if (empty($value['act_type'])) {
                throw new \Exception("For activity: {$value['act_uid']} `act_type` is required but missing.");
            }
        }
        $events = $projectData['diagrams']['0']['events'];
        foreach ($events as $value) {
            if (empty($value['evn_type'])) {
                throw new \Exception("For event: {$value['evn_uid']} `evn_type` is required but missing.");
            }
            if (empty($value['evn_marker'])) {
                throw new \Exception("For event: {$value['evn_uid']} `evn_marker` is required but missing.");
            }
        }
        $bwp = new self;
        $result = array();
        $data = array();

        if ($generateUid) {
            $result[0]["old_uid"] = isset($projectData["prj_uid"]) ? $projectData["prj_uid"] : "";
            $projectData["prj_uid"] = Util\Common::generateUID();
            $result[0]["new_uid"] = $projectData["prj_uid"];
            $result[0]["object"] = "project";
        }

        $data["PRJ_UID"] = $projectData["prj_uid"];
        $data["PRJ_AUTHOR"] = $projectData["prj_author"];

        $bwp->create($data);

        $diagramData = $processData = array();

        if (array_key_exists("diagrams", $projectData) && is_array($projectData["diagrams"]) && count($projectData["diagrams"]) > 0) {
            $diagramData = array_change_key_case($projectData["diagrams"][0], CASE_UPPER);

            if ($generateUid) {
                $result[1]["old_uid"] = $diagramData["DIA_UID"];
                $diagramData["DIA_UID"] = Util\Common::generateUID();
                $result[1]["new_uid"] = $diagramData["DIA_UID"];
                $result[1]["object"] = "diagram";
            }
        }

        $bwp->addDiagram($diagramData);

        if (array_key_exists("process", $projectData) && is_array($projectData["process"])) {
            $processData = array_change_key_case($projectData["process"], CASE_UPPER);
            if ($generateUid) {
                $result[2]["old_uid"] = $processData["PRO_UID"];
                $processData["PRO_UID"] = Util\Common::generateUID();
                $result[2]["new_uid"] = $processData["PRO_UID"];
                $result[2]["object"] = "process";
            }
        }

        $bwp->addProcess($processData);

        $mappedUid = array_merge($result, self::updateFromStruct($bwp->prjUid, $projectData, $generateUid, true));

        return $generateUid ? $mappedUid : $bwp->getUid();
    }
Example #29
0
File: Eav.php Project: noikiy/inovi
 public static function set($key, $value, $expire = 0)
 {
     $db = new self('core', 'core');
     $exists = self::get($key, null, true);
     if (0 < $expire) {
         $expire += time();
     }
     if ($exists instanceof Container) {
         $exists->setValue($value)->setExpire($expire)->save();
     } else {
         $db->create()->setKey($key)->setValue($value)->setExpire($expire)->save();
     }
     return $db;
 }
Example #30
0
 public function copy($where, array $newArgs)
 {
     $db = new self($this->db, $this->table);
     $rows = $db->query($where)->exec();
     if (!empty($rows)) {
         foreach ($rows as $row) {
             unset($row['id']);
             unset($row['created_at']);
             unset($row['updated_at']);
             $db->create(array_merge($row, $newArgs))->save();
         }
     }
     return $this;
 }