/** * Get device features * * @return Application_Model_Device */ public function getDevice() { if ($this->device == null) { $this->device = false; $devices = Application_Model_DevicesMapper::i()->fetchAll(); /* @var Application_Model_Device $device */ foreach ($devices as $device) { // if exact do an == comparison if ($device->isExact() && $device->getPattern() == $_SERVER['HTTP_USER_AGENT'] || !$device->isExact() && preg_match($device->getPattern(), $_SERVER['HTTP_USER_AGENT']) > 0) { // valid $device found; $this->device = $device; break; } } if ($this->device == false) { // load things from default $this->device = new Application_Model_Device(); if (X_VlcShares_Plugins::broker()->isRegistered('wiimc')) { $this->device->setGuiClass($this->options->get('gui', 'X_VlcShares_Plugins_WiimcPlxRenderer')); } else { $this->device->setGuiClass($this->options->get('gui', 'X_VlcShares_Plugins_WebkitRenderer')); } $this->device->setIdProfile($this->options->get('profile', 1))->setLabel("Unknown device"); } } return $this->device; }
public function findAction() { $application = Application_Model_Application::getInstance(); $admin = new Admin_Model_Admin(); if (Siberian_Version::is("sae")) { $admins = $admin->findAll()->toArray(); $admin_owner = $admin; $admin_owner->setData(current($admins)); } else { $admins = $admin->getAllApplicationAdmins($this->getRequest()->getParam("app_id")); $admin_owner = $application->getOwner(); } $admin_list = array(); foreach ($admins as $admin) { $admin_list[] = $admin; } $admin = array("name" => $admin_owner->getFirstname() . " " . $admin_owner->getLastname(), "email" => $admin_owner->getEmail(), "company" => $admin_owner->getCompany(), "phone" => $admin_owner->getPhone()); $store_categories = Application_Model_Device_Ios::getStoreCategeories(); $devices = array(); foreach ($application->getDevices() as $device) { $device->setName($device->getName()); $device->setBrandName($device->getBrandName()); $device->setStoreName($device->getStoreName()); $device->setHasMissingInformation(!$device->getUseOurDeveloperAccount() && (!$device->getDeveloperAccountUsername() || !$device->getDeveloperAccountPassword())); $devices[] = $device->getData(); } $data = array('admin' => $admin, 'admin_list' => $admin_list, 'app_store_icon' => $application->getAppStoreIcon(), 'google_play_icon' => $application->getGooglePlayIcon(), 'devices' => $devices, 'url' => $application->getUrl(), 'has_ios_certificate' => Push_Model_Certificate::getiOSCertificat() !== null); foreach ($store_categories as $name => $store_category) { if ($store_category->getId() == $application->getMainCategoryId()) { $data['main_category_name'] = $name; } else { if ($store_category->getId() == $application->getSecondaryCategoryId()) { $data['secondary_category_name'] = $name; } } } $folder_name = $application->getDevice(2)->getTmpFolderName(); $apk_path = null; $date_mod = null; if ($folder_name != "") { $apk_base_path = Core_Model_Directory::getBasePathTo("var/tmp/applications/android/{$folder_name}/Siberian/app/build/outputs/apk/app-release.apk"); } if (file_exists($apk_base_path)) { $apk_path = Core_Model_Directory::getPathTo("var/tmp/applications/android/{$folder_name}/Siberian/app/build/outputs/apk/app-release.apk"); $date = new Zend_Date(filemtime($apk_base_path), Zend_Date::TIMESTAMP); $date_mod = $date->toString($this->_("MM/dd/y 'at' hh:mm a")); } $data["bundle_id"] = $application->getBundleId(); $data["is_active"] = $application->isActive(); $data["is_locked"] = $application->isLocked(); $data["can_be_published"] = $application->canBePublished(); if ($application->getFreeUntil()) { $date = new Zend_Date($application->getFreeUntil(), Zend_Date::ISO_8601); $data["free_until"] = $date->toString("MM/dd/yyyy"); } $data["apk"] = array("link" => $apk_path, 'date' => $date_mod); $application->addData($data); $data = array("application" => $application->getData(), 'statuses' => Application_Model_Device::getStatuses()); $this->_sendHtml($data); }
public function generateAction() { if ($datas = $this->getRequest()->getParams()) { try { if (empty($datas['device_id'])) { throw new Exception("L'application recherchée n'existe pas"); } $device_id = $datas['device_id']; $device = new Application_Model_Device(array('device_id' => $device_id)); $zip = $device->getResources(); $path = explode('/', $zip); end($path); $this->_download($zip, current($path), 'application/octet-stream'); } catch (Exception $e) { Zend_Debug::dump($e); } die('ok'); } }
public function editAction() { // action body $form = new Application_Form_Devices(); $form->submit->setLabel('Редактировать'); $_SESSION['edit'] = true; $this->view->form = $form; if ($this->getRequest()->isPost()) { $formData = $this->getRequest()->getPost(); if ($form->isValid($formData)) { //Успешная валидация //Извлекаем данные в обьект $device = new Application_Model_Device($form); //Редактируем данные в базе $device->edit(); $this->_helper->redirector('index'); } else { //Неуспешная валидация //Возвращаем данные в таблицу $form->populate($formData); } } else { $id = $this->getParam('id'); $device = new Application_Model_DbTable_Devices(); $form->populate($device->getDevice($id)); } }
public function getDevice($device_id) { if (empty($this->_devices[$device_id])) { $device = new Application_Model_Device(); $device->find(array("app_id" => $this->getId(), "type_id" => $device_id)); if (!$device->getId()) { $device->loadDefault($device_id); $device->setAppId($this->getId()); } $this->_devices[$device_id] = $device; } return $this->_devices[$device_id]; }
public function editDevice(Application_Model_Device $device) { // редактируем запись $this->update($device->makearray(), 'id=' . (int) $device->id); }
public function delete(Application_Model_Device $model) { if ($model->getId()) { $this->getDbTable()->delete(array('id = ?' => $model->getId())); } }