/** * Create HTML form to enter a new record with the minimum necessary fields. * Portions created by SugarCRM are Copyright (C) SugarCRM, Inc. * All Rights Reserved. * Contributor(s): ______________________________________.. */ function get_new_record_form() { if (!ACLController::checkAccess('Bugs', 'edit', true)) { return ''; } global $mod_strings; global $app_strings; global $app_list_strings; global $mod_strings; global $theme; global $current_user; $seedRelease = new Release(); $lbl_required_symbol = $app_strings['LBL_REQUIRED_SYMBOL']; $lbl_default_status = $app_list_strings['bug_status_default_key']; $lbl_subject = $mod_strings['LBL_SUBJECT']; $lbl_save_button_title = $app_strings['LBL_SAVE_BUTTON_TITLE']; $lbl_save_button_key = $app_strings['LBL_SAVE_BUTTON_KEY']; $lbl_save_button_label = $app_strings['LBL_SAVE_BUTTON_LABEL']; $user_id = $current_user->id; $priority_options = get_select_options_with_id($app_list_strings['bug_priority_dom'], $app_list_strings['bug_priority_default_key']); $release_options = get_select_options_with_id($seedRelease->get_releases(TRUE, "Active"), ""); $type_options = get_select_options_with_id($app_list_strings['bug_type_dom'], $app_list_strings['bug_type_default_key']); $the_form = get_left_form_header($mod_strings['LBL_NEW_FORM_TITLE']); $the_form .= <<<EOQ \t\t<form name="BugSave" onSubmit="return check_form('BugSave')" method="POST" action="index.php"> \t\t\t<input type="hidden" name="module" value="Bugs"> \t\t\t<input type="hidden" name="record" value=""> \t\t\t<input type="hidden" name="status" value="{$lbl_default_status}"> \t\t\t<input type="hidden" name="assigned_user_id" value='{$user_id}'> \t\t\t<input type="hidden" name="action" value="Save"> \t\t{$lbl_subject} <span class="required">{$lbl_required_symbol}</span><br> \t\t<p><input name='name' type="text" size='20' maxlength="255"value=""><br> \t\t{$mod_strings['LBL_TYPE']} <br> \t\t<select name='type' >{$type_options}</select><br> \t\t{$mod_strings['LBL_RELEASE']} <br> \t\t<select name='found_in_release' >{$release_options}</select><br> \t\t{$mod_strings['LBL_PRIORITY']} <br> \t\t<select name='priority' >{$priority_options}</select> </p><p>\t\t<input title="{$lbl_save_button_title}" accessKey="{$lbl_save_button_key}" class="button" type="submit" name="button" value=" {$lbl_save_button_label} " ></p> \t\t</form> EOQ; require_once 'include/javascript/javascript.php'; require_once 'modules/Bugs/Bug.php'; $javascript = new javascript(); $javascript->setFormName('BugSave'); $javascript->setSugarBean(new Bug()); $javascript->addRequiredFields(''); $the_form .= $javascript->getScript(); $the_form .= get_left_form_footer(); return $the_form; }
function displayOptions() { $this->processDisplayOptions(); $seedRelease = new Release(); $this->currentSearchFields['fixed_in_release']['input'] = '<select multiple="true" size="3" name="fixed_in_release[]">' . get_select_options_with_id($seedRelease->get_releases(false, "Active"), empty($this->filters['fixed_in_release']) ? '' : $this->filters['fixed_in_release']) . '</select>'; $this->currentSearchFields['found_in_release']['input'] = '<select multiple="true" size="3" name="found_in_release[]">' . get_select_options_with_id($seedRelease->get_releases(false, "Active"), empty($this->filters['found_in_release']) ? '' : $this->filters['found_in_release']) . '</select>'; $this->configureSS->assign('searchFields', $this->currentSearchFields); return $this->configureSS->fetch($this->configureTpl); }
/** * @return ReleaseSetBuilder */ protected function addRelease(Release $release, $isLatest = false) { $this->releases[$release->getDate()->getDayStartStamp()] = $release; if ($isLatest) { $this->latest = $release; } else { ksort($this->releases); $this->latest = end($this->releases); } return $this; }
public function testbuild_generic_where_clause() { $release = new Release(); //test with empty string params $expected = "name like '%'"; $actual = $release->build_generic_where_clause(''); $this->assertSame($expected, $actual); //test with valid string params $expected = "name like '%'"; $actual = $release->build_generic_where_clause('test'); $this->assertSame($expected, $actual); }
private function createTagsEdit() { //Suppression d'un tag $sTags = ''; foreach ($this->oRelease->getTags() as $iTagId => $oRegex) { $oButton = new View('button'); $oButton->addData('link', 'index.php?p=modrelease&a=deletetag&id=' . $this->oRelease->getId() . '&tag=' . $iTagId); $oButton->addData('icon', 'fa-times'); $oButton->addData('style', 'info'); $oButton->addData('text', $oRegex->getName()); $oButton->create(); $sTags .= $oButton->getCode() . ' '; } //Ajout d'un tag $aRegex = Regex::getSelectRegex(); $oPopupAdd = new View('popup'); $oPopupAdd->addData('id', 'addtag'); $oPopupAdd->addData('buttonstyle', 'btn-success'); $oPopupAdd->addData('buttonicon', 'fa-plus'); $oPopupAdd->addData('buttontext', 'Ajouter'); $oPopupAdd->addData('title', 'Ajouter un tag'); $oFormAdd = new FormGenerator(); $oFormAdd->setAction('index.php?p=modrelease&a=addtag&id=' . $this->oRelease->getId()); $oFormAdd->addSelect('Tag', 'tag', $aRegex); $oFormAdd->create(); $oPopupAdd->addData('content', $oFormAdd->getCode()); $oPopupAdd->create(); $sTags .= $oPopupAdd->getCode(); $this->oView->addData('tagsdelete', $sTags); }
/** * @return Release */ public function parse() { $changelog = file('ChangeLog', FILE_IGNORE_NEW_LINES); $in_plugins = false; $section = null; $release = null; foreach ($changelog as $line) { if (strpos($line, 'Version ') === 0) { if ($section) { break; } $release = Release::buildFromChangeLog($this->tuleap_version, $line); } elseif (preg_match('/^\\s*== /', $line)) { $section = $release->addSectionFromChangeLog($line); } else { if ($section && $line) { if ($section->hasSubSections() && $line) { $sub_section = $section->addSectionFromChangeLog($line); $this->extractChangelogOfPlugin($sub_section); } else { $section->addChange($line); } } } } return $release; }
/** * Vérifie si un des tags est de la catégorie demandée * @param int $p_iIdCat ID de la catégorie recherchée * @return boolean */ private function checkTags($p_iIdCat) { foreach ($this->oRelease->getTags() as $oRegex) { if ($oRegex->getCategorie() == $p_iIdCat) { return true; } } return false; }
/** * @param Release $release * @param bool $latest * * @return string */ private function renderRelease(Release $release, $latest = false) { $item = new \Text_Template(__DIR__ . '/../templates/item.html'); $manifest = ''; if (!empty($release->manifest())) { $manifest = sprintf(' class="phar" data-title="Manifest" data-content="<ul>%s</ul>" data-placement="bottom" data-html="true"', implode('', array_map(function ($item) { return '<li>' . $item . '</li>'; }, $release->manifest()))); } $item->setVar(['domain' => $this->domain(), 'package' => $release->package(), 'version' => $release->version(), 'date' => $release->date(), 'size' => $release->size(), 'sha256' => $release->sha256(), 'strongOpen' => $latest ? '<strong>' : '', 'strongClose' => $latest ? '</strong>' : '', 'manifest' => $manifest]); return $item->render(); }
public function addreleaseAction() { $form = new App_Form_Release(); $form->addElement('Submit', 'continue', array('label' => 'Save & Add Tracks', 'value' => 'continue')); if (!empty($_POST) && $form->isValid($_POST)) { //find the artistId for this account: $release = new Release(); $release->title = $form->getValue('title'); $release->artistId = $this->_artist->id; $release->publishDate = $form->getValue('publishDate'); $release->save(); $this->_flash->addMessage('Your release has been created.'); if ($form->getValue('continue') != null) { $this->_redirector->gotoSimple('addtrack', null, null, array('releaseId' => $release->id)); } $form->setDefaults(array('publishDate' => date('m/d/Y'))); } $form->setMethod('post'); $form->setAction('/dashboard/catalog/addrelease'); $this->view->form = $form; }
/** * @param Release $release */ public function add(Release $release) { $package = $release->package(); if (!isset($this->releases[$package])) { $this->releases[$package] = ['latest' => ['all' => $release, $release->versionSeries() => $release], 'all' => []]; } else { if (version_compare($release->version(), $this->releases[$package]['latest']['all']->version(), '>=')) { $this->releases[$package]['latest']['all'] = $release; } if (!isset($this->releases[$package]['latest'][$release->versionSeries()]) || version_compare($release->version(), $this->releases[$package]['latest'][$release->versionSeries()]->version(), '>=')) { $this->releases[$package]['latest'][$release->versionSeries()] = $release; } } $this->releases[$package]['all'][] = $release; $this->releases['all'][] = $release; }
public function __construct($projectId, $releaseList, $content = null) { if (!is_array($releaseList)) { $releaseList = array($releaseList); } parent::setUrl(new Url()); $this->setProjectId($projectId); $this->setReleaseList($releaseList); if ($content === null) { $release = Release::getRelease($projectId, $releaseList[0]); $content = $release->getCompleteName() . (count($releaseList) > 1 ? "+" : ""); } $this->setContent($content); }
private function importRelease(SmartSimpleXmlElement $releaseContainer) { $release = new Release(); $release->setPage(isset($releaseContainer['page']) ? (string) $releaseContainer['page'] : '/downloads.html'); $release->setDate(new Date((string) $releaseContainer->date)); $release->setVersion((string) $releaseContainer->version); $release->setAbout($releaseContainer->about->p->toDomNode()); $this->addRelease($release, isset($releaseContainer['latest']) && 'true' == $releaseContainer['latest']); }
/** * @param Release $release * * @return File * @throws DownloadFailedException * @throws VerificationFailedException */ public function download(Release $release) { $pharFile = $this->fileDownloader->download($release->getUrl()); $signatureFile = $this->fileDownloader->download($this->getSignatureUrl($release->getUrl())); if (!$this->verifySignature($pharFile, $signatureFile)) { throw new VerificationFailedException('Signature could not be verified'); } if ($release->hasExpectedHash() && !$this->checksumService->verify($release->getExpectedHash(), $pharFile)) { throw new VerificationFailedException(sprintf('Wrong checksum! Expected %s', $release->getExpectedHash()->asString())); } return $pharFile; }
/** * Retourne les statistiques globales * @return array */ public static function getGlobalStats() { $oMysqli = Database::getInstance(); $aStats = array(); // Récupération du nombre de releases $iNbReleases = Release::getCount(); $aStats[] = array("text" => $iNbReleases, "icon" => "fa-film", "subtext" => "releases", "color" => "green"); // Récupération du nombre de torrents $iNbTorrents = Torrent::getCount(); $aStats[] = array("text" => $iNbTorrents, "icon" => "fa-magnet", "subtext" => "torrents", "color" => "blue"); // Récupération du nombre d'utilisateur $oResult = $oMysqli->query("SELECT COUNT(*) AS nbusers FROM tks_users"); $iNbUsers = $oResult->fetch_assoc()['nbusers']; $aStats[] = array("text" => $iNbUsers, "icon" => "fa-users", "subtext" => "utilisateurs", "color" => "brown"); // Récupération du nombre de trackers $oResult = $oMysqli->query("SELECT COUNT(*) AS nbtrackers FROM tks_trackers"); $iNbTrackers = $oResult->fetch_assoc()['nbtrackers']; $aStats[] = array("text" => $iNbTrackers, "icon" => "fa-link", "subtext" => "trackers", "color" => "red"); return $aStats; }
/** * Exec multiple commands at once * * @param array<> $commands * @return vouid */ public static function exec(array $commands) { foreach ($commands as $c) { Release::split('─'); echo ' [exec] ' . $c . PHP_EOL; Release::split('─'); $process = proc_open($c, array(0 => array('pipe', 'r'), 1 => array('pipe', 'w'), 2 => array('pipe', 'w')), $pipes); if (is_resource($process)) { fclose($pipes[0]); while (!feof($pipes[1]) || !feof($pipes[2])) { if ($out = fgets($pipes[1], 128)) { echo ' │ ' . $out; } if ($err = fgets($pipes[2], 128)) { echo ' ! ' . $err; } } fclose($pipes[1]); fclose($pipes[2]); proc_close($process); } } Release::split('─'); }
private function addRelease(Release $release) { $url = sprintf('https://%s/%s-%s.phar', $this->domain(), $release->package(), $release->version()); $releaseNode = $this->addElement('release'); $releaseNode->setAttribute('version', $release->version()); $releaseNode->setAttribute('url', $url); $signatureNode = $this->addElement('signature'); $signatureNode->setAttribute('type', 'gpg'); $releaseNode->appendChild($signatureNode); $hashNode = $this->addElement('hash'); $hashNode->setAttribute('type', 'sha-256'); $hashNode->setAttribute('value', $release->sha256()); $releaseNode->appendChild($hashNode); $container = $this->getContainer($release->package()); if ($container->hasChildNodes()) { $container->insertBefore($releaseNode, $container->firstChild); } else { $container->appendChild($releaseNode); } }
public function procede() { if (!$this->oRequest->existParam('key')) { throw new Error('Vous devez renseigner la clé.', 3003); } if ($this->oRequest->getParam('key', 'string') != Config::get('ingestkey')) { throw new Error('La clé est invalide.', 3003); } //Ajoute du titre $this->oView->addData('titre', 'Analyse des flux RSS'); //On récupère les éléments pour les statistiques $iNbReleases = Release::getCount(); $iNbTorrents = Torrent::getCount(); $iStartTime = time(); //Traitement des Trackers $aTrackers = Tracker::getTrackers(); //Ajout des flux $aRssList = Rss::getFlux(); foreach ($aRssList as $oRss) { $aTrackers[$oRss->getTrackerId()]->addFlux($oRss); } //Parsage des flux $aResults = array(); foreach ($aTrackers as $oTracker) { $aResults = array_merge($aResults, $oTracker->parseRss()); } //Traitement des résultats $oTable = new TableGenerator(); $oTable->setId(md5('Ingest')); $oTable->addColumn('Tags'); $oTable->addColumn('Tracker'); $oTable->addColumn('Release'); foreach ($aResults as $oResult) { if (is_string($oResult)) { Logger::log('ingest', $oResult); $this->oView->addAlert($oResult, 'danger'); } else { $oResult->store(); $sTags = ''; foreach ($oResult->getTags() as $oTag) { $oTagView = new View('label'); $oTagView->addData('type', 'info'); $oTagView->addData('text', $oTag->getName()); $oTagView->create(); $sTags .= $oTagView->getCode() . ' '; } $oTable->addLine(array($sTags, $aTrackers[$oResult->getTracker()]->getName(), $oResult->getReleaseName())); } } //Statistiques $iNewReleases = Release::getCount() - $iNbReleases; $iNewTorrents = Torrent::getCount() - $iNbTorrents; Stats::storeIngestStats($iNewReleases, $iNewTorrents, date("Y-m-j G:i:s", $iStartTime)); //Enregistrement de la dernière date de vérification Rss::updateLastCheck(date("Y-m-j G:i:s", $iStartTime)); Logger::log('ingest', $iNewReleases . ' nouvelles releases et ' . $iNewTorrents . ' nouveaux torrents.'); $oTable->setBottom($iNewReleases . ' nouvelles releases et ' . $iNewTorrents . ' nouveaux torrents.'); $oTable->create(); $this->oView->addData('content', $oTable->getCode()); $this->oView->Create(); }
if (count($item) == 1) { $email_details = Support::getEmailDetails(Email_Account::getAccountByEmail($item[0]), $item[0]); $tpl->assign(array('issue_summary' => $email_details['sup_subject'], 'issue_description' => $email_details['seb_body'])); // also auto pre-fill the customer contact text fields if (CRM::hasCustomerIntegration($prj_id)) { $sender_email = Mail_Helper::getEmailAddress($email_details['sup_from']); try { $contact = $crm->getContactByEmail($sender_email); $tpl->assign('contact_details', $contact->getDetails()); } catch (CRMException $e) { } } } } } $tpl->assign(array('cats' => Category::getAssocList($prj_id), 'priorities' => Priority::getAssocList($prj_id), 'severities' => Severity::getList($prj_id), 'users' => Project::getUserAssocList($prj_id, 'active', User::getRoleID('Customer')), 'releases' => Release::getAssocList($prj_id), 'custom_fields' => Custom_Field::getListByProject($prj_id, 'report_form'), 'max_attachment_size' => Attachment::getMaxAttachmentSize(), 'max_attachment_bytes' => Attachment::getMaxAttachmentSize(true), 'field_display_settings' => Project::getFieldDisplaySettings($prj_id), 'groups' => Group::getAssocList($prj_id), 'products' => Product::getList(false))); $prefs = Prefs::get($usr_id); $tpl->assign('user_prefs', $prefs); $tpl->assign('zones', Date_Helper::getTimezoneList()); if (Auth::getCurrentRole() == User::getRoleID('Customer')) { $crm = CRM::getInstance(Auth::getCurrentProject()); $customer_contact_id = User::getCustomerContactID($usr_id); $contact = $crm->getContact($customer_contact_id); $customer_id = Auth::getCurrentCustomerID(); $customer = $crm->getCustomer($customer_id); // TODOCRM: Pull contacts via ajax when user selects contract $tpl->assign(array('customer_id' => $customer_id, 'contact_id' => $customer_contact_id, 'customer' => $customer, 'contact' => $contact)); } $clone_iss_id = isset($_GET['clone_iss_id']) ? (int) $_GET['clone_iss_id'] : null; if ($clone_iss_id && Access::canCloneIssue($clone_iss_id, $usr_id)) { $tpl->assign(Issue::getCloneIssueTemplateVariables($clone_iss_id));
public function __construct($releaseData = null) { parent::__construct($releaseData); }
/** * Method used to bulk update a list of issues * * @return boolean */ public static function bulkUpdate() { // check if user performing this chance has the proper role if (Auth::getCurrentRole() < User::ROLE_MANAGER) { return -1; } $items = (array) $_POST['item']; $new_status_id = (int) $_POST['status']; $new_release_id = (int) $_POST['release']; $new_priority_id = (int) $_POST['priority']; $new_category_id = (int) $_POST['category']; foreach ($items as $issue_id) { $issue_id = (int) $issue_id; if (!self::canAccess($issue_id, Auth::getUserID())) { continue; } if (self::getProjectID($issue_id) != Auth::getCurrentProject()) { // make sure issue is not in another project continue; } $issue_details = self::getDetails($issue_id); $updated_fields = array(); // update assignment if (count(@$_POST['users']) > 0) { $users = (array) $_POST['users']; // get who this issue is currently assigned too $stmt = 'SELECT isu_usr_id, usr_full_name FROM {{%issue_user}}, {{%user}} WHERE isu_usr_id = usr_id AND isu_iss_id = ?'; try { $current_assignees = DB_Helper::getInstance()->getPair($stmt, array($issue_id)); } catch (DbException $e) { return -1; } foreach ($current_assignees as $usr_id => $usr_name) { if (!in_array($usr_id, $users)) { self::deleteUserAssociation($issue_id, $usr_id, false); } } $new_user_names = array(); $new_assignees = array(); foreach ($users as $usr_id) { $usr_id = (int) $usr_id; $new_user_names[$usr_id] = User::getFullName($usr_id); // check if the issue is already assigned to this person $stmt = 'SELECT COUNT(*) AS total FROM {{%issue_user}} WHERE isu_iss_id=? AND isu_usr_id=?'; $total = DB_Helper::getInstance()->getOne($stmt, array($issue_id, $usr_id)); if ($total > 0) { continue; } else { $new_assignees[] = $usr_id; // add the assignment self::addUserAssociation(Auth::getUserID(), $issue_id, $usr_id, false); Notification::subscribeUser(Auth::getUserID(), $issue_id, $usr_id, Notification::getAllActions()); } } $prj_id = Auth::getCurrentProject(); $usr_ids = self::getAssignedUserIDs($issue_id); Workflow::handleAssignmentChange($prj_id, $issue_id, Auth::getUserID(), $issue_details, $usr_ids, false); Notification::notifyNewAssignment($new_assignees, $issue_id); $updated_fields['Assignment'] = History::formatChanges(implode(', ', $current_assignees), implode(', ', $new_user_names)); } // update status if ($new_status_id) { $old_status_id = self::getStatusID($issue_id); $res = self::setStatus($issue_id, $new_status_id, false); if ($res == 1) { $updated_fields['Status'] = History::formatChanges(Status::getStatusTitle($old_status_id), Status::getStatusTitle($new_status_id)); } } // update release if ($new_release_id) { $old_release_id = self::getRelease($issue_id); $res = self::setRelease($issue_id, $new_release_id); if ($res == 1) { $updated_fields['Release'] = History::formatChanges(Release::getTitle($old_release_id), Release::getTitle($new_release_id)); } } // update priority if ($new_priority_id) { $old_priority_id = self::getPriority($issue_id); $res = self::setPriority($issue_id, $new_priority_id); if ($res == 1) { $updated_fields['Priority'] = History::formatChanges(Priority::getTitle($old_priority_id), Priority::getTitle($new_priority_id)); } } // update category if ($new_category_id) { $old_category_id = self::getCategory($issue_id); $res = self::setCategory($issue_id, $new_category_id); if ($res == 1) { $updated_fields['Category'] = History::formatChanges(Category::getTitle($old_category_id), Category::getTitle($new_category_id)); } } if (count($updated_fields) > 0) { // log the changes $changes = ''; $k = 0; foreach ($updated_fields as $key => $value) { if ($k > 0) { $changes .= '; '; } $changes .= "{$key}: {$value}"; $k++; } $usr_id = Auth::getUserID(); History::add($issue_id, $usr_id, 'issue_bulk_updated', 'Issue updated ({changes}) by {user}', array('changes' => $changes, 'user' => User::getFullName(Auth::getUserID()))); } // close if request if (isset($_REQUEST['closed_status']) && !empty($_REQUEST['closed_status'])) { self::close(Auth::getUserID(), $issue_id, true, 0, $_REQUEST['closed_status'], $_REQUEST['closed_message'], $_REQUEST['notification_list']); } } return true; }
public function __construct(Release $release, $forceDisplay = false) { $this->addComponent(new Anchor($release->getID())); $link = new Link(null, $release->getCompleteName()); $title = new Title($link); $title->setClass("title"); $this->addComponent($title); if ($release->isReleased() || $forceDisplay) { $this->setClass("released"); $link->setUrl(new Url()); $link->setOnClick("show('" . $release->getID() . "');return(false)"); $releaseContent = new SimpleBlockComponent(); $releaseContent->setID($release->getID()); $releaseContent->setClass("content"); $this->addComponent($releaseContent); $previewImage = null; if ($release->getPreviewUrl() !== null) { try { $pUrl = $release->getPreviewUrl()->toString(); $previewImage = new AutoFloatImage($pUrl); $previewImage->setClass("previewImage"); $description = getimagesize($pUrl); $width = $description[0]; if ($width < 150) { $previewImage->makeRightFloating(); } } catch (ErrorException $ex) { $previewImage = Debug::createWarningTag("Preview introuvable"); } } $releaseContent->addComponent($previewImage); $localizedName = new SimpleBlockComponent(); $localizedName->setClass("localizedName"); if ($release->getLocalizedTitle() !== null) { $localizedName->addComponent(new Title("Nom de l'épisode FR")); $localizedName->addComponent($release->getLocalizedTitle()); } $releaseContent->addComponent($localizedName); $originalName = new SimpleBlockComponent(); $originalName->setClass("originalName"); if ($release->getOriginalTitle() !== null) { $originalName->addComponent(new Title("Nom original")); $originalName->addComponent($release->getOriginalTitle()); } $releaseContent->addComponent($originalName); $synopsis = new SimpleBlockComponent(); $synopsis->setClass("synopsis"); if ($release->getSynopsis() !== null) { $synopsis->addComponent(new Title("Synopsis")); $synopsis->addComponent(Format::convertTextToHtml($release->getSynopsis())); } $releaseContent->addComponent($synopsis); $comment = new SimpleBlockComponent(); $comment->setClass("comment"); if ($release->getComment() !== null) { $comment->addComponent($release->getComment()); } $releaseContent->addComponent($comment); $staff = new SimpleBlockComponent(); $staff->setClass("staff"); $members = $release->getStaffMembers(); if (!empty($members)) { $staff->addComponent(new Title("Staff")); $strings = array(); foreach ($members as $member) { $string = $member->getPseudo(); $roles = $release->getAssignmentFor($member->getID())->getRoles(); if (!empty($roles)) { $strings2 = array(); foreach ($roles as $role) { $strings2[] = $role->getName(); } $string .= " : " . Format::arrayToString($strings2); } $strings[] = $string; } $staff->addComponent(format::arrayToString($strings, " | ")); } $releaseContent->addComponent($staff); if ($release->isLicensed()) { $this->fillWithLicenseData($releaseContent, $release); } else { $this->fillWithDownloadData($releaseContent, $release); } $releaseContent->addComponent(new Pin()); $url = new Url(); $vars = $url->getQueryVars(); if (!isset($vars['show']) || !(strcmp($vars['show'], "*") == 0 || preg_match("#(,|^)" . preg_quote($release->getID()) . "(,|\$)#", $vars['show']) > 0)) { $releaseContent->addComponent("<script type='text/javascript'>show('" . $release->getID() . "');</script>"); } } else { $this->setClass("notReleased"); $link->setUrl(new Url()); $link->addComponent(" - Non disponible"); } }
<?php include 'base.php'; User::protect(); include_class('releases'); include_class('m2'); include_class('release_tracks'); $r = Release::get($_GET['id']); $section = 'releases'; if ($_POST['submit'] && !db::isError($r)) { // add news entry $rt = $r->addTrack($_POST); if (!db::isError($rt)) { header('Location: release_track_edit.php?id=' . $rt->getID()); } } $editors = array('lyrics', 'meta_information'); $page_title = 'Add Track'; include 'layout/header.php'; if (!db::isError($r)) { ?> <div id="breadcrumb"> <a href="index.php">Audition ></a> <a href="releases.php">Releases ></a> <a href="release_edit.php?id=<?php echo $_GET['id']; ?> ">View/Edit Release ></a> Add Track </div>
* Portions created by SugarCRM are Copyright (C) SugarCRM, Inc. * All Rights Reserved. * Contributor(s): ______________________________________.. ********************************************************************************/ require_once 'XTemplate/xtpl.php'; require_once 'data/Tracker.php'; require_once 'modules/Bugs/Bug.php'; require_once 'modules/Bugs/Forms.php'; require_once 'modules/Releases/Release.php'; global $app_strings; global $mod_strings; global $mod_strings; global $current_user; global $sugar_version, $sugar_config; $focus = new Bug(); $seedRelease = new Release(); if (isset($_REQUEST['record'])) { $focus->retrieve($_REQUEST['record']); } if (isset($_REQUEST['isDuplicate']) && $_REQUEST['isDuplicate'] == 'true') { $focus->id = ""; $focus->bug_number = ""; } $prefillArray = array('priority' => 'priority', 'name' => 'name', 'description' => 'description', 'status' => 'status', 'type' => 'type'); foreach ($prefillArray as $requestKey => $focusVar) { if (isset($_REQUEST[$requestKey]) && is_null($focus->{$focusVar})) { $focus->{$focusVar} = urldecode($_REQUEST[$requestKey]); } } if (is_null($focus->status)) { $focus->status = $app_list_strings['bug_status_default_key'];
function new_get_field_list($value, $translate = true) { $module_fields = array(); $link_fields = array(); if (!empty($value->field_defs)) { foreach ($value->field_defs as $var) { if (isset($var['source']) && ($var['source'] != 'db' && $var['source'] != 'non-db' && $var['source'] != 'custom_fields') && $var['name'] != 'email1' && $var['name'] != 'email2' && (!isset($var['type']) || $var['type'] != 'relate')) { continue; } if ($var['source'] == 'non_db' && (isset($var['type']) && $var['type'] != 'link')) { continue; } $required = 0; $options_dom = array(); $options_ret = array(); // Apparently the only purpose of this check is to make sure we only return fields // when we've read a record. Otherwise this function is identical to get_module_field_list if (!empty($var['required'])) { $required = 1; } if (isset($var['options'])) { $options_dom = translate($var['options'], $value->module_dir); if (!is_array($options_dom)) { $options_dom = array(); } foreach ($options_dom as $key => $oneOption) { $options_ret[] = get_name_value($key, $oneOption); } } if (!empty($var['dbType']) && $var['type'] == 'bool') { $options_ret[] = get_name_value('type', $var['dbType']); } $entry = array(); $entry['name'] = $var['name']; $entry['type'] = $var['type']; if ($var['type'] == 'link') { $entry['relationship'] = isset($var['relationship']) ? $var['relationship'] : ''; $entry['module'] = isset($var['module']) ? $var['module'] : ''; $entry['bean_name'] = isset($var['bean_name']) ? $var['bean_name'] : ''; $link_fields[$var['name']] = $entry; } else { if ($translate) { $entry['label'] = isset($var['vname']) ? translate($var['vname'], $value->module_dir) : $var['name']; } else { $entry['label'] = isset($var['vname']) ? $var['vname'] : $var['name']; } $entry['required'] = $required; $entry['options'] = $options_ret; if (isset($var['default'])) { $entry['default_value'] = $var['default']; } $module_fields[$var['name']] = $entry; } // else } //foreach } //if if ($value->module_dir == 'Bugs') { $seedRelease = new Release(); $options = $seedRelease->get_releases(TRUE, "Active"); $options_ret = array(); foreach ($options as $name => $value) { $options_ret[] = array('name' => $name, 'value' => $value); } if (isset($module_fields['fixed_in_release'])) { $module_fields['fixed_in_release']['type'] = 'enum'; $module_fields['fixed_in_release']['options'] = $options_ret; } if (isset($module_fields['release'])) { $module_fields['release']['type'] = 'enum'; $module_fields['release']['options'] = $options_ret; } if (isset($module_fields['release_name'])) { $module_fields['release_name']['type'] = 'enum'; $module_fields['release_name']['options'] = $options_ret; } } if (isset($value->assigned_user_name) && isset($module_fields['assigned_user_id'])) { $module_fields['assigned_user_name'] = $module_fields['assigned_user_id']; $module_fields['assigned_user_name']['name'] = 'assigned_user_name'; } if (isset($module_fields['modified_user_id'])) { $module_fields['modified_by_name'] = $module_fields['modified_user_id']; $module_fields['modified_by_name']['name'] = 'modified_by_name'; } if (isset($module_fields['created_by'])) { $module_fields['created_by_name'] = $module_fields['created_by']; $module_fields['created_by_name']['name'] = 'created_by_name'; } return array('module_fields' => $module_fields, 'link_fields' => $link_fields); }
* SugarCRM" logo. If the display of the logo is not reasonably feasible for * technical reasons, the Appropriate Legal Notices must display the words * "Powered by SugarCRM". ********************************************************************************/ /********************************************************************************* * Description: ********************************************************************************/ $header_text = ''; global $mod_strings; global $app_list_strings; global $app_strings; global $current_user; if (!is_admin($GLOBALS['current_user']) && !is_admin_for_module($GLOBALS['current_user'], 'Bugs')) { sugar_die("Unauthorized access to administration."); } $focus = new Release(); echo get_module_title($mod_strings['LBL_MODULE_NAME'], $mod_strings['LBL_MODULE_TITLE'], true); $is_edit = false; if (!empty($_REQUEST['record'])) { $result = $focus->retrieve($_REQUEST['record']); if ($result == null) { sugar_die($app_strings['ERROR_NO_RECORD']); } $is_edit = true; } if (isset($_REQUEST['edit']) && $_REQUEST['edit'] == 'true') { $is_edit = true; //Only allow admins to enter this screen if (!is_admin($current_user) && !is_admin_for_module($GLOBALS['current_user'], 'Bugs')) { $GLOBALS['log']->error("Non-admin user ({$current_user->user_name}) attempted to enter the Releases edit screen"); session_destroy();
function release_get_by_id($id_rel) { $result = sql_do('SELECT id_rel,name_rel,date_rel,status,nb_projs,changes,download,valid_rel,id_branch,id_lic FROM ' . DB_PREF . '_releases WHERE id_rel=\'' . int($id_rel) . '\''); if ($result->numRows() != 1) { return 0; } $row = $result->fetchRow(); $rel = new Release(); $rel->set_id_rel($row[0]); $rel->set_name_rel($row[1]); $rel->set_date_rel($row[2]); $rel->set_status($row[3]); $rel->set_nb_projs($row[4]); $rel->set_changes($row[5]); $rel->set_download($row[6]); $rel->set_valid_rel($row[7]); $rel->set_id_branch($row[8]); $rel->set_id_lic($row[9]); return $rel; }
function get_field_list($value, $fields, $translate = true) { Log::info('Begin: SoapHelperWebServices->get_field_list'); $module_fields = array(); $link_fields = array(); if (!empty($value->field_defs)) { foreach ($value->field_defs as $var) { if (!empty($fields) && !in_array($var['name'], $fields)) { continue; } if (isset($var['source']) && ($var['source'] != 'db' && $var['source'] != 'non-db' && $var['source'] != 'custom_fields') && $var['name'] != 'email1' && $var['name'] != 'email2' && (!isset($var['type']) || $var['type'] != 'relate')) { continue; } if (isset($var['source']) && $var['source'] == 'non_db' && (isset($var['type']) && $var['type'] != 'link')) { continue; } $required = 0; $options_dom = array(); $options_ret = array(); // Apparently the only purpose of this check is to make sure we only return fields // when we've read a record. Otherwise this function is identical to get_module_field_list if (isset($var['required']) && ($var['required'] || $var['required'] == 'true')) { $required = 1; } if ($var['type'] == 'bool') { $var['options'] = 'checkbox_dom'; } if (isset($var['options'])) { $options_dom = translate($var['options'], $value->module_dir); if (!is_array($options_dom)) { $options_dom = array(); } foreach ($options_dom as $key => $oneOption) { $options_ret[$key] = $this->get_name_value($key, $oneOption); } } if (!empty($var['dbType']) && $var['type'] == 'bool') { $options_ret['type'] = $this->get_name_value('type', $var['dbType']); } $entry = array(); $entry['name'] = $var['name']; $entry['type'] = $var['type']; $entry['group'] = isset($var['group']) ? $var['group'] : ''; $entry['id_name'] = isset($var['id_name']) ? $var['id_name'] : ''; if ($var['type'] == 'link') { $entry['relationship'] = isset($var['relationship']) ? $var['relationship'] : ''; $entry['module'] = isset($var['module']) ? $var['module'] : ''; $entry['bean_name'] = isset($var['bean_name']) ? $var['bean_name'] : ''; $link_fields[$var['name']] = $entry; } else { if ($translate) { $entry['label'] = isset($var['vname']) ? translate($var['vname'], $value->module_dir) : $var['name']; } else { $entry['label'] = isset($var['vname']) ? $var['vname'] : $var['name']; } $entry['required'] = $required; $entry['options'] = $options_ret; $entry['related_module'] = isset($var['id_name']) && isset($var['module']) ? $var['module'] : ''; $entry['calculated'] = isset($var['calculated']) && $var['calculated'] ? true : false; if (isset($var['default'])) { $entry['default_value'] = $var['default']; } if ($var['type'] == 'parent' && isset($var['type_name'])) { $entry['type_name'] = $var['type_name']; } $module_fields[$var['name']] = $entry; } // else } //foreach } //if if ($value->module_dir == 'Meetings' || $value->module_dir == 'Calls') { if (isset($module_fields['duration_minutes']) && isset($GLOBALS['app_list_strings']['duration_intervals'])) { $options_dom = $GLOBALS['app_list_strings']['duration_intervals']; $options_ret = array(); foreach ($options_dom as $key => $oneOption) { $options_ret[$key] = $this->get_name_value($key, $oneOption); } $module_fields['duration_minutes']['options'] = $options_ret; } } if ($value->module_dir == 'Bugs') { require_once 'modules/Releases/Release.php'; $seedRelease = new Release(); $options = $seedRelease->get_releases(TRUE, "Active"); $options_ret = array(); foreach ($options as $name => $value) { $options_ret[] = array('name' => $name, 'value' => $value); } if (isset($module_fields['fixed_in_release'])) { $module_fields['fixed_in_release']['type'] = 'enum'; $module_fields['fixed_in_release']['options'] = $options_ret; } if (isset($module_fields['found_in_release'])) { $module_fields['found_in_release']['type'] = 'enum'; $module_fields['found_in_release']['options'] = $options_ret; } if (isset($module_fields['release'])) { $module_fields['release']['type'] = 'enum'; $module_fields['release']['options'] = $options_ret; } if (isset($module_fields['release_name'])) { $module_fields['release_name']['type'] = 'enum'; $module_fields['release_name']['options'] = $options_ret; } } if (isset($value->assigned_user_name) && isset($module_fields['assigned_user_id'])) { $module_fields['assigned_user_name'] = $module_fields['assigned_user_id']; $module_fields['assigned_user_name']['name'] = 'assigned_user_name'; } if (isset($value->assigned_name) && isset($module_fields['team_id'])) { $module_fields['team_name'] = $module_fields['team_id']; $module_fields['team_name']['name'] = 'team_name'; } if (isset($module_fields['modified_user_id'])) { $module_fields['modified_by_name'] = $module_fields['modified_user_id']; $module_fields['modified_by_name']['name'] = 'modified_by_name'; } if (isset($module_fields['created_by'])) { $module_fields['created_by_name'] = $module_fields['created_by']; $module_fields['created_by_name']['name'] = 'created_by_name'; } Log::info('End: SoapHelperWebServices->get_field_list'); return array('module_fields' => $module_fields, 'link_fields' => $link_fields); }
/** * Method used to remove a given set of projects from the system. * * @access public * @return boolean */ function remove() { global $HTTP_POST_VARS; $items = @implode(", ", Misc::escapeInteger($HTTP_POST_VARS["items"])); $stmt = "DELETE FROM\n " . APP_DEFAULT_DB . "." . APP_TABLE_PREFIX . "project\n WHERE\n prj_id IN ({$items})"; $res = $GLOBALS["db_api"]->dbh->query($stmt); if (PEAR::isError($res)) { Error_Handler::logError(array($res->getMessage(), $res->getDebugInfo()), __FILE__, __LINE__); return false; } else { Project::removeUserByProjects($HTTP_POST_VARS["items"]); Category::removeByProjects($HTTP_POST_VARS["items"]); Release::removeByProjects($HTTP_POST_VARS["items"]); Filter::removeByProjects($HTTP_POST_VARS["items"]); Email_Account::removeAccountByProjects($HTTP_POST_VARS["items"]); Issue::removeByProjects($HTTP_POST_VARS["items"]); Custom_Field::removeByProjects($HTTP_POST_VARS["items"]); $statuses = array_keys(Status::getAssocStatusList($HTTP_POST_VARS["items"])); foreach ($HTTP_POST_VARS["items"] as $prj_id) { Status::removeProjectAssociations($statuses, $prj_id); } Group::disassociateProjects($HTTP_POST_VARS["items"]); return true; } }
* (i) the "Powered by SugarCRM" logo and * (ii) the SugarCRM copyright notice * in the same form as they appear in the distribution. See full license for * requirements. * * The Original Code is: SugarCRM Open Source * The Initial Developer of the Original Code is SugarCRM, Inc. * Portions created by SugarCRM are Copyright (C) 2004-2006 SugarCRM, Inc.; * All Rights Reserved. * Contributor(s): ______________________________________. ********************************************************************************/ /********************************************************************************* * Description: ********************************************************************************/ require_once 'modules/Releases/Release.php'; $focus = new Release(); $focus->retrieve($_REQUEST['record']); foreach ($focus->column_fields as $field) { if (isset($_REQUEST[$field])) { $focus->{$field} = $_REQUEST[$field]; } } foreach ($focus->additional_column_fields as $field) { if (isset($_REQUEST[$field])) { $value = $_REQUEST[$field]; $focus->{$field} = $value; } } $focus->save(); $return_id = $focus->id; $edit = '';
function getReleaseDropDown() { static $releases = null; if (!$releases) { $seedRelease = new Release(); $releases = $seedRelease->get_releases(TRUE, "Active"); } return $releases; }