Index: trunk/system/application/models/pastes.php =================================================================== --- trunk/system/application/models/pastes.php (revision 1) +++ trunk/system/application/models/pastes.php (revision 2) @@ -156,14 +156,55 @@ $data['snipurl'] = false; } else - { - $target = 'http://snipr.com/site/snip?r=simple&link='.site_url('view/'.$data['pid']); + { + // this next blob just copied from snipr's examples, + // with some modifications of course + + // REQUIRED FIELDS + $sniplink = site_url('view/'.$data['pid']); + $snipuser = $this->config->item('snipr_user'); // YOUR USER ID REQUIRED + $snipapi = $this->config->item('snipr_apikey'); // FIND IN YOUR "SETTINGS" PAGE + + // OPTIONAL FIELDS + $snipnick = ''; // MEANINGFUL NICKNAME FOR SNIPURL + $sniptitle = $data['title']; // TITLE IF ANY + $snippk = ''; // PRIVATE KEY IF ANY + $snipowner = ''; // IF THE SNIP OWNER IS SOMEONE ELSE + $snipformat = 'simple'; // DEFAULT RESPONSE IS IN XML, SEND "simple" + // FOR JUST THE SNIPURL + $snipformat_includepk = ""; // SET TO "Y" IF YOU WANT THE PRIVATE KEY + // RETURNED IN THE SNIPURL ALONG WITH THE ALIAS + + //---------------------------------- + // NO NEED TO EDIT BEYOND THIS POINT + //---------------------------------- + $URL = 'http://snipr.com/site/getsnip'; + $sniplink = rawurlencode($sniplink); + $snipnick = rawurlencode($snipnick); + $sniptitle = rawurlencode($sniptitle); + + + $post_data = 'sniplink=' . $sniplink . '&' . + 'snipnick=' . $snipnick . '&' . + 'snipuser=' . $snipuser . '&' . + 'snipapi=' . $snipapi . '&' . + 'sniptitle=' . $sniptitle . '&' . + 'snipowner=' . $snipowner . '&' . + 'snipformat='. $snipformat. '&' . + 'snippk=' . $snippk + ; + + + $target = $this->config->item('snipr_link'); $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $target); + curl_setopt($ch, CURLOPT_POST, true); + curl_setopt($ch, CURLOPT_HEADER, 0); + curl_setopt($ch, CURLOPT_POSTFIELDS, $post_data); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); $data['snipurl'] = curl_exec($ch); - + curl_close($ch); if(empty($data['snipurl'])) @@ -189,6 +230,7 @@ function checkPaste($seg=2) { + if($this->uri->segment($seg) == "") { return false; Index: trunk/system/application/config/routes.php =================================================================== --- trunk/system/application/config/routes.php (revision 1) +++ trunk/system/application/config/routes.php (revision 2) @@ -46,6 +46,7 @@ $route['cron/:any'] = "main/cron"; $route['view/raw/:any'] = 'main/raw/'; +$route['view/download/:any'] = 'main/download/'; $route['view/options'] = 'main/view_options'; $route['view/:any'] = 'main/view'; $route['lists'] = 'main/lists'; Index: trunk/system/application/config/config.php =================================================================== --- trunk/system/application/config/config.php (revision 1) +++ trunk/system/application/config/config.php (revision 2) @@ -308,4 +308,16 @@ $config['rewrite_short_tags'] = FALSE; +/* +|-------------------------------------------------------------------------- +| Snipr Settings - Used for short URL +|-------------------------------------------------------------------------- +| +| Settings for Snipr API +| +*/ +$config['snipr_link'] = 'http://snipurl.com/site/getsnip'; +$config['snipr_user'] = ''; // snipr user name +$config['snipr_apikey'] = ''; + ?> \ No newline at end of file Index: trunk/system/application/views/view/download.php =================================================================== --- trunk/system/application/views/view/download.php (revision 1) +++ trunk/system/application/views/view/download.php (revision 2) @@ -1,6 +1,6 @@ \ No newline at end of file Index: trunk/system/libraries/URI.php =================================================================== --- trunk/system/libraries/URI.php (revision 1) +++ trunk/system/libraries/URI.php (revision 2) @@ -186,8 +186,15 @@ { if ($str != '' AND $this->config->item('permitted_uri_chars') != '') { - if ( ! preg_match("|^[".preg_quote($this->config->item('permitted_uri_chars'))."]+$|i", $str)) + $matches = array(); + $pattern = "|^[".preg_quote($this->config->item('permitted_uri_chars'))."]+$|i"; + if ( ! preg_match($pattern, $str, $matches)) { + echo '
*'.$str.'*
'; + echo 'allowed: '.$pattern.'
'; + var_dump($matches); + var_dump(debug_backtrace()); + echo '
'; exit('The URI you submitted has disallowed characters.'); } }